Bluetooth signal attenuation (dB) into distance (meters): equation and default values of the parameters

Can you provide the formula that translates the bluetooth signal attenuation (measured in dB) into distance (measured in meters)? In multiple cases, it is mentioned that a 73 dB attenuation corresponds to a distance of 8 meters, whereas 55 dB are translated into 1.5 meters, but i have not found the formula that you have used or at least a reference to a paper/textbook. So, please include the values of the receiver/transmitter gain used, the path loss exponent, the frequency (i guess 2.45 GHz), any shadowing effect etc.

Internal Tracking ID: EXPOSUREAPP-4449

Hey @vaggelisdouros ,
Thanks for the proposal to include this information. I have asked the developers to publish more details on the distance calculation in the docs. We will notify you when the updates have arrived.
Regards,
CH

Corona-Warn-App Open Source Team

Update
The translation of signal attenuation to distance is not described by an equation, i.e. there is no formula that directly calculates the distance from signal attenuation. Given examples of attentuation-distance pairs (such as 73 dB --> >8m) should be seen as guidance values. The attenuation ranges used by the app's calculation are based on empiric research that - as far as I understand - examined which attenuation intervals would indicate that devices are close enough for the transmission of the virus.

73dB is very far away

63-73 is far away
55-63 is mid-range
<55 is very close

I hope this answers your question. Since we cannot provide a formula in the docs, I will also close this issue.

Corona-Warn-App Open Source Team


Add support for .jslintrc

Could you guys add support for .jslintrc

Brackets does not ship JSHint by default. JSHint is an extension and it does support .jshintrc. To install it, go to File -> Extensions Manager and search for JSHint.

Sorry i meant .jslintrc

JSLint options/configuration is supported via preferences. There's a jslint.options preference which you could specify either per project (placing it in .brackets.json in the root of the project) or globally (global preferences file: Debug -> Open Preferences File).

Sounds Great
On 21-Jan-2015 5:21 pm, "busykai"<EMAIL_ADDRESS>wrote:

JSLint options/configuration is supported via preferences. There's a
jslint.options
https://github.com/adobe/brackets/wiki/How-to-Use-Brackets#list-of-supported-preferences
preference which you could specify either per project (placing it in
.brackets.json in the root of the project) or globally (global
preferences file: Debug -> Open Preferences File).
--
Reply to this email directly or view it on GitHub
https://github.com/adobe/brackets/issues/10420#issuecomment-70824453.

I added following in the .brackets.json file in the root of the opened folder(hope is same as project) it didn't work
"jslint.options": {
"globalstrict"  : true,     // true: Allow global "use strict" (also enables 'strict')
"browser"       : true,     // Web Browser (window, document, etc)
"predef"        : [
'angular',
'smartMerge'
]
}

@awebdeveloper JSON does not support comments, try removing those comments.

As suggested i removed comments and a few lines and tried this. But this thing also doesn't work  Finally i tried adding this globally and it works globally in brackets.json
"jslint.options": {        "predef"        : [         "smartMerge"     ] }

Try wrapping your preferences.
{
    "jslint.options": {
        "predef" : [ "smartMerge" ]
    }
}

facepalm

also do you know how to allow global use strict. I tried both "globalstrict" : true and "strict" : false

"use strict"; is a Part of JavaScript, there is not way to set it via jslint.options or via preferences.

i mean the error thrown for use strict i wish to disable it

{
    "jslint.options": {
        "sloppy": true
    }
}

@awebdeveloper


Run lm-eval for a large LLM that doesn't fit into GPU

Hi,
I have a relatively smaller GPU (RTX 3060 - 12 GB of VRAM). I want to evaluate a quantization technique on a fairly large model. I have the following workflow:

Load the model in CPU
Perform layer-wise post-training quantization - by moving each layer on GPU, performing quantization, and moving it back to CPU
Perform lm-eval

I can do steps 1 and 2, but am getting stuck at step 3. I can't fully move the entire model to GPU (even after quantization), since it's too big for the GPU. Ideally, I would use something like accelerate and max_memory to load the model on GPU as much as possible and then offload the remaining layers to CPU.
Is there an example of lm_eval for such a model with some layers on GPU and some on CPU?
Thanks!

I think the best way to do this would probably be to do your steps 1. and 2. outside the lm-eval main evaluator.simple_evaluate() loop, and then also load your model after it has been placed across GPU and CPU via passing the loaded HF PreTrainedModel into the HFLM class: https://github.com/EleutherAI/lm-evaluation-harness/blob/13014b2c060200eb47d7af157967f3577d7f00e7/lm_eval/models/gpt2.py#L41 , https://github.com/EleutherAI/lm-evaluation-harness/pull/601 .
For an example of how to load a model across CPU and GPU, we support this via the hf-causal-experimental type, by passing device_map and related keyword arguments to the instantiation of a Huggingface model.
These model keyword arguments are created here:
https://github.com/EleutherAI/lm-evaluation-harness/blob/13014b2c060200eb47d7af157967f3577d7f00e7/lm_eval/models/huggingface.py#L21

Hey @haileyschoelkopf,
Thanks, I figured out a way to do this.
Actually, there's a way to move an HF model from CPU to GPU without needing to store it on the disk and reload it.
You can load a model using usual AutoModelForCausalLM.from_pretrained by passing the model name and state dictionary and setting device_map="auto".
Thanks for the help!


BUG: All Bots Disappeared around 5:25PM PT.

starting at https://discord.com/channels/987730379182051408/1014209110637547610/1209313229352730664.

No bots available
@rootedbox: i reverted to an old version but seems to be doing the same thing
Bots started showing up again. Why did this happen and how do we avoid recurrence?

The available logs were not helpful to figure out what happened, potentially it was caused by the site slowdown which was fixed with this https://github.com/VolumeFi/paloma/issues/1295


New TranslateParser not exported?

I'm submitting a ...  (check one with "x")
[x] bug report => check the FAQ and search github for a similar issue or PR before submitting
[ ] support request => check the FAQ and search github for a similar issue before submitting
[ ] feature request

Current behavior
I'm not totally sure what's going on, since that looking at the code it would seem the just pushed TranslateParser / DefaultParser is indeed exported, I'm not able to import in my code.

As you can see, I'm able to see the new TranslateDirective, so I'm positive that I'm on v4.1.0.
Any ideas?

ng2-translate version: 4.1.0

Angular version: 2.2.1

Language: Typescript 2.0.10

Huh, it seems it is exported as just Parser and no (apparant) way to import DefaultParser.
Is that intentional? I'd like to extend DefaultParser to change templateMatcher regexp.

It's not intentional, I'll fix this ! Thanks for the report

Actually this is already fixed, waiting on the last changes in #332 before I release a new version

I will release a new version now, and I'll release a new one later with #336

Nice :-) And awesome that we'll be able to customize parser - That should solve my issue with wanting to use 'This is a { value }' message keys in templates :-)

Yes, it's available in 4.2.0


Is it possible to use same keybindings for neovim splits and tmux panes navigation

I want to use C-h,i,j,k to navigate between tmux panes, neovim splits and tmux <-> neovim, is this possible?

Just found that there's a problem with the "is_vim" check on macOS
is_vim="ps -o state= -o comm= -t '#{pane_tty}'
| grep -iqE '^[^TXZ ]+ +(\S+\/)?g?(view|l?n?vim?x?)(diff)?$'"
ps: /dev/tty#{pane_tty} and /dev/#{pane_tty}: No such file or directory

Looks like a tmux issue, I created several panes and opened Neovim, all #{pane_current_command}s are zsh, not nvim, not tmux.

It's a conflict from Fig, I uninstalled Fig, vim-tmux-navigator works goood.


Criteria Length

WHEN prompted for the length of the password
THEN I choose a length of at least 8 characters and no more than 128 characters

This is set by slider.


net/http: EOF returned from http.Transport

What version of Go are you using (go version)?

$ go version
go version go1.18.3 darwin/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mitr/Library/Caches/go-build"
GOENV="/Users/mitr/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/mitr/Go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mitr/Go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/mitr/Go/src/github.com/containers/image/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/tp/yfcwvlb55vx8lkv5gppb43cm0000gn/T/go-build3737075247=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Given a HTTP server that reads the request, but (cleanly) closes the connection without producing any response:
package main

import (
	"fmt"
	"log"
	"net"
	"net/http"
)

func server(ln net.Listener) {
	for {
		conn, err := ln.Accept()
		if err != nil {
			return
		}
		log.Printf("%v: Accepted", conn.RemoteAddr())
		var buf [4096]byte          // Hopefully enough for a full header
		n, err := conn.Read(buf[:]) // Completely read and ignore the header
		if err != nil {
			panic(err)
		}
		log.Printf("%v: Read %d", conn.RemoteAddr(), n)
		err = conn.Close()
		if err != nil {
			panic(err)
		}
		log.Printf("%v: Closed", conn.RemoteAddr())
	}
}

func main() {
	ln, err := net.Listen("tcp", "<IP_ADDRESS>:0")
	if err != nil {
		panic(err)
	}
	go server(ln)

	res, err := http.Get(fmt.Sprintf("http://%s/", ln.Addr().String()))
	fmt.Printf("res=%#v, err=%v (%#v)", res, err, err)
}

What did you expect to see?
An error saying something about an unexpectedly closed connection.
What did you see instead?
2022/06/21 02:28:30 <IP_ADDRESS>:64135: Accepted
2022/06/21 02:28:30 <IP_ADDRESS>:64135: Read 96
2022/06/21 02:28:30 <IP_ADDRESS>:64135: Closed
res=(*http.Response)(nil), err=Get "http://<IP_ADDRESS>:64134/": EOF (&url.Error{Op:"Get", URL:"http://<IP_ADDRESS>:64134/", Err:(*errors.errorString)(0xc000098060)})

i.e. the error is io.EOF, which seems inconsistent with the official definition of that value:

Functions should return EOF only to signal a graceful end of input. If the EOF occurs unexpectedly in a structured data stream, the appropriate error is either ErrUnexpectedEOF or some other error giving more detail.

Notes
I appreciate that this might not be possible to change due to the compatibility promise.
The immediate cause is https://github.com/golang/go/blob/3fcbfb07a82c5332e6b50cddba333af6e6e3e488/src/net/http/transport.go#L2092 ; if that returns io.EOF, it is wrapped in https://github.com/golang/go/blob/3fcbfb07a82c5332e6b50cddba333af6e6e3e488/src/net/http/transport.go#L2109 , but later only unwrapped to become raw io.EOF again, with no logic anywhere to turn it into an “this was unexpected” error.

that's not a raw EOF, it's a net/url.Error

At least using the http.Transport implementation directly (keeping the same server method) really returns an io.EOF:
func main() {
	ln, err := net.Listen("tcp", "<IP_ADDRESS>:0")
	if err != nil {
		panic(err)
	}
	go server(ln)

	req, err := http.NewRequest(http.MethodGet, fmt.Sprintf("http://%s/", ln.Addr().String()), nil)
	if err != nil {
		panic(err)
	}
	res, err := http.DefaultTransport.RoundTrip(req)
	fmt.Printf("res=%#v, err=%v (%#v) isEOF=%v\n", res, err, err, err == io.EOF)
}

prints
res=(*http.Response)(nil), err=EOF (&errors.errorString{s:"EOF"}) isEOF=true

To be specific, my primary concern is about the lack of a clear user-visible error message text. Right now error messages in in logs just say “EOF” with little to allow diagnosing the failure further: it doesn’t indicate the relevant component (client / server / proxy / hypothetically something else like a corrupt local (certificate?) file).
I can, of course, wrap the http.Do call with a check for net.url.Error{Err: io.EOF}, and replace the text, but … what’s a long-term reasonable replacement text? Hard-coding a knowledge about this particular code path might not be accurate if such an "EOF" string could possibly be returned by any other error path, and it is brittle WRT any future changes of the net/http implementation.
So I’d prefer receiving a more descriptive error message from the net/http client.

cc @neild

I just like to mention that I also struggle here.
My HTTP client is built like this:
`tr := http.DefaultTransport.(*http.Transport).Clone()
tr.ExpectContinueTimeout = 10 * time.Second
tr.DisableKeepAlives = true
tr.IdleConnTimeout = 10 * time.Second
client :=http.Client{
Timeout:   10 * time.Second,
Transport: tr,

}`
In a loop I create a new request and pass it to the client:
req, err := http.NewRequest("GET", u, nil) ... resp, err := c.client.Do(req)
Most of the time err is nil - which is expected behaviour because the URL is valid and a response will be delivered. I test this in parallel with my browser.
But in a few cases I get back an EOF error. Without any further information.
I spent already a few hours in debugging and the origin seems to be somwhere in
net/http/transport.go:(pc *persistConn) readLoop():
In there a transportReadFromServerError will be created with closeErr = http: persistConn.readLoop exiting and err= EOF.
It's very likely somehow related to the host. In parallel I do exactly the same with another (local go-) server and I don't get that issue.
I still have no idea what's wrong here. I guess I have to dig even more into it.
I just like to mention here that it would be really, really nice to get better error messages here, especially because the error chain doesn't pass a stack trace.

I'm also experiencing this issue even on local. It can happen when many connections are made.
var DefaultTransport = http.Transport{
	DisableCompression:    true,
	IdleConnTimeout:       4 * time.Second,
	ResponseHeaderTimeout: 1 * time.Second,
	MaxResponseHeaderBytes: 256,
	MaxIdleConns:           16,
}

The error message isn't very helpful because it's a plain "EOF". I read the server side log and it seems that the client closes the connection when this "EOF" happens.

Copying over from my issue which got marked as duplicate of this one:

I maintain a library that has a portion written in Go. Every once in a while, our users encounter issues caused by HTTP requests failing with just the message "EOF", for instance
{"time":"2024-10-09T11:33:30.483338864-04:00","level":"DEBUG","msg":"[ERR] POST ---URL--- request failed: Post "---URL---": EOF"}
The outer portion of this message ("[ERR] POST ... failed:") comes from the hashicorp/retryablehttp package. The inner portion is from net/http.
The message is unhelpful and does not help me narrow down the issue, other than that it's a protocol problem (which is also not at all obvious). Users who experience this tend to have unique network configurations, and failures are consistent but don't happen for all kinds HTTP requests made by the client (certain requests consistently work, and other requests consistently fail). Without more context, it's very hard to help users debug their configurations.
It would be massively helpful if net/http simply used fmt.Errorf("...: %w", err) in a few places. Likewise for x/net/http2 (I don't know how to tell which we're using).

It seems this issue has been open a long time. Are there any plans to fix this, or any way to contribute a fix? Also, is there any advice for how to debug this sort of problem?

To add to this, we have a user who partially fixed the EOF by using a build of the library downgraded to Go 1.22. We don't see anything in the Go release notes or the GODEBUG history that looks relevant (the SSL changes are suspicious, but I've seen them result in better error messages such as "tls: failed to parse certificate from server: x509: negative serial number"). If it's a regression in the Go standard library, then without a useful error message, I can't file a useful bug report.

@timoffex

any way to contribute a fix?

Patches are certainly welcome.  See https://go.dev/doc/contribute.  Thanks.

is there any advice for how to debug this sort of problem?

The first post in this issue points to some code that may be at fault.

Did a little bit of digging through the source. Like @mtrmac identified, it looks like the error comes from the 1-byte Peek() in readLoop(). In fact, it doesn't look like readLoop() can return an io.EOF directly at all, and transportReadFromServerError is the only error it returns that could wrap an io.EOF.
persistConn.readLoop() is invoked from persistConn.roundTrip(). This maps the readLoop() error, but it does not unwrap it and also cannot return an io.EOF to the caller. Instead, the unwrapping happens in Transport.roundTrip(): https://github.com/golang/go/blob/c93477b5e563dd0ed7b45fd519762f24b7cfa7b0/src/net/http/transport.go#L716-L732
which references https://github.com/golang/go/issues/16465. It appears that the code unwrapping transportReadFromServerError was added in https://github.com/golang/go/commit/ea2376fcea0be75c856ebd199c0ad0f98192d406 due to https://github.com/golang/go/issues/16465. The related issue https://github.com/golang/go/issues/13667 has a repro for the problem: a server that accepts all TCP connections and immediately closes them will result in io.EOF.

Why would this start happening for a user who upgraded from a version of our library compiled with Go 1.22 to one with Go 1.23? The TLS changes in the 1.22->1.23 version bump seem suspect. One more clue is that one particular user only sees io.EOF errors when they don't use an HTTP proxy. Our library connects to a server program that has a different release schedule, and it's possible the user is still running a server compiled with Go 1.22.

Another path to explore is whether any net.Conn instance could return an io.EOF for any reason other than the remote server closing the connection.

Leaving these notes here in case it helps others debug this error. Unfortunately, wrapping the EOF may be impossible due to backward compatibility requirements. But if it only has a single meaning (an unexpectedly closed connection), this meaning could perhaps be documented on Transport.RoundTrip, along with debugging advice.

Another way for an EOF to manifest is described here: https://github.com/golang/go/commit/5dd372bd1e70949a432d9b7b8b021d13abf584d1

If we try to reuse a connection that the server is in the process of
closing, we may end up successfully writing out our request (or a
portion of our request) only to find a connection error when we try to
read from (or finish writing to) the socket. This manifests as an EOF
returned from the Transport's RoundTrip.

Our requests are not idempotent (we use POST), but we retry EOF errors and see more EOFs, so it's unlikely to be a connection reuse-related race.


Expression Tree from postfix and prefix expression

Is your feature request related to a problem? Please describe.
I would like to add code for getting expression Tree from postfix and prefix expression
Describe the solution you'd like
I will stack, tree traversal etc.
Describe alternatives you've considered
Code is completely written by me
Additional context
Add any other context or screenshots about the feature request here.

Okay @shinchancode , you can add


Fixed bug where mercs are removed by star ports

Description
Bug #354 was causing the player to lose their mercenaries when they went through a star port. This was because the setSolShip method didn't check for transcendence before creating a new mercenary list. This PR adds a check to ensure that the hero can transcend space and time with impunity :)
Testing
Hire some mercenaries, go through a star port, then check the mercenaries tab. The mercenaries that were hired should still be there.

Can one of the admins please verify this patch?

@GooeyHub add to whitelist

Hooray Jenkins reported success with all tests good!

Fixes #354


Laravel 11 support

Very excited to share that Twill 3 has been successfully tested with Laravel 11! Read about Laravel 11 on Laravel News.
We will need these PRs on our dependencies to be merged and released:

https://github.com/Astrotomic/laravel-translatable/pull/387
https://github.com/lazychaser/laravel-nestedset/pull/594
https://github.com/cartalyst/tags/pull/47
https://github.com/spatie/laravel-activitylog/pull/1276
https://github.com/spatie/laravel-analytics/pull/514

This PR can be tested using the following Composer configuration:
"repositories": [
    {
        "type": "vcs",
        "url": "git@github.com:area17/laravel-translatable.git"
    },
    {
        "type": "vcs",
        "url": "git@github.com:area17/laravel-nestedset.git"
    },
    {
        "type": "vcs",
        "url": "git@github.com:ifox/tags.git"
    },
    {
        "type": "vcs",
        "url": "git@github.com:StevePorter92/laravel-activitylog.git"
    }
],
"require": {
    "php": "^8.2",
    "area17/twill": "dev-laravel-11-support",
    "laravel/framework": "^11.0",
    "laravel/tinker": "^2.9"
},

The main change in Laravel 11 is the streamlined skeleton. When creating a fresh Laravel 11 application, your repository will contains 69 less files than it would on Laravel 10! Read more about this on Laravel News.
I'm personally very excited by the new config directory behavior, which matches the behavior of Twill's configuration file, where you only need to override what you need, and everything else just inherits from the provided defaults.
It looks so good!
app
├── Http
│   ├── Controllers
│   │   └── Twill
│   └── Requests
│       └── Twill
├── Models
├── Providers
│   └── AppServiceProvider.php
├── Repositories
└── View
    └── Components
        └── Twill

bootstrap
├── cache
├── app.php
└── providers.php

config
├── translatable.php
└── twill.php

routes
├── console.php
├── twill.php
└── web.php

https://github.com/Astrotomic/laravel-translatable/pull/391
https://github.com/lazychaser/laravel-nestedset/pull/596 - not yet tagged
https://github.com/cartalyst/tags/commit/df34ce8093d83918777d8409fbdecf7de05c7b28 - released in v14

I have problems installing this for laravel 11:
my composer.json
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/area17/twill.git",
            "canonical": false
        },
        {
            "type": "vcs",
            "url": "git@github.com:area17/laravel-translatable.git",
            "canonical": false
        },
        {
            "type": "vcs",
            "url": "git@github.com:area17/laravel-nestedset.git",
            "canonical": false
        },
        {
            "type": "vcs",
            "url": "git@github.com:ifox/tags.git",
            "canonical": false
        },
        {
            "type": "vcs",
            "url": "git@github.com:StevePorter92/laravel-activitylog.git",
            "canonical": false
        }
    ],
    "require": {
        "php": "^8.2.0",
        "area17/twill": "dev-laravel-11-support",
        "barryvdh/laravel-dompdf": "^2.0",
        "guzzlehttp/guzzle": "^7.2",
        "inertiajs/inertia-laravel": "^1.0",
        "mongodb/laravel-mongodb": "^4.1.1",
        "laravel-notification-channels/microsoft-teams": "^1.1",
        "laravel/framework": "^11.0",
        "laravel/jetstream": "^5.0",
        "laravel/sanctum": "^4.0",
        "laravel/tinker": "^2.9",
        "orangehill/iseed": "^3.0",
        "spatie/laravel-googletagmanager": "^2.6",
        "spatie/laravel-permission": "^6.0",
        "tightenco/ziggy": "^1.0"
    },

And get the following error
Problem 1
- Root composer.json requires laravel/framework ^11.0 -> satisfiable by laravel/framework[v11.0.0, ..., v11.3.0].
- area17/twill dev-laravel-11-support requires astrotomic/laravel-translatable ^v11.12 || dev-laravel-11-support -> satisfiable by astrotomic/laravel-translatable[v11.12.0, v11.12.1].
- Conclusion: don't install astrotomic/laravel-translatable v11.12.1 (conflict analysis result)
- Root composer.json requires area17/twill dev-laravel-11-support -> satisfiable by area17/twill[dev-laravel-11-support].
Note:
I had to add the canonical: false, because otherwise it didn't want to install because there was a "higher priority" package available.

@ifox @kfina-planxy, it looks like the remaining packages have been updated 🥳
https://github.com/Astrotomic/laravel-translatable/releases/tag/v11.13.0


IG Mobile Menu doesn't work

If you reduce the width of the IG page, a mobile menu appears on the right-hand side, but when you click on it, nothing happens.

Closing. That's up to the IG Publisher


Unable to ping vehicle

My key is delivered and comfirmed on the display but it can not proceed because it fails to ping the car.
[22:31:12] WARNING: KEY DELIVERED; IN YOUR CAR, CHECK THE CAR's CENTRAL SCREEN AND ACCEPT THE KEY USING YOUR NFC CARD
[22:31:12] INFO: acceptKeyConfirmationLoop; check if key was accepted by sending a ping command vin:LRW3E7FA0MC37xxxx
[22:31:12] NOTICE: Attempt 1/5 sending Ping vehicule to vin:LRW3E7FA0MC37xxxx command:ping
[22:31:14] ERROR: tesla-control send command:ping to vin:LRW3E7FA0MC37xxxx failed exit status 1.
[22:31:14] ERROR: teslaCtrlSendCommand; Error: vehicle rejected request: your public key has not been paired with the vehicle
[22:31:14] NOTICE: teslaCtrlSendCommand; Retrying in 5 seconds
[22:31:19] NOTICE: Attempt 2/5 sending Ping vehicule to vin:LRW3E7FA0MC37xxxx command:ping
[22:31:20] ERROR: tesla-control send command:ping to vin:LRW3E7FA0MC37xxxx failed exit status 1.
[22:31:20] ERROR: teslaCtrlSendCommand; Error: vehicle rejected request: your public key has not been paired with the vehicle
[22:31:20] NOTICE: teslaCtrlSendCommand; Retrying in 5 seconds
[22:31:25] NOTICE: Attempt 3/5 sending Ping vehicule to vin:LRW3E7FA0MC37xxxx command:ping
[22:31:31] ERROR: tesla-control send command:ping to vin:LRW3E7FA0MC37xxxx failed exit status 1.
[22:31:31] ERROR: teslaCtrlSendCommand; Error: vehicle rejected request: your public key has not been paired with the vehicle
[22:31:31] NOTICE: teslaCtrlSendCommand; Retrying in 5 seconds
[22:31:36] NOTICE: Attempt 4/5 sending Ping vehicule to vin:LRW3E7FA0MC37xxxx command:ping
[22:31:38] ERROR: tesla-control send command:ping to vin:LRW3E7FA0MC37xxxx failed exit status 1.
[22:31:38] ERROR: teslaCtrlSendCommand; Error: vehicle rejected request: your public key has not been paired with the vehicle
[22:31:38] NOTICE: teslaCtrlSendCommand; Retrying in 5 seconds
[22:31:44] NOTICE: Attempt 5/5 sending Ping vehicule to vin:LRW3E7FA0MC37xxxx command:ping
[22:32:04] ERROR: tesla-control send command:ping to vin:LRW3E7FA0MC37xxxx failed exit status 1.
[22:32:04] ERROR: teslaCtrlSendCommand; Error: context deadline exceeded
[22:32:04] NOTICE: acceptKeyConfirmationLoop; sleeping 5 seconds before retrying key vin:LRW3E7FA0MC37xxxx
Can someone please help me?
I am using a RP 4

RP was to far away from the car.
The RP was moved closer to the car and now it works


[Question] There is a WebHook tab in developer.ringcentral.com app settings page

There is a WebHook tab in developer.ringcentral.com app settings page.
You can configure WebHook there and a WebHook could be auto created for you after you click the "add to Glip" button.
Question is:  What are the differences between this project and the WebHook tab in developer.ringcentral.com?
One advantage of this project is: I can create the WebHook afterwards at any time which is flexible. Any other advantages?

Good question. The WebHook tab in the Developer Portal (https://developer.ringcentral.com) is good when you want to add a private bot to your own company's account.
This provides additional functionality when developing a public bot where you want to create webhook subscriptions to other accounts for testing purposes, for example building a bot on a free developer account and then having it access your corporate account. Of course, for a public bot, you will eventually want the webhooks to be auto-created by your bot but this can be used during development.


Raster tile support

Adds support for raster tile rendering, with addition of new data source and built-in styles:

Raster data source type

Requires a url tile template, in the same manner as other tiled sources.
Optionally allows the GL texture filtering mode to be set, with the same allowed values (mipmap, linear, nearest) as for other texture definitions in the scene file. Default is mipmap for power-of-2 images, and linear for non-power-of-2 images (raster tiles are generally power-of-2, though other sizes would be scaled to fit the tile square). Setting filtering: nearest allows for the raster tiles to be pixelated when scaled past their max_zoom.
Optionally defines a max_zoom beyond which tiles are over-zoomed. As with other data sources, defaults to 18.
Implementation-wise, the raster source simply synthesizes a single quad geometry covering the entire tile area, and accompanying texture UVs from [0, 1].
Example:

sources:
    stamen-terrain:
        type: Raster
        url: http://a.tile.stamen.com/terrain-background/{z}/{x}/{y}.jpg

raster built-in rendering style

Raster data sources must be added to a layer and draw group before they are rendered. This is done with the raster style.
order determines the layer order as with other styles.
color defaults to white and any other value set by the draw group will tint the raster texture. For example, setting color: [0.5, 0.5, 0.5] will darken the underlying tiles by 50%.
Implementation-wise, the raster style is simply a textured polygon, that automatically samples from the provided raster source for that tile.
Example:

layers:
    terrain:
        data: { source: stamen-terrain }
        draw:
            raster:
                order: 0 # draw on bottom
                color: [0.5, 0.5, 0.5] # darken by 50%

Custom raster styles can be defined in styles with base: raster.

The raster style is derived from the polygons rendering style, and provides the same shader blocks.
Raster-specific uniforms are defined for:

u_raster_texture: texture sampler (sampler2D) for that tile's texture
u_raster_texture_size: vec2 of width/height pixel dimensions of the raster texture
u_raster_texture_pixel_size: vec2 of UV size of a single pixel in the raster texture, e.g. inverse of width/height or 1/256 for a 256x256 image, for sampling nearby pixels

Example style that converts raster tiles to greyscale:

 greyscale:
     base: raster
     shaders:
         blocks:
             filter: |
                 float luma = dot(color.rgb, vec3(0.299, 0.587, 0.114));
                 color.rgb = vec3(luma);

That example could itself be extended to apply a colorize effect, in this case yellow:

 colorize:
     mix: greyscale
     shaders:
         uniforms:
             colorize: [0.9, 0.9, 0.2] # yellow
         blocks:
             filter: |
                 color.rgb *= colorize;

@blair1618 can you look this over, especially as regards uniform naming?

:raised_hands:

So u_raster_texture_pixel_size is just vec2(1.0) / u_raster_texture_size? Is there a lot of value in having a dedicated uniform value for that? If we keep it we may want to name it something else, it could be mistaken for the size of the raster image in pixels.

I figured it was worth putting the single-pixel UV increment in as a uniform because you need it if you are going to do anything interesting with sampling, and why have to compute it for every pixel. But maybe I am overly cautious on fragment shader performance.
I agree the name could be confusing though, suggested alternatives?

See #282 instead.


Updated Active Record support docs

Fixes #7472.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c1f90cb74a1405d7c00d972b49084e784a0e1ad3/
Edited pages:

v19.2/build-a-ruby-app-with-cockroachdb-activerecord.md
v19.2/install-client-drivers.md
v20.1/build-a-ruby-app-with-cockroachdb-activerecord.md
v20.1/install-client-drivers.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e2c55b70355239d8bbdfaddf09b07c0ed6501a5c/
Edited pages:

v19.2/build-a-ruby-app-with-cockroachdb-activerecord.md
v19.2/install-client-drivers.md
v20.1/build-a-ruby-app-with-cockroachdb-activerecord.md
v20.1/install-client-drivers.md

@ericharmeling Just checked with Rafi, but the new adapter requires CRDB v20.1 due to savepoint support. We should highlight this on the tooling summary page.

Perhaps we could say that there's beta support for 19.2 with the new adapter?
I believe it should work in general, it's just that we haven't run the full test suite against it because the tests themselves make heavy use of savepoints.

@vy-ton
I made the updates you requested. See the changes in the latest commit.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/d1a49910a43f879c85c90fb08bc6506f9ce94c39/
Edited pages:

v19.2/build-a-ruby-app-with-cockroachdb-activerecord.md
v19.2/install-client-drivers.md
v20.1/build-a-ruby-app-with-cockroachdb-activerecord.md
v20.1/install-client-drivers.md

LGTM!


Clarify purpose of symmetry_axis argument

See issue #285

Do you want me to stash the three commits into one?

Do you want me to stash the three commits into one?

Sounds good. I think that this is ready for merging once @MikhailRyazanov or @stggh has a moment to review and approve.

@leon-vv, can you fix the capitalization and then we can merge?

Yes sure, I'm not at home at the moment but will do it soon. Feel free to go ahead and do it yourself
-------- Original Message --------
On Apr 28, 2020, 19:49, Danhickstein wrote:

@leon-vv, can you fix the capitalization and then we can merge?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

All done

Great! Thanks for fixing this @leon-vv!!


accessing process.env freshly in bundled code

Do you want to request a feature or report a bug?
feature
What is the current behavior?
currently process.env.VARS would be replaced the defined values in webpack.config.js, and remains fixed value after code being bundled, not possible to access process.env.VARS when running the bundled code.
What is the expected behavior?
bundled code still being able to access values set in process.env
If this is a feature request, what is motivation or use case for changing the behavior?
e.g. if I use webpack to bundle a node server code or an npm package code, where there're features that rely on dynamically set ENV_VARS, then this wouldn't work after code being bundled with webpack.
Please mention other relevant information such as the browser version, Node.js version, webpack version, and Operating System.
node: carbon
webpack: latest
OS: Mac OS

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

e.g. if I use webpack to bundle a node server code or an npm package code, where there're features that rely on dynamically set ENV_VARS, then this wouldn't work after code being bundled with webpack.

Are you using DefinePlugin to transform your process.env.VARS? IMO, if you've transform some identifiers to constants, it doesn't make sense to continued mutating it. Or you could make a default values (like polyfills) in your code instead of using DefinePlugin.

hi @ooflorent , thanks for following up quickly.
I've made a mini-repo to show the behaviour (https://github.com/zhenyulin/webpack-process-env)

@zhenyulin Just change it to:
new webpack.DefinePlugin({
-    'process.env': {
-        NODE_ENV: JSON.stringify('production'),
-    },
+    'process.env.NODE_ENV': JSON.stringify('production'),
}),

And also noticed that you are using webpack@4. This is no longer necessary to set process.env.NODE_ENV manually. You should set mode to development  or production to  Instead of it.

seems to be an change in the DefinePlugin configs, when used the previous hierarchical configuration it wouldn't throw errors. remove or flatten this part did achieve the expected behaviour. 🎉

I have further updated the repo
@mc-zone
this config wouldn't set process.env.ENV_VAR_BAR to bar, while the original hierarchical setup works.
new webpack.DefinePlugin({
    'process.env.ENV_VAR_BAR': JSON.stringify('bar'),
}),

Here's the current behaviour in the repo, and there seems to be some conflicts when partially set some ENV_VAR values in webpack.DefinePlugin:
If no values are set for process.env in webpack.DefinePlugin(comment out the section) then ENV_VAR_FOO got picks up correctly; if any value was set for process.env, e.g. set value to ENV_VAR_BAR but not ENV_VAR_FOO, ENV_VARS not set wouldn't pickup process.env correctly.

I've been wondering for quite a while, why webpack insists by design/default of compiling in the process.env variables at all. It seems rather counter intuitive of what the process.env object stands for and is a pitfall to many if not all newbies. Additionally it's not even 12factor compatible (https://12factor.net/config) which is the basis for modern development paradigms (i.e. microservice architecture).
Is there some technical reason behind it that it can't be the default to just pass process.env always from the environment? Is this a design decision? If so, why?
I'd be happy to have a deeper understanding of this, so could any core dev member please explain it? (Of if it already has been explained before, please point me to the documentation).

I would also like to throw in that I find this behavior very frustrating for node.js apps. We have an existing app where we change configurations by modifying the environment and restarting the process. We wanted to move to Webpack for a handful of reasons but we can't if Webpack insists on replacing all instances of process.env.VAR_NAME with a string literal. Please provide a configuration to disable this behavior.
This code compiles but fails at runtime:
process.env.VAR = PROCESS.env.VAR || "default";

transpiles to either of the following depending if the var is set:
"default" = "default" || false;

"value" = "value" || "default";

An update from me for getting Webpack to pack node server code, I'm currently using webpack-dotenv-plugin, which is essentially a wrapper around DefinePlugin, and I'm only using this for dev and excluding it for PROD bundle build, and without it the bundle code would just pick up ENV_VAR from process.

For anyone looking for a solution.
None of the above comments solved this issue for me. But I found this example that worked on SO:
// avoid cunning webpack replacement of process.env code
let process_env = {}
for (var a of ['env']) {
  process_env = process[a]
}
console.log(process.env.HOME) // this gives undefined
console.log(process_env.HOME) // this works

https://stackoverflow.com/a/49896877/588950
Credit goes to David Fraser


Double log cmake option

Adds option to disable double logging in cmake.

SonarQube analysis reported 1 issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AncientFungus:LGEPR: Cppcheck cannot find all the include files (use --check-config for details)

iamheman

iamheman


Identity Server 4 - Password Policy

I want to implement use password functionality where user should not be able to use last 5 used password. I am try to customize and store hash password in DB. PasswordHasher.HashPassword returns hash password. But when I run PasswordHasher.VerifyHashedPassword it fails. Present hash password and hash password stored in DB are different values. They never match. I am definitely missing something but not sure how to fix it.

StackOverflow is a more appropriate place for your question.
If you or your company need commercial support, please see here for more information.
Thanks!


E5108: lua/lspsaga/codeaction/lightbulb.lua:87 &

Describe the bug
This started happening today after upgrading. Unsure if it's something todo with my config but I have not made changes to it for a while.
Thanks in advance.
Error detected while processing LspAttach Autocommands for "*":
E5108: Error executing lua vim/_editor.lua:0: LspAttach Autocommands for "*"..script nvim_exec2() called at LspAttach Autocommands for "*":0: Vim(echomsg):E114: Missing quote: "Er
ror in packer_compiled: ...m/site/pack/packer/start/packer.nvim/lua/packer/load.lua:118: LspAttach Autocommands for \"*\"..LspAttach Autocommands for \"*\": Vim(append):Error exec
uting lua callback: ...er/opt/lspsaga.nvim/lua/lspsaga/codeaction/lightbulb.lua:87: attempt to index field 'data' (a nil value)
stack traceback:
        [C]: in function 'nvim_exec2'
        vim/_editor.lua: in function 'cmd'
        ...m/site/pack/packer/start/packer.nvim/lua/packer/load.lua:179: in function <...m/site/pack/packer/start/packer.nvim/lua/packer/load.lua:175>
        [string ":lua"]:1: in main chunk
        [C]: in function 'nvim_exec_autocmds'
        ...w/Cellar/neovim/0.9.1/share/nvim/runtime/lua/vim/lsp.lua:1531: in function '_on_attach'
        ...w/Cellar/neovim/0.9.1/share/nvim/runtime/lua/vim/lsp.lua:1358: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>

Steps to reproduce
I don't have sorry
Expected behavior
No error
Neovim version (nvim -v)
NVIM v0.9.1
lspsaga commit
latest
Terminal name/version
latest wezterm

packer bug . if you are using packer please don't use event= LspAttach packer should pass data to nvim_exec_autocmds use after = nvim-lspconfig to lazylaod


Crash on load when sing HARD recipes

Issue Description:
When the config is set to use hard recipes ie:
# How expensive should the crafting recipes be? -1=don't register any crafting/smelting recipes, 0=cheapest, 1=cheaper, 2=normal, 3=expensive
I:recipeLevel=3

The game crashes on load:
What happens:
java.lang.RuntimeException: Recipes config file recipe_materials.xml is invalid: Could not find a crafting ingredient for 'CHASIS_METAL' (stack=null, object=null) in recipe 'Gear'
at crazypants.enderio.CommonProxy.init(CommonProxy.java:94)
at crazypants.enderio.ClientProxy.init(ClientProxy.java:258)
at crazypants.enderio.EnderIO.load(EnderIO.java:441)
What you expected to happen:
No crashing...
Steps to reproduce:

Define recipe level to 3

...

Affected Versions (Do not use "latest"):

EnderIO: <IP_ADDRESS>alpha

EnderCore: <IP_ADDRESS>-alpha
crash-2016-06-20_17.38.52-client.txt

Minecraft: 1.9.4

Forge: 1968

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]

thx, will be fixed in next build


[BUG] Unexpected Rounding Behavior During fsqrt.d Execution

Bug Description
In some rounding mode, precision errors occur when calculating fsqrt.d.  And the results differ from those of Spike.
Testing has shown that RDN, RUP, RMM and DYN all experience rounding errors.
How to reproduce and the logs are as follows:
Example:
Initialize fa7 with 0x402e000000000000 and execute fsqrt.d ft10, fa7.
Under RDN, DYN Mode:
Spike results are: ft10 = 0x400efbdeb14f4eda
CVA6 results are: ft10 = 0x400efbdeb14f4ed9
Under RUP , RMM Mode:
Spike results are: ft10 = 0x400efbdeb14f4ed9
CVA6 results are: ft10 = 0x400efbdeb14f4eda
Moreover:
The vulnerability of the rounding mode mentioned above also occurs in the fdiv instruction.
Example:
When executing the instruction fdiv.d fs9, fs10, fa4 with the following register values:
fs10 = 0x41ddc16575c00000
fa4  = 0x41e0000c09000000

The results differ between CVA6 and Spike simulator as follows:
Round Toward Zero (RTZ) Mode:
CVA6 Result: 0x3fedc14f1407f47f
Spike Result: 0x3fedc14f1407f47e (correct value as verified)
Round Up (RUP), Round to Nearest, Tie to Max Magnitude (RMM), and Dynamic (DYN) Rounding Modes:
CVA6 Result: 0x3fedc14f1407f47e
Spike Result: 0x3fedc14f1407f47f
See: https://github.com/openhwgroup/cva6/issues/2057

Same answer then #110

Please see the answer in https://github.com/openhwgroup/cvfpu/issues/111.


Field values don't account for markdown line-wrapping rules

Describe the bug
When a field has a value that wraps over multiple lines (according to the markdown rules about line breaks), the additional lines that join to it in rendered view are not kept as part of the field.
To Reproduce
Steps to reproduce the behavior:

Create a note with the following contents (please note the explicit white spaces at the end of the **Test**:: line.

**Test**:: Value
**Type**:: Foo,
bar

Query these properties, and view the value for the Type property. It will only contain "-Foo".
Open preview view on that note and enable "Strict line breaks" in the Obsidian Editor preferences. You will see that it displays as a coherent line.

Expected behavior
By the markdown spec (enabled by "Strict Line Breaks" in Obsidian), the line **Type**:: ... should display as "Type:: Foo, bar". I would expect querying the corresponding dataview field to respect the same convention, as otherwise data isn't properly available when querying.
Desktop:

OS: macOS 12.0.1
Obsidian Version: 0.12.19
Dataview Version: 0.4.20

Smartphone (please complete the following information):

Device: iPhone 13 Pro Max
OS: iOS 15.1
Obsidian Version: 1.0.5
Dataview Version: 0.4.20

Similarly, [] fields do not either, though I would not necessarily expect these to do so (as they are like any other structured markdown construct).

Properly parsing this requires a full markdown parser with some special edge case handling, to handle cases like
Field:: Value,
Field2:: Value

or
Field:: Value.
- Am I in the field?
Field2::
- Now am I a list?

Improved behavior is coming, though it's a big step up from the simple line-based parsing I've been doing thus far.

Definitely. Could you not depend on parsing the rendered source instead? That way your check becomes far simpler as you're just looking for a line beginning with a certain style of token. That, and you're consistent with how Obsidian deals with markdown. Am I missing something that makes that approach a non-starter?
That aside, you potentially could go with something like remark and add a specific parser plugin for your field syntax. I've done that before when working with prettier to add support for not breaking [[wiki-link]] syntax and while it's not trivial it also means much of the work has been done for you. Maybe this is helpful in that regard.

Dataview does markdown field parsing before the render stage, so I don't have access to rendered Markdown objects; also, parsing through HTML is a nightmare of it's own sort since it becomes way harder to parse things like bolds (**a** becomes <b>a</b>).
Using an actual markdown parser is a good idea - I'll need to investigate if I can replicate existing semantics using a parser.

The only issue with using an actual markdown parser is that some of them don't handle Obsidian's default behaviour (no strict line breaks) by default, so you may also be on the hook for custom logic with regards to that. Something to keep in mind!

This issue is bugging me more and more recently! Is it something you'd welcome external contribution with, or is it too core to dataview that you'd rather handle it yourself?

I'm fine with external contribution, though I would wait a few days for 0.5.0 to come out since it uses a full Markdown parser as opposed the jank regex stuff I do now, and it supports some line break functionality like so:
**Field**::
- Value 1
- Value 2

Oh, wonderful! I'll wait on that first and then see if my use-cases still need some work!


Approved permission in API Management page not visible

Category

[ ] Question
[ ] Typo
[X] Bug
[ ] Additional article idea

Expected or Desired Behavior
I expect to see all approved API's in the API management page
Observed Behavior
After approving two API's, one by one, the first one disappeared from the view and only the second one is shown.

Image above should also contain the Mail.Read permission which was the first one I approved.
But, the permission is still granted to my SPFx web part. And in this case I would not be able to reject the permission.

The UI is confusing but I suspect it's by design.
When you're approving a permission request, once approved, it becomes a grant and its information is attached to a service principal in AAD. At that point, the request doesn't exist anymore and you can only work on the grant, which is specific to the resource and combines all scopes. The UI reflects what's in AAD which is why you see the scopes combined.
In the UI and PowerShell you can only remove the whole grant rather than specific permissions. At this moment specific permissions can be removed only through AAD REST API or using the Office 365 CLI.
With that said, it makes perfect sense to be able to manage the different scopes separately rather than complete grants.

Waldek is 100% correct on this, so closing this one. Thx for the help and good to get the answer logged also for others.


Consider replacing custom streams by seq

From https://github.com/aantron/markup.ml/pull/39#issuecomment-422090903. cc @Drup

Markup.ml streams are fundamentally different from Seq, because, in the general case, attempting to evaluate a Markup.ml stream calls a continuation later: https://aantron.github.io/markup.ml/Markup.ASYNCHRONOUS.html#2_Streammanipulation
Only in the special case of synchronous parsing does the Markup.ml stream degenerate to something close to Seq: https://aantron.github.io/markup.ml/#2_Streamoperations


Merge Upload Indicators branch into main

Check documentation
Check code

Add connector JSON

First part done with https://github.com/cudeso/misp2sentinel/commit/af41f39d1e13cf6e40b604646de1651e6c485537

https://github.com/Azure/Azure-Sentinel/pull/8658


[MixologyBridge] add new bridge

New bridge for new posts of the German bar publication https://mixology.eu.

please dont use array_push.
please dont access cache timeout statically
also it is a wordpress blog: https://mixology.eu/feed/

lint

alright, I'll rewrite it into a FeedExpander, thanks for the heads up

done with the rewrite, not sure why Upload tests fails 🤔


Get file icon on windows

Find a way to read file icon on Windows

I was able to read file icons on windows using binary written in C# which extracts the icon and returns their base64 contents, which is same principle as icon-extractor is trying to use.
This is probably the worst solution, because:

said binary file must be included in the application
despite being only 100 lines of code in C#, it's still part written in another language
it introduces .NET dependency

But it works and it's the simplest solution.
I'm currently looking into using node-ffi, which would be much better.

I've made solution that uses node-ffi, so no .NET dependency!
You can find it here: https://github.com/SkaceKamen/win-icon-extractor
I've already successfully integrated it into cerebro, but need some time to polish it.

There is another open-source electron launcher like cerebro called Hain and there the icons on Windows work wonderful. For me it looks like a very simple approach: https://github.com/appetizermonster/hain/blob/master/app/main/plugins/hain-plugin-filesearch/win32/search-util.js#L7-L12

It's very similiar approach I'm using, the "icon://" protocol is not builtin of electron, but it's defined here:
https://github.com/appetizermonster/hain/blob/master/app/main/server/app/icon-protocol.js
which calls this C code:
https://github.com/appetizermonster/hain/blob/master/app/native/platform-util/addon.cc
which is very similiar to my approach.

Ah I see ok sorry then. I thought it's way easier :D but I haven't looked that deep into the code.

I actually hoped it that simple, it would make things easier :D


MINOR: Add ZK migration docs to the packaged docs

This patch brings in the ZK migration docs that were added for the 3.4 release.

ping @mumrah

@mumrah Let me know if you don't have time to finish this PR. We should merge this to trunk and backport to 3.5.

@mimaison i'm fairly occupied with #13407 and #13461 at the moment, but could probably find time for this PR in between things this week or next.
Come to think of it, I'll need to go through the docs before 3.5 to make some adjustments based on recent work (e.g., we now support ACL and soon will support SCRAM migration).

@mimaison can you take another look at this? Sorry for the excessive delay on this one, I'll open a kafka-site PR after this is merged to trunk and 3.5

Thanks @mimaison, updated with your suggestions.


Use npm view to populate info box

Related to: 54248
Switch to using npm view instead of hitting the public registry. This allows for info to be populated for packages coming out of private registries assuming the user's .npmrc files are setup accordingly.
Wondering if this approach is what you had in mind @aeschli ? If so, I could try and tackle the rest of the file.

Yes, that looks like a good approach. That's surely a good approach for the hover. However, I'm not sure if the performance is still good enough for code completion.
Do you want to experiment there as well?

@aeschli  what can we do to progress here? Also looking for that feature.

@jk21 The PR is good, but only covers the hovers. There are also the code completions and it would be great if we have a solution to use npm as well. If someone has time to look into completing the PR that would be great.


Timeline form

Feature request for creating a timeline object as a form.
add "timeline" to accepted values for type in the form class

Probably not necessary actually


Fix for generating Open API specs and discovery docs on multiclass APIs

This is for multi-class APIs so that endpointscfg.py knows how to extract the underlying services from API collections before generating the Open API specs or discovery docs.

Current coverage is 79.85% (diff: 0.00%)

Merging #38 into master will decrease coverage by 0.07%

@@             master        #38   diff @@
==========================================
  Files            36         36
  Lines          5004       5009     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           4000       4000
- Misses         1004       1009     +5
  Partials          0          0

Powered by Codecov. Last update 414fabf...fb07314


[framework migration] add terraform for ec2

This is an initial pr to migrate the current testing framework to terraform.
i have done one test case on ec2/amazon_linux, the plan is to

expand to multiple ec2 amis.
ecs
eks.

this branch will eventually replace the current master branch.

as per discussion today, i've change the validator from fetching s3 to directly calling the web application. right now we validate trace id and span id, will validate the payload in the later pr.

merged it for now, we can review it while merging this branch to master


incomplete rule id at WAF log

Which Cloudflare product does this pertain to?
WAF
Existing documentation URL(s)
https://developers.cloudflare.com/waf/change-log/2024-02-26/
What changes are you suggesting?
Not sure why the rule is incomplete such as "...1d870399"
Additional information
No response

Since rule IDs are quite long, both the Developer Docs and the Cloudflare dashboard usually refer to the rule IDs using an abbreviated form, where only the last eight characters of the rule ID are shown. You can search for a rule in the dashboard using the "shortened" rule ID.

The dashboard will show the complete rule ID as a tooltip when you hover a short rule ID. You also have the option to copy the full rule ID.

Hi @cjcfcode
A quick update: We've started using a new component in Dev Docs to display rule IDs (and ruleset IDs). We will still display the short version of the rule IDs in the documentation, but you can click the short ID to copy the full rule ID to your clipboard.
Here's an example page already using this component:
https://developers.cloudflare.com/waf/change-log/2024-04-15/


ExternalPtr clean-up type-name

Great care is taken to deallocate the Rust object from ExternalPtr, but what about tag and prot?

Using r(()) we get R_NilValue that is protected by ownership-module.

But this is convoluted.

ExternalPtr protects values,
tag and prot, so they need to
be "released" to unprotected.

Okay, I've pushed a new change. I've decided that it is important to set the embedded pointer in ExternalPtr to C NULL after we have dropped the value within.
I believe this is good if for some reason something does a last minute cleaning of resources in R.


Problem with library dependencies

I am trying to install the tool on my PC but I keep getting notification about Keras being required (apparently Keras 3 is needed according to umap source code). Even though I have Keras 3 installed, the installation script deletes the newer version and installs an older one, which causes the problem. How should I address it?

We have adapted the requirements (and a nested package requirement) and tested on windows and mac - on both the DataDiVR backend runs.
Please let us know, if you encounter any further issues.


Security vulnerability when defaulting caching to contextual

~Bug~ Issue report
If you're not careful when creating your rules you create unintentional security holes as the same rule is likely used on several different nodes.
This is because the default caching is contextual which does not consider args or parent.
This is just a plea to change the default cache to no_cache or strict.

Bump

:tada: This issue has been resolved in version 5.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


helm: Fix format issue for logOptions in ConfigMap

ConfigMap object supports only key-value format, this commit to
serialise lopOptions option to json string.
Closes #13831
Testing
Testing was done locally with kind cluster with addition flag --set logOptions.format=json.

Set logOptions.format
helm upgrade -i cilium ./install/kubernetes/cilium \
    --wait \
    --namespace kube-system \
    --set nodeinit.enabled=true \
    --set kubeProxyReplacement=partial \
    --set hostServices.enabled=false \
    --set externalIPs.enabled=true \
    --set nodePort.enabled=true \
    --set hostPort.enabled=true \
    --set bpf.masquerade=false \
    --set ipam.mode=kubernetes \
    --set image.tag=latest \
    --set image.pullPolicy=Never \
    --set operator.image.tag=latest \
    --set operator.image.pullPolicy=Never \
    --set prometheus.enabled=true \
    --set operator.prometheus.enabled=true \
    --set hubble.enabled=true \
    --set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,http}" \
    --set logOptions.format=json

# Log in json format now

$ ksyslo cilium-2g5xv
level=info msg="Skipped reading configuration file" error="Config File \"ciliumd\" Not Found in \"[/root]\"" subsys=config
level=info msg="Memory available for map entries (0.003% of<PHONE_NUMBER>2B): 168642785B" subsys=config
level=info msg="option bpf-ct-global-tcp-max set by dynamic sizing to 591729" subsys=config
level=info msg="option bpf-ct-global-any-max set by dynamic sizing to 295864" subsys=config
level=info msg="option bpf-nat-global-max set by dynamic sizing to 591729" subsys=config
level=info msg="option bpf-neigh-global-max set by dynamic sizing to 591729" subsys=config
level=info msg="option bpf-sock-rev-map-max set by dynamic sizing to 295864" subsys=config
{"level":"info","msg":"  --agent-health-port='9876'","subsys":"daemon"}
{"level":"info","msg":"  --agent-labels=''","subsys":"daemon"}
{"level":"info","msg":"  --allow-icmp-frag-needed='true'","subsys":"daemon"}
{"level":"info","msg":"  --allow-localhost='auto'","subsys":"daemon"}
{"level":"info","msg":"  --annotate-k8s-node='true'","subsys":"daemon"}
{"level":"info","msg":"  --api-rate-limit='map[]'","subsys":"daemon"}
{"level":"info","msg":"  --auto-create-cilium-node-resource='true'","subsys":"daemon"}
{"level":"info","msg":"  --auto-direct-node-routes='false'","subsys":"daemon"}
{"level":"info","msg":"  --blacklist-conflicting-routes='false'","subsys":"daemon"}
{"level":"info","msg":"  --bpf-compile-debug='false'","subsys":"daemon"}

helm: Fix format issue for logOptions in ConfigMap

Backport to 1.8 is created manually in https://github.com/cilium/cilium/pull/13838

Backport to 1.8 is created manually in #13838

I think we need to wait for this PR to be merged to backport it to 1.8. Apart from rare exceptions, we always do that so that we have the commit hash of the upstream commit when we backport.

I think we need to wait for this PR to be merged to backport it to 1.8. Apart from rare exceptions, we always do that so that we have the commit hash of the upstream commit when we backport.

Agreed. As recent helm refactor was not available in 1.8, I assume that it's not seamless to backport any changes related to helm. Keen to here your inputs on this as well :thinking:

I think we need to wait for this PR to be merged to backport it to 1.8. Apart from rare exceptions, we always do that so that we have the commit hash of the upstream commit when we backport.

Agreed. As recent helm refactor was not available in 1.8, I assume that it's not seamless to backport any changes related to helm. Keen to here your inputs on this as well thinking

That's correct. The backport will have some minor conflict on Helm options. I don't think that's a big issue though. That's already the case for a lot of v1.8 backports (documentation fixes as we go through the guides for v1.9) and, in the worst case, the backporter can contact you for help. Just flagging the present PR as needs-backport/1.8 should be enough.

test-me-please

GKE test failed, related issue https://github.com/cilium/cilium/issues/13833


Consider this similar project:

Hi there,
my Github feed told me about your project.
I had a similar need and coded this: https://github.com/RoneoOrg/hugo-shortcode-roneo-collection#use-inline-svg-icons
More details in this blog post: https://roneo.org/en/hugo-svg-icon-shortcode/
Material icons are not included yet but it's easy (and documented) to add more icon sets
Cheers

Hi,
thanks for the hint! I'm going to look into your code again, because many steps are similar to acomplish this, you're right. The nice and also problematic thing about material SVG symbols (not icons) is: There are so many versions of them (in total a few gigs). I'm using different sets and need to extract them and allow my partial and shortcode to choose between these selected sets. Therefor, I need a few additional steps in this module.
See ya,
Georg


Search SDK: Upgrading to the latest version of AutoRest

Changes:

The latest version of AutoRest now has support for better version numbers in the UserAgent header, so the equivalent logic in the Search SDK has been deprecated.
The summary comment on parameter groups is now more generic, so we don't need to hand-edit SearchRequestOptions.cs anymore.
AutoRest now automatically adds "Gets or sets" to C# properties, which changed some of the generated code.

@chaosrealm @seansaleh FYI

LGTM

@brjohnstmsft Need an update to the package / assembly version.

This is a preview version that hasn't shipped yet; No version update needed.

@brjohnstmsft You can now create your own branches in the repo.  The policy now is to leave master / AutoRest for code that we want to ship, and if you need to collaborate on soem work, do that in a separate branch.  If no collaboration is necessary, this can remain in your fork.

@markcowl Noted for future reference. However, that ship has sailed as far as this version of the Search SDK goes. We are maybe a few weeks from shipping what's currently in the AutoRest branch (2.x-preview). While we can create a new branch for those few weeks, I don't see the point since the Search SDK in the AutoRest branch is already in a "non-shippable state" (to clarify, tests are passing and we certainly could ship it, but it does not yet offer new features beyond the last 1.x version that shipped, so there would be no point).


python3Packages.rapidfuzz: fails to build on darwin

Steps To Reproduce
Steps to reproduce the behavior:

build python3Packages.rapidfuzz

Build log
pythonImportsCheckPhase
Executing pythonImportsCheckPhase
Check whether the following modules can be imported: rapidfuzz.fuzz rapidfuzz.string_metric rapidfuzz.process rapidfuzz.utils
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <lambda>
  File "/nix/store/ns32408gw33gfjvkgnrfbv2h3l0vnzd6-python3-3.10.8/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/nix/store/4ssl9ka93spsdj6wir60qywqr2xwlikq-python3.10-rapidfuzz-2.13.2/lib/python3.10/site-packages/rapidfuzz/__init__.py", line 8, in <module>
    from rapidfuzz import distance, fuzz, process, string_metric, utils
  File "/nix/store/4ssl9ka93spsdj6wir60qywqr2xwlikq-python3.10-rapidfuzz-2.13.2/lib/python3.10/site-packages/rapidfuzz/distance/__init__.py", line 6, in <module>
    from . import (
  File "/nix/store/4ssl9ka93spsdj6wir60qywqr2xwlikq-python3.10-rapidfuzz-2.13.2/lib/python3.10/site-packages/rapidfuzz/distance/OSA.py", line 13, in <module>
    distance = _fallback_import(_mod, "distance", cached_scorer_call=_dist_attr)
  File "/nix/store/4ssl9ka93spsdj6wir60qywqr2xwlikq-python3.10-rapidfuzz-2.13.2/lib/python3.10/site-packages/rapidfuzz/_utils.py", line 71, in fallback_import
    cpp_mod = importlib.import_module(module + "_cpp")
  File "/nix/store/ns32408gw33gfjvkgnrfbv2h3l0vnzd6-python3-3.10.8/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/nix/store/4ssl9ka93spsdj6wir60qywqr2xwlikq-python3.10-rapidfuzz-2.13.2/lib/python3.10/site-packages/rapidfuzz/distance/OSA_cpp.py", line 4, in <module>
    from rapidfuzz.distance.metrics_cpp import osa_distance as distance
ImportError: dynamic module does not define module export function (PyInit_metrics_cpp)

Additional context
Introduced in #191025.
Notify maintainers
@dotlambda
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 22.1.0, macOS 13.0.1`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.11.0`
 - channels(user): `"darwin, home-manager, nixpkgs, nur-packages"`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/Users/user/.nix-defexpr/channels/nixpkgs`

It appears that cmake selects an incorrect linker. I am currently unsure what's the reason for this. Following https://github.com/emscripten-core/emscripten/issues/11143 I think I might need to set:
set(CMAKE_C_COMPILER_AR "${CMAKE_AR}")
set(CMAKE_CXX_COMPILER_AR "${CMAKE_AR}")
set(CMAKE_C_COMPILER_RANLIB "${CMAKE_RANLIB}")
set(CMAKE_CXX_COMPILER_RANLIB "${CMAKE_RANLIB}")

@dotlambda I have zero experience with nix os + no access to a mac. Is there any way to patch rapidfuzz in the build system here to check whether this solves the issue?


[TIR] Use PopenPool instead of multiprocessing.pool

This PR intends to replace the use of multiprocessing.pool.ThreadPool to popen_pool.PopenPoolExecutor in auto_scheduler.

What is the purpose of switching from ThreadPool to PopenPoolExecutor?

PopenPool is intended to replace multiprocessing (not multithreading), so just curious, do we have specific reasons here to replace the ThreadPool here?

We can keep the thread pool here, and only replace multiprocessing.Pool

By far those are all uses of multiprocessing.pool in this repo that I can find, is there any places that this change should also apply to? @junrushao1994 @vinx13 @tkonolige

please fix ci error

auto_scheduler need to be fixed:
File "/workspace/python/tvm/exec/popen_worker.py", line 77, in main
fn, args, kwargs, timeout = cloudpickle.loads(reader.read(bytes_size))
ModuleNotFoundError: No module named 'test_auto_scheduler_common'

Exception ignored in: <function XGBoostCostModel.del at 0x7f93082e7b00>
Traceback (most recent call last):
File "/Users/yjshi/Repo/tvm/python/tvm/autotvm/tuner/xgboost_cost_model.py", line 353, in del
File "/Users/yjshi/Repo/tvm/python/tvm/autotvm/tuner/xgboost_cost_model.py", line 168, in _close_pool
AttributeError: 'XGBoostCostModel' object has no attribute 'pool'

auto_scheduler need to be fixed:
File "/workspace/python/tvm/exec/popen_worker.py", line 77, in main
fn, args, kwargs, timeout = cloudpickle.loads(reader.read(bytes_size))
ModuleNotFoundError: No module named 'test_auto_scheduler_common'

Discussed with @shingjan , we should avoid importing non-package file in the test directory when writing tests, these common code should be put in tvm.testing or tvm.auto_scheduler.testing. Otherwise subprocesses created through popenpool will not be able to import them as they are not in PYTHONPATH cc @tqchen @junrushao1994

tvm.testing sounds right

To convert tvm.testing into a sub package, we need to create a __init__.py under testing/ directory, move testing.py to testing/utils.py and import it in __init__.py by adding from .utils import *

Thanks @shingjan! I just approve the github action running

@shingjan Please fix the wildcard import issue, make sure it could run locally, and let's get this PR ready ASAP

@vinx13 Would you like to take some extra caution, try if local/rpc runner of both AutoTVM and Ansor could run smoothly before approving the PR? Thanks a lot 🙏

Seeing these error messages:
Exception ignored in: <bound method XGBoostCostModel.__del__ of <tvm.autotvm.tuner.xgboost_cost_model.XGBoostCostModel object at 0x7f1731da9b00>>
Traceback (most recent call last):
  File "/workspace/python/tvm/autotvm/tuner/xgboost_cost_model.py", line 353, in __del__
    self._close_pool()
  File "/workspace/python/tvm/autotvm/tuner/xgboost_cost_model.py", line 169, in _close_pool
    self.pool.terminate()
AttributeError: 'PopenPoolExecutor' object has no attribute 'terminate'

We might want to make sure the unit tests could pass locally before going to the CI :-)
Examples of commands to reproduce the tests locally (it's annotated on each step of our Jenkins):
docker/bash.sh tlcpack/ci-cpu:v0.75 ./tests/scripts/task_config_build_cpu.sh
docker/bash.sh tlcpack/ci-cpu:v0.75 ./tests/scripts/task_cpp_unittest.sh
docker/bash.sh tlcpack/ci-cpu:v0.75 ./tests/scripts/task_build.sh build -j$(nproc)
docker/bash.sh tlcpack/ci-cpu:v0.75 ./tests/scripts/task_ci_setup.sh
docker/bash.sh tlcpack/ci-cpu:v0.75 ./tests/scripts/task_python_unittest.sh

For end-to-end correctness test, Wuwei and I ran this tutorial with tuning set to both True and False to make sure these is no correctness issues.

Hey thanks @shingjan @vinx13 for finally getting the PR done :-) It is really big improvement that we enable PopenPool so that things could potentially run smoothly in Jupyter. I would love to scrutinize here a little bit on the performance side: @vinx13 please make sure there is no performance degradation on many-core CPUs :-) Thanks a lot!

I have checked the rpc runner, since there are already a thread pool layer here it won't cause too much overhead

Sounds good. Let’s get some numbers with a large multi-core instance

Please fix the lint

Benchmark
running tune_sparse_x86.py from tutorial on 64-core Linux machine
| This PR |   | Main |
-- | -- | -- | -- | --
  | Mean (sec) | Std | Mean (sec) | Std
Local Builder + Local Runner |  |  |
Build | 6.63 | 0.79 | 6.52 | 0.85
Run | 23.11 | 0.58 | 25.26 | 1.21
  |   |   |   |
Local Builder + RPC Runner |  |  |
Build | 6.72 | 0.9 | 5.55 | 0.54
Run | 38.29 | 0.94 | 38.0 | 0.99

would be great if @comaniac @jcf94 @merrymercy could also take a look

Thanks for all your effort in this refactoring 🙏

I also met this problem. The problem is in new mechanism of creating processes and in serializing global object such as BuildFunc. I'm working on a fix for this problem.

@shingjan @vinx13 would you guys take a closer look at the ndk issue as well?

@shingjan @vinx13 would you guys take a closer look at the ndk issue as well?

This problem is not only related to the ndk. I suppose that any custom-built functions won't work on the main branch now.

We should sent the callable build_func here as an argument instead of the name of build_func. There will be a new requirement for custom build functions: it requires the custom build_func to be defined in a module importable from PYTHONPATH

We should send the callable build_func here as an argument instead of the name of build_func. There will be a new requirement for custom build functions: it requires the custom build_func to be defined in a module importable from PYTHONPATH

Are you sure that cloud pickle will be able to serialize such callable object? It was my first idea, but I faced the problem that I wasn't able to serialize python callable object and then call it from C++ code. I got an error like something like that: "Not able to serialize callable object". Don't remember the whole test, unfortunately. But maybe I missed something and did something wrong.

Function is pickled by it's qualified name (that means the module of the function should be importable)

we can serialize callable functions(through cloud pickle), but the requirement is that the callable functions can only call functions in the tvm namespace and should be available in https://github.com/apache/tvm/blob/main/python/tvm/exec/popen_worker.py
It does mean that if we call functions that are not by default imported, we might need to do
def custom_func():
    # import here so things are available in the callee side
    import dep1
    dep1.xyz

@tqchen, @vinx13 I tried to do that (passing callable function as an argument) and specially I commited these changes on my local branch: https://github.com/echuraev/tvm/tree/echuraev/fix_measure_build_func
But it doesn't work. I got the following error:
Get 64 programs to measure:
Traceback (most recent call last):
  File "exp_nn/tune_my_model.py", line 148, in <module>
    runner()
  File "exp_nn/tune_my_model.py", line 143, in runner
    run_tuning(tasks, task_weights, log_file)
  File "exp_nn/tune_my_model.py", line 93, in run_tuning
    tuner.tune(tune_option)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/auto_scheduler/task_scheduler.py", line 357, in tune
    self._tune_task(idx)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/auto_scheduler/task_scheduler.py", line 452, in _tune_task
    measure_inputs, measure_results = self.search_policies[task_idx].continue_search_one_round(
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/auto_scheduler/search_policy.py", line 119, in continue_search_one_round
    return _ffi_api.SearchPolicyContinueSearchOneRound(self, num_measure, measurer)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237, in __call__
    raise get_last_ffi_error()
ValueError: Traceback (most recent call last):
  [bt] (8) 9   libtvm.dylib                        0x000000011d4eb681 tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::runtime::Array<tvm::auto_scheduler::MeasureInput, void> const&, int&, int&, tvm::runtime::PackedFunc&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, int&>(tvm::runtime::Array<tvm::auto_scheduler::
MeasureInput, void> const&, int&, int&, tvm::runtime::PackedFunc&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, int&) const + 401
  [bt] (7) 8   libtvm.dylib                        0x000000011d447b71 std::__1::function<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const + 65
  [bt] (6) 7   libtvm.dylib                        0x000000011d447d9f std::__1::__function::__value_func<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) const + 95
  [bt] (5) 6   libtvm.dylib                        0x000000011f707d86 std::__1::__function::__func<TVMFuncCreateFromCFunc::$_2, std::__1::allocator<TVMFuncCreateFromCFunc::$_2>, void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 70
  [bt] (4) 5   libtvm.dylib                        0x000000011f7092c7 std::__1::__function::__alloc_func<TVMFuncCreateFromCFunc::$_2, std::__1::allocator<TVMFuncCreateFromCFunc::$_2>, void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 71
  [bt] (3) 4   libtvm.dylib                        0x000000011f709317 void std::__1::__invoke_void_return_wrapper<void, true>::__call<TVMFuncCreateFromCFunc::$_2&, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*>(TVMFuncCreateFromCFunc::$_2&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) + 71
  [bt] (2) 3   libtvm.dylib                        0x000000011f7093b3 decltype(std::__1::forward<TVMFuncCreateFromCFunc::$_2&>(fp)(std::__1::forward<tvm::runtime::TVMArgs>(fp0), std::__1::forward<tvm::runtime::TVMRetValue*>(fp0))) std::__1::__invoke<TVMFuncCreateFromCFunc::$_2&, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*>(TVMFuncCreateFromCFunc::$_2&, tvm::runtime::T
VMArgs&&, tvm::runtime::TVMRetValue*&&) + 115
  [bt] (1) 2   libtvm.dylib                        0x000000011f70947f TVMFuncCreateFromCFunc::$_2::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const + 175
  [bt] (0) 1   libtvm.dylib                        0x000000011f74cb55 tvm::runtime::Backtrace() + 37
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 81, in cfun
    rv = local_pyfunc(*pyargs)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/auto_scheduler/measure.py", line 697, in local_builder_build
    for res in tuple_res:
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/concurrent/futures/_base.py", line 611, in result_iterator
    yield fs.pop().result()
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/contrib/popen_pool.py", line 390, in <lambda>
    worker = lambda x: self._worker_run_with_error_catching(fn, (x,), None)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/contrib/popen_pool.py", line 343, in _worker_run_with_error_catching
    return MapResult(status=StatusKind.COMPLETE, value=self._worker_run(fn, args, kwargs))
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/contrib/popen_pool.py", line 338, in _worker_run
    proc.send(fn, args, kwargs, self._timeout)
  File "/Users/echuraev/Workspace/OctoML/tvm/python/tvm/contrib/popen_pool.py", line 224, in send
    data = cloudpickle.dumps((fn, args, kwargs, timeout), protocol=pickle.HIGHEST_PROTOCOL)
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/site-packages/cloudpickle/cloudpickle_fast.py", line 73, in dumps
    cp.dump(obj)
  File "/Users/echuraev/opt/anaconda3/lib/python3.8/site-packages/cloudpickle/cloudpickle_fast.py", line 563, in dump
    return Pickler.dump(self, obj)
ValueError: ctypes objects containing pointers cannot be pickled

One interesting thing that I tried to dump each of these parameters in tuple (fn, args, kwargs, timeout) separately and I didn't see this error. I suppose that the problem is happened because fn is a PackedFunction with python function. And CloudPickle is not able to serialize native PackedFunction object.
Another idea how we can quick fix this problem: move tar and ndk functions to the _local_build_worker and pass only names "tar" or "ndk" to it and select implementation there. In this case it would work for current tvm defined custom functions. In case when passed name is not "tar" or "ndk", then we will have another argument with callable function. It won't work now. Because of this problem with packed functions but we can fix it in the next PR.

The finding looks correct. Only python function can be sent. PackedFunc cannot be pickled. But they can be looked up by name they are also registered in the worker

@Wanger-SJTU @echuraev can you check if this fix works? https://github.com/vinx13/tvm/commit/23c5ffce78510a27331eab7561f5586749d0449a

@Wanger-SJTU @echuraev can you check if this fix works? vinx13@23c5ffc

I checked, and yes, it works! Thank you very much!

@Wanger-SJTU @echuraev can you check if this fix works? vinx13@23c5ffc

I checked, and yes, it works! Thank you very much!


add XSS plugin

Hi, I found out there is no XSS plugin and I'm achieving removal of potential XSS vulnerabilities by combination of other plugins with a bigger config:
*removeAttrs with list of all event listeners like onclick, onload and others

removeScriptElement

I'd be cool to have standalone plugin for this

Any update on this from one of the maintainers. That would be really cool!

Hey! Thanks for suggesting this, and sorry for not catching it sooner.
If you read my comment in your PR, you'll see this has been resolved by repurposing the removeScriptElement plugin, which will later be renamed.
See: https://github.com/svg/svgo/pull/1664#issuecomment-1793439407


Add typing method to context

In discord.py there is a context manager for sending the typing indicator in chat for an arbitrary amount of time.

SlashContext doesn't have many features that d.py's Context has because there may not be a bot user in the guild, and slash commands are fundamentally different from text based commands.
However you can access the channel object, if there is s bot user in the guild, with ctx.channel. Would this work

SlashContext doesn't have many features that d.py's Context has because there may not be a bot user in the guild, and slash commands are fundamentally different from text based commands.
However you can access the channel object, if there is a bot user in the guild, with ctx.channel. Would this work?

yes, this work, i used it too got my ping command

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use
async with ctx.typing():
 time.sleep(0.5)
await ctx.send(yourmessage)

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use
async with ctx.typing():
 time.sleep(0.5)
await ctx.send(yourmessage)

not ctx.typing(), ctx.channel.typing()

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use

async with ctx.typing():

 time.sleep(0.5)

await ctx.send(yourmessage)

You can't send anything with the slash thinking.

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use

async with ctx.typing():

 time.sleep(0.5)

await ctx.send(yourmessage)

You can't send anything with the slash thinking.

wdym

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use
async with ctx.typing():
 time.sleep(0.5)
await ctx.send(yourmessage)

not ctx.typing(), ctx.channel.typing()

yeah sorry
its ctx.channel.typing()

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use

async with ctx.typing():

 time.sleep(0.5)

await ctx.send(yourmessage)

You can't send anything with the slash thinking.

wdym

i mean like this, similar to typing

we actually get that the bot is thinking message when we use slash, is it not enough?
anyway you can use

async with ctx.typing():

 time.sleep(0.5)

await ctx.send(yourmessage)

You can't send anything with the slash thinking.

you cant but it usually occurs when there is a delay or something like that

When the command is deferred, which means displaying the 'bot is thinking message' you can send messages, just the first one will cause it to stop 'thinking'
As others have said here you can use ctx.channel if you want the bot to type.
I don't think there is any reason to create a ctx.typing

This is a misunderstanding as the Discord API is handling client UX events differently that are not being sent through the API's interaction response that we currently know of for showing a "typing" action as shown here. This is the same reasoning that we see with Discord beginning to handle their own error handling AFAIK with interaction responses failing. ctx.typing would have no essence towards this either.


Add Events page list and Book Club featured book styles, update Mentors Search styles

Description
Events

styled events page events list with tabs nav
added speaker and host elements to events card

Book club

styled book club featured book card

Mentors search

updated mentors search box and search listing styles
added btn show more styles
refactored into smaller reusable components

Change Type

[ ] Bug Fix
[X] New Feature
[X] Code Refactor
[ ] Mentor Update
[ ] Documentation
[ ] Other

Related Issue

Events page list theming task: https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/232
Events data 'backend' script: https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/192
Book club featured book card styling: https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/108
Mentors search styles: https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/161

Screenshots
EVENTS
AFTER:

BEFORE:

AFTER:

BEFORE:

BOOK CLUB
AFTER:

BEFORE:

MENTORS SEARCH
AFTER:

BEFORE:

Pull request checklist
Please check if your PR fulfills the following requirements:

[X] I checked and followed the contributor guide
[X] I have tested my changes locally.
[X] I have added a screenshot from the website after I tested it locally

@dricazenck events page list styles has been added in this PR. Will you create a follow up backend task to make the 'tabs nav' filter by 'upcoming events' and 'past events'?


Correspondence due to change of serializable interface of PHP8.1

resubmission https://github.com/GoogleCloudPlatform/grpc-gcp-php/pull/44

@bshaffer is this something you can help get reviewed/merged?


Select Specific Fields with Non-Primary Key Values fails in latest version

Hi,
The following controller/service code returns body of the message from message collection matches with the id passed to it in previous sails-mongo  ("sails-mongo": "0.11.2") but in new version of sails-mongo ("sails-mongo": "^0.11.2")  it returns all the data. i have attached the response for each version of sails-mongo below here.
Message.find({id:id},{body:1})
.then(function(response){
return [response];
})
.spread(function(messageInfo){
console.log('success');
res.send(messageInfo);
})
.fail(function(error){
console.log('error');
res.send(error);
})

sails response for sails-mongo 0.11.2

[     {        "body": "HelloWorld",        "createdAt": "2016-02-05T15:55:06.476Z",        "updatedAt": "2016-02-05T15:56:49.501Z",        "id": "56b4c5da50a6ae150c5ebc53"     } ]

sails response for sails-mongo 0.10.5

[     {        "body": "HelloWorld",        "id": "56b4c5da50a6ae150c5ebc53"     } ]

Please confirm , if this bug needs a fix?

Thanks Anand.. It worked in 11.2.. Let me take it from here  to test in 11.5, 11.6, 11.7 and 12.0

@Anandapriyan @rasekar2000  Hi guys- this usage isn't supported in Waterline at the moment (it's something we're working on for the future).

(see also https://github.com/balderdashy/waterline/issues/919)

1) Concern : When this sails-mongo is specific to MongoDB connectivity and MongoDb very well supports this feature, I think, this requirement can be prioritized. Thanks for the note.
2) Workaround : For now, once we retrieved the DATA from Mongo DB , we are using lodash (map / filter / pluck) like functionality to arrive at the data that needs to be transferred from Sails to the Frontend Application. (to avoid sending more data)

See also https://github.com/balderdashy/sails/issues/3837#issuecomment-251794006


fix: improve expectation regex value to better match usage in urllib3

Closes #479
Regex value in expectation file is adjusted slightly so as to account for the urllib3 version branch name / tag sometimes starting with a v.

The scope of the PR and commit title can change to ci: or test: because it is not necessary to communicate this fix in the release changelog.


Fix redirects following POST/PUT/PATCH requests

I’ve stumbled upon a problem in URLSession when a redirect occurs following a request with a request body (POST/PUT/PATCH).
Say we create a URLRequest with a httpBody and an httpMethod of "POST".
When the POST request is made, a URLSessionTask is initialized with the httpBody from the URLRequest.
Later, when the server responds with a redirect to this request, a new request is made but the original task is reused. This involves calling startNewTransfer, which in turn looks up any existing known body in the knownBody property.
The result is that the new request, which is supposed to follow the redirect, also includes the original request data. This trips the following check.
This PR attempts to work around the issue by unsetting the knownBody on URLSessionTask before a redirect request is performed.
I also changed the behavior of how the redirect request is constructed. Previously, the original request (including httpBody) was copied and the httpMethod changed to GET. This is an invalid request.
Even though this turned out not to be the source of the problem (because the httpBody on the redirect request is never used), it doesn’t make sense for Foundation to be producing invalid requests internally.

@swift-ci test

I ran the test case against macOS Foundation (using the DarwinCompatibilityTests project) and it timed-out. I don't know if this is a bug in macOS or an incorrect test case.

It seems several of the tests for URLSession fail with a timeout (when testing against macOS Foundation). This happens on commits prior to mine as well so I don't think it's related to the changes that I've made. Could it be an issue with the test server implementation?

The reason some of the tests hang on macOS is that the delegates (when used) should be calling a completion handler with .allow to keep the transaction progressing. There is a bug in URLSession on Linux that doesn't require this completion handler call so the buggy tests still work on Linux. Other tests are failing for different reasons.
My current plan for URLSession is to re-enable the current tests on CI (except on Windows where there are still some issues) and then fix up each test to work on macOS, while fixing URLSession to correctly pass the fixed tests and fail with the broken tests. Once all of the tests are passing on macOS then the other bugs can be fixed up.
So I would suggest re-examining your test to see why it is failing on macOS as it may indicate another bug in the Linux code.

The reason some of the tests hang on macOS is that the delegates (when used) should be calling a completion handler with .allow to keep the transaction progressing. There is a bug in URLSession on Linux that doesn't require this completion handler call so the buggy tests still work on Linux. Other tests are failing for different reasons.
My current plan for URLSession is to re-enable the current tests on CI (except on Windows where there are still some issues) and then fix up each test to work on macOS, while fixing URLSession to correctly pass the fixed tests and fail with the broken tests. Once all of the tests are passing on macOS then the other bugs can be fixed up.
So I would suggest re-examining your test to see why it is failing on macOS as it may indicate another bug in the Linux code.

It seems DataTask never calls the completion handler here.
I'd rather not change the behavior of DataTask since it's used by so many of the tests. Instead I'm using `HTTPRedirectionDataTask.

It seems DataTask never calls the completion handler here.
I'd rather not change the behavior of DataTask since it's used by so many of the tests. Instead I'm using `HTTPRedirectionDataTask.

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test and merge

@swift-ci test and merge


Very Odd Result

I ran the following code many times using your aByes library. Sometimes it reports A or B is winner. This is very odd because both has the mean of 0.4 and only runs for 100 data points. Shouldn't the result of "inconclusive" or "effectively equivalent" be expected?
data = [np.random.binomial(1, 0.4, size=100), np.random.binomial(1, 0.4, size=100)]
exp = ab.AbExp(method='analytic', rule='loss', decision_var='lift', toc=0.002, plot=True)
exp.experiment(data)

Hi taihds,
The result is "inconclusive" most of the time, as I would expect, however once in a while you get a "conclusive" result just out of randomness and because the toc value that you have chosen is quite small.

Yes, given only 100 data points is collected, "inconclusive" should be "always" expected. Any results other than "inconclusive" would render the algorithm useless in real practice.
Do you have a rule of thumb in choosing the right toc? I used 0.002 because VWO paper uses it in Example 7.1.
Here is another case which doesn't "always" give "inconclusive" result no matter which toc I set.
data = [np.random.binomial(1, 0.4, size=100), np.random.binomial(1, 0.45, size=100)]
exp = ab.AbExp(method='analytic', rule='loss', decision_var='lift', toc=0.005, plot=True)
exp.experiment(data)

Using a frequentist terminology, the point is what "type-I error" you are willing to accept for your case. If it is 5%, then you would expect to have 5 conclusive results every 100 tries - even when there is no difference between the two populations.
In the example above, you are using 0.4 and 0.45 as probability of success - so no wonder you are getting conclusive results rather often...

Yes, I agree with your frequentist explanation. However, the VWO paper doesn't discuss anything about the error rate of its approach.

I ran the following code:
start_time = time.time()
res = []
for i in range(100):
data = [np.random.binomial(1, 0.4, size=100), np.random.binomial(1, 0.4, size=100)]
exp = AbExp(method='analytic', rule='loss', decision_var='lift', toc=0.01, plot=False)
exp.experiment(data)
res.append(exp.result)
print(time.time()-start_time)
Inconclusive: 50
B win: 28
A win: 22
This is way more than 5% error rate.

Then you shouldn't use toc=0.01 but a higher value. I am going to close
this issue as I don't see any problems.
On Wed, 24 Jul 2019, 19:36 Tai Huang<EMAIL_ADDRESS>wrote:

I ran the following code: start_time = time.time()
res = []
for i in range(100):
data = [np.random.binomial(1, 0.4, size=100), np.random.binomial(1, 0.4,
size=100)]
exp = AbExp(method='analytic', rule='loss', decision_var='lift', toc=0.01,
plot=False)
exp.experiment(data)
res.append(exp.result)
print(time.time()-start_time)
Inconclusive: 50
B win: 28
A win: 22
This is way more than 5% error rate.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cbellei/abyes/issues/1?email_source=notifications&email_token=ABKBKTMGID4F46W3XNBKMQ3QBCOMVA5CNFSM4IGMEMV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2XHLYA#issuecomment-514749920,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKBKTJHEKSAGGOMPVJ4DXLQBCOMVANCNFSM4IGMEMVQ
.

So what toc value do you suggest? You said toc should be set according to business need in your blog post answer.

I set toc = 0.05 and re-ran the test. The result is even worse:
A win: 30
B win: 32
Equal: 38

Apologies, you should be actually decreasing the value of toc. As you decrease it, you will start observing more and more "nan" results that represent an inconclusive result: none of the variants had an expected loss < toc. [The "threshold of caring" represents the value below which it is fine for you to declare the A or B variant to be the winner (depending on which one of them gives you an expected loss < toc).]
As you decrease toc, it becomes more and more difficult to declare winner any of the variants. On the contrary, as you increase toc both A and B start becoming "winners" so the experiment should start giving conclusive results - roughly the same for A and B in your case. Finally, for really high values of toc you should observe the "equal" result to dominate as A and B are always winners.

Regarding what's the best value for "toc". If you don't care about a difference in the mean between A and B that is smaller than 1% (for example 20% vs. 19% click rate) then you should set toc=0.01. This may be a good starting point, but again it depends on the business. For organizations with a large user base, they may care about a difference in 0.1% so they would set toc=0.001.

Thanks for the pointers!