Support Go c-shared library format

I wanted to try if it's possible to integrate Go code into Java and I tried the easy sample I found. After I wanted to try the arrays too I found this incompatibility. Go use the special GoSlice type for array so the Java String[] can not be mapped to GoSlice. I assume it would require special TypeMapper and replace the default one with the GoSlice specific. Unfortunately I don't know how to do that so I share the information I gathered to help to improve the project.
This is a simple Go code which could be compiled go build -buildmode=c-shared -o libjnr.dylib main.go and it creates the OSX library name. For other OS the output file name should be changed.
// package name: jnr
package main

import "C"
import (
	"encoding/base64"
	"log"
)

//export Multiply
func Multiply(x int64, y int64) int64 {
	return x * y
}

//export Base64Encode
func Base64Encode(in []byte) ([]string) {
	result := make([]string, 2)
	if len(in) < 1 {
		result[1] = "Error"
	}
	result[0] = base64.StdEncoding.EncodeToString(in)
	return result
}

func main() {
	println("go build -buildmode=c-shared -o libjnr.dylib main.go")

	for i, v := range Base64Encode(make([]byte, 0)) {
		log.Printf("array value at [%d]=%v", i, v)
	}

	for i, v := range Base64Encode([]byte("TEST")) {
		log.Printf("array value at [%d]=%v", i, v)
	}
}

The Go generated this .h file, it may help to visualise the GoSlice type.
/* Created by "go tool cgo" - DO NOT EDIT. */

/* package command-line-arguments */

/* Start of preamble from import "C" comments.  */

/* End of preamble from import "C" comments.  */

/* Start of boilerplate cgo prologue.  */

#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H

typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef __SIZE_TYPE__ GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;

/*
  static assertion to make sure the file is being used on architecture
  at least with matching size of GoInt.
*/
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];

typedef struct { const char *p; GoInt n; } GoString;
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;

#endif

/* End of boilerplate cgo prologue.  */

#ifdef __cplusplus
extern "C" {
#endif

extern GoInt64 Multiply(GoInt64 p0, GoInt64 p1);

extern GoSlice Base64Encode(GoSlice p0);

#ifdef __cplusplus
}
#endif

I just wrote a simple Java Example that just loads the Go shared library from the same location where go creates it under $GOPATH
package org.example;

import java.nio.charset.StandardCharsets;

public class App {
    public static interface LibGo {
        long Multiply(long x, long y);

        String[] Base64Encode(byte[] key);
    }

    public static void main(String[] args) throws Exception {
        System.setProperty("jnr.ffi.library.path", "/ FIX-ME $GOPATH/src/example.org/jnr");
        LibGo libc = jnr.ffi.LibraryLoader.create(LibGo.class).load("jnr");

        System.out.println(libc.Multiply(2L, 4L));

        byte[] key = "TEST".getBytes(StandardCharsets.UTF_8);
        String[] res = libc.Base64Encode(key);
        for (int i = 0; i < res.length; i++) {
            System.out.println("array value at [" + i + "]=" + res[i]);
        }
    }
}

When I execute the Java I got this exception.
Exception in thread "main" java.lang.RuntimeException: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/example/App$LibGo$jnr$ffi$0.Base64Encode([B)[Ljava/lang/String; @32: areturn
  Reason:
    Type long_2nd (current frame, stack[1]) is not assignable to reference type
  Current Frame:
    bci: @32
    flags: { }
    locals: { 'org/example/App$LibGo$jnr$ffi$0', '[B', integer }
    stack: { long, long_2nd }
  Bytecode:
    0x0000000: b200 0e2a b400 122a b400 162b 033d c600
    0x0000010: 0a09 8402 01a7 0004 091c 9a00 07b6 001c
    0x0000020: b01c 2bb8 0022 4e2b 2d2a b400 26b6 002a
    0x0000030: a7ff f0
  Stackmap Table:
    full_frame(@24,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long})
    full_frame(@25,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long,Long})
    same_locals_1_stack_item_frame(@32,Long)
    full_frame(@33,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long,Long})

	at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:247)
	at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:89)
	at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:44)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:304)
	at org.example.App.main(App.java:18)
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/example/App$LibGo$jnr$ffi$0.Base64Encode([B)[Ljava/lang/String; @32: areturn
  Reason:
    Type long_2nd (current frame, stack[1]) is not assignable to reference type
  Current Frame:
    bci: @32
    flags: { }
    locals: { 'org/example/App$LibGo$jnr$ffi$0', '[B', integer }
    stack: { long, long_2nd }
  Bytecode:
    0x0000000: b200 0e2a b400 122a b400 162b 033d c600
    0x0000010: 0a09 8402 01a7 0004 091c 9a00 07b6 001c
    0x0000020: b01c 2bb8 0022 4e2b 2d2a b400 26b6 002a
    0x0000030: a7ff f0
  Stackmap Table:
    full_frame(@24,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long})
    full_frame(@25,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long,Long})
    same_locals_1_stack_item_frame(@32,Long)
    full_frame(@33,{Object[#2],Object[#44],Integer},{Object[#24],Object[#46],Long,Long})

	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
	at java.lang.Class.getConstructor0(Class.java:3075)
	at java.lang.Class.getDeclaredConstructor(Class.java:2178)
	at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:236)
	... 5 more

I agree it would be nice to be able to bind in Go libraries. However I'm not quite sure of the best way to implement this either.

@headius I think we would need to use libffi OR generate a custom stub in C or assembler.

@headius I think we would need to use libffi OR generate a custom stub in C or assembler.

I just want to share the result of my further research. Unfortunately I haven't found any documentation of JNR/JFFI which would explain how to use it properly. The examples are very basic and doesn't cover the richer functionality of the overall library. I was hesitating between pure JNI or JNR and definitely I saw the flexibility of the JNR but I just couldn't figure out the best way to use and not a single clue anywhere over the internet. I just wanted to call a Go implementation where I deal with String or ByteArray and return back with String or ByteArray and in case of error have the capability to report the issue.
I tried to define my own structs in C and use them and somehow leverage the @Out annotation but I wasn't really sure how to use it and when/how to Free the memory. There are examples when memory is allocated in Java and Freed after the call byte what if memory is allocated in Go or C and return.
I also tried the simple  int doSomething(byte *in, char **out) scheme and I did a test with a 25Mb array to see the memory consumptions of the process. It was a base64 encoding so Java process started at 25Mb when it loaded the input and after I called  the process it jumped up to 150-170Mb and GC claimed back it after the process so a simple call with JNR and using custom "Strut" made 5-6 copy in Java (I only monitored the Java memory). Mostly these tests and the lack of documentation which let me uncertain about the possible memory leaks and the complete missing best practices about error handling made me to use JNI which result in a simple Java code using JNI native declaration only and in Go I could leverage the full JNI interface and by following the documentation I believe there is no memory leak. Doing the same 25Mb test I got 3 copy only which also convinced me to use JNI. This JNR might have been nice to use and would gave me so more but due to the lack of documentation I was not able to use it for my need. Thank you and wish you happy coding and good luck with this project. I may check it in my next project but now it's a no-go.

We need more assistance here, if this is actually a good idea. FFI can certainly support these calls, but currently they may require a lot of stitching to work right.
Closing for now, but if someone wants to help us work through some example code, I'm willing to explore the possibilities.


fix(sinsp): set a null terminator instead of throwing an exception

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area libscap
/area libsinsp
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
The checks in this PR were probably too strict https://github.com/falcosecurity/libs/pull/1810. Our codebase at the moment is not ready to throw an exception when a vector of strings is not null-terminated. For example, when scanning proc this is something that could still happen, in this PR we fixed a possible case but who knows how many corner cases there are... a more conservative solution is to log a warning and enforce the null terminator in release mode. In debug mode, we keep the exception so it's easier to figure out the root cause with a backtrace.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 8e857f4586c3cf1cc8195b53b1bd75b64df21180

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Provide capability to query health of statsd

Provide capability to query health of statsd server which can be used as a health check to see if the server connection is setup correctly.

Is this something you are planning or provide an alternative approach for?

There's no plan to implement this currently.
While it sounds interesting, I'm not sure if we'd want to start a potentially slippery slope of adding diagnostic/management features into this library.
The only features we provide at the moment are sending metrics to the statsd server.

Thanks for the heads up!
While I fully agree to not go to a management SDK it would be nice to somehow health check the publisher and know it works by integrating it with .NET Core's health checks so that we are sure we are up and running.
If the SDK would provide a way to check health I could contribute a health check but there are always boundaries to libraries and respect that!

The publisher is fairly fire-and-forget because it uses UDP, so wouldn't usually throw if the target server isn't there and the metric doesn't actually go anywhere.
Could you resolve IStatsDPublisher from DI as part of your health check to validate it? Or are you thinking something more detailed that actually interrogates the server?
There's some (probably hacky) code in our integration tests that queries the server to validate stats are being sent as expected. Maybe you could just lift that and send a stat to a well-known bucket for the server and then read it back?
https://github.com/justeat/JustEat.StatsD/blob/5b78bc6b81808384afe8bad75b941eb78f83ecd5/tests/JustEat.StatsD.Tests/IntegrationTests.cs#L96-L120

I'm injecting it indeed and using that approach but most probably need an approach similar to your tests.
Thanks; I'll work with that!

If I figure it out, are you open for contributions for a new interface?

If it's fairly simple and low maintenance we'd at least consider it, but no promises.
Depending on the solution, we could potentially ship something in an additional package if the only bar was blurring the stats/management boundary.
If it was very very simple though, maybe it could just be a docs thing for the README that people copy-paste, rather than actually shipping the code if it was very trivial.

Makes sense, thanks!


[FA]: squeeze Z and H into one axis to align with XeTLA

Squeeze Z H into the same axis as what XeTLA does. This change can have about 3% benefit for N_CTX = 512 shapes.

Any performance impact for this change ?


[Clean up] Update the OpenPaymentsPage command to return bank details and card details from Auth

Problem
We are massaging the response data for the OpenPaymentsPage in Web. We end up sending the card details and bank account details in a different format than in other Auth commands, which leads to confusion. Example is here https://github.com/Expensify/App/issues/47239 where the allowDebit, bank account type and accountNumber were missing in response from the AcceptACHContractForBankAccount command
### Solution
Start returning the card and bank account details for OpenPaymentsPage from Auth so we can use the same methods as we do in other commands like in OpenCardDetailsPage

This is just a polish

Not focusin gon this yet as its just polish

Havent got around yet

@nkuoch not sure now, but is this fully completed? Or do we have one PR left?

I need to do 1 last cleanup to remove the transition code. OOO this week. So will do it on tuesday

Thank you for clarifying

Ah no, I also need to migrate fundList, userWallet and cardList formatting auth side.
On it!

le legende

this is done I believe


MAINT: Restore 2 jobs on Windows

In theory this should work now that https://github.com/scikit-learn/scikit-learn/pull/28692 has landed and new wheels presumably uploaded

This PR now also attempts to bump a few CIs to 3.12 from 3.11. I think in theory it should work


Confused by Harmony

I am sure i am being dumb
I entered what i think is my harmony IP address (which i cant seem to verify anywhere other than doing IP scan for port 5222 (any better ideas?)
when i call this on my Bridge: http://<IP_ADDRESS>/api/devices/harmony/show
i get [] back
i see nothing on the harmony pages on the bridge
help

Your Harmony IP can be seen using the Harmony app: Menu > About > Versions

Thanks, found it - i did have it correct then from the scan.
what should i see when i add it to the bridge? - it doesnt show any devices etc

After you add the Harmony Hub in the Bridge Control tab (and saved it) do you then see the two tabs for Harmony Devices and Harmony Activities?

yes

And when you click on them you see nothing?
Can you confirm your HA Bridge Version number (found in the "About" dropdown at the top of the page)

yep nothing
3.5.1

I expect you already have rebooted the machine running HA Bridge?
What version Harmony Hub are you running (found in the same place as the Harmony IP)? I am running 4.12.36

same version
So i rebooted everything and deleted it all and added it again and now it works - who knows :)
thanks for your help


feat: support marimo poc version

related issue:
https://github.com/Kanaries/pygwalker/issues/638
demo code:
import pandas as pd
from pygwalker.api.marimo import walk

df = pd.read_csv("xxx.csv")

walk(df, spec="spec.json")

import pandas as pd
import pygwalker.api.marimo as pyg

df = pd.read_csv("xxx.csv")
pyg.walk(df, spec="spec.json")

It can only make pygwalker work normally on Marimo, and currently no responsive features have been introduced.

demo code:
import pandas as pd
from pygwalker.api.marimo import walk

df = pd.read_csv("xxx.csv")

walk(df, spec="spec.json")

import pandas as pd
import pygwalker.api.marimo as pyg

df = pd.read_csv("xxx.csv")
pyg.walk(df, spec="spec.json")

On running the demo code above, I get the following error:

[!CAUTION]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 815177: character maps to

Also tried reading the dataframes with encoding="utf-8"


Add queue mix-in for storage implementations

This PR adds a buffering queue which storage implementations may use to batch up calls to their Add methods.
If multiple identical entries are added to the queue, it will silently de-deduplicate them and return the same assigned index (or error) for each.
Supports #6

GH auto-closed this for reasons best known to itself, re-raised in #44


feat: embed buttons in github battery

Describe the changes you have made in this PR
Adds a button to the GitHub page to make tipping more evident.
Link this PR to an issue
#1442
Type of change (Remove other not matching type)

feat: New feature (non-breaking change which adds functionality)

Screenshots of the changes (If any)

How has this been tested?
Tested Manually
Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[x] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

In general I like this a lot. If we add more such buttons we should extract that button code somehow.

Closing in favor of "The Boost Button" #1939


#38 #41 Updates and fixes

Hello,
I've added the fix for AppVeyor where the build hangs and now it works.
And also added the standard atom grammar keywords to the package file.
Thanks for making this grammar package.

LGTM, thanks for taking the initiative to send me a PR :smile:, much appreciated :+1:


Use shift + Tab to go back to the previous step

There is no test for this and I am not sure that we can have a proper test soon. My proposal is to land things like this now and worry about testing it later.
If we do this way, then we can at least land small stuff that are not that critical but have a lot of requests.

I removed this from milestone 0.6.0, too risky.

Shift+Tab now works in master.


fix the "in" operator to be mixed case

Verified in super commit 452f3c6.
Before:
$ super -version
Version: v1.18.0-102-gf1a996de

$ super -c "SELECT * FROM 'customers.csv' WHERE City IN ['Paris', 'London'];"
parse error at line 1, column 42:
SELECT * FROM 'customers.csv' WHERE City IN ['Paris', 'London'];
                                     === ^ ===

Now:
$ super -version
Version: v1.18.0-104-g452f3c61

$ super -c "SELECT * FROM 'customers.csv' WHERE City IN ['Paris', 'London'];"
{CustomerID:4.,CustomerName:"Around the Horn",ContactName:"Thomas Hardy",Address:"120 Hanover Sq.",City:"London",PostalCode:"WA1 1DP",Country:"UK"}
{CustomerID:11.,CustomerName:"B's Beverages",ContactName:"Victoria Ashworth",Address:"Fauntleroy Circus",City:"London",PostalCode:"EC2 5NT",Country:"UK"}
{CustomerID:16.,CustomerName:"Consolidated Holdings",ContactName:"Elizabeth Brown",Address:"Berkeley Gardens 12 Brewery",City:"London",PostalCode:"WX1 6LT",Country:"UK"}
{CustomerID:19.,CustomerName:"Eastern Connection",ContactName:"Ann Devon",Address:"35 King George",City:"London",PostalCode:"WX3 6FW",Country:"UK"}
{CustomerID:53.,CustomerName:"North/South",ContactName:"Simon Crowther",Address:"South House 300 Queensbridge",City:"London",PostalCode:"SW7 1RZ",Country:"UK"}
{CustomerID:57.,CustomerName:"Paris spécialités",ContactName:"Marie Bertrand",Address:"265, boulevard Charonne",City:"Paris",PostalCode:75012.,Country:"France"}
{CustomerID:72.,CustomerName:"Seven Seas Imports",ContactName:"Hari Kumar",Address:"90 Wadhurst Rd.",City:"London",PostalCode:"OX15 4NB",Country:"UK"}
{CustomerID:74.,CustomerName:"Spécialités du monde",ContactName:"Dominique Perrier",Address:"25, rue Lauriston",City:"Paris",PostalCode:75016.,Country:"France"}

Thanks @mccanne!


[ACT] [CTG] [ISAC] Add support Zcd extension in RV64

Description

Add test case for compressed double precision floating point load and store operation for RV64.

Related Issues

I have missed test cases for RV64Zcd and other test cases are approved and merged - [ACT] [CTG] [ISAC] Add support for Zcf and Zcd extension #497

Ratified/Unratified Extensions

Unratified

List Extensions

Zcd

Reference Model Used

Spike

Mandatory Checklist:
For RV64Zcd:
https://gitlab.com/ptprasanna/actreports/-/tree/main/RV64Zcd?ref_type=heads

Thanks Umer.


need to more completely parse floating numbers

23e-09 for example

Can now parse
-678.89e-05
-.23
.33
0.23
29s - a name


[Key Vault] Re-generate libraries and release first beta for service version 7.6-preview.1

Use the service specification added in this commit. Changes should only include two new KV Administration LRO endpoints: /prebackup and /prerestore, much akin to /backup and /restore.

Work is waiting on Service Team to release

Feature crew decided to not release 7.6-preview.1
Next release will be 7.6-preview.2


Lightning:UI issues of Channel details page.

Channel ID: It should be copiable.
Status: A should be capital in active.
Private: first letter should be capital of false.
Close Channel button: It should have a note like when someone click on it should ask that you want to close it or not?
Channel Details: Heading should be Channel Details not Channels.

Verified this issue on dev app v2.0.75(469)


SERDE-1 - Warning on unused attributes

https://developers.gitstart.com/client/stockly/ticket/SERDE-1
Fix: Added a compile time warning.
A compile-time warning is displayed when the into container attribute is used with other field attributes. Link to a test program.
In order to emit a compile-time warning, the #![feature(proc_macro_diagnostic)] was added to the lib.rs files. This required the use of proc-macro2 nightly features.
[dependencies]
# nightly version supports #![feature(proc_macro_diagnostic)]
proc-macro2 = { version = "1.0", features = ["nightly"] }

Sample of warning issued:
warning: #[serde(into)] container attribute will invalidate all field attributes
 --> demo\src\main.rs:8:5
  |
8 |     field_1: usize,
  |     ^^^^^^^

warning: `demo` (bin "demo") generated 1 warning

Do we need test for this?

https://developers.gitstart.com/client/stockly/ticket/SERDE-1

I cannot view this url without an account.
Please track issues in our issue tracking instead of in another webpage.


Update to 11.8.0

This recipe must be built locally on our builders, as Prefect machines don't have any GPU resources. While technically linux-aarch64 is also supported, lack of local machines with GPU resources prevents us from building for this architecture. The structure of the recipe is also different (there is no recipe folder), which might cause Prefect builds to fail.
Note that this branch will not be merged to master - keeping a separate branch for each version makes it easier to revisit this recipe and update/fix it as needed.

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c7l038b5t7/clone/recipe/meta.yaml:0: missing_meta_yaml: The recipe is missing a meta.yaml file
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_d0384sfj7i/clone/recipe/meta.yaml:0: missing_meta_yaml: The recipe is missing a meta.yaml file
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_871qd8ry13/clone/recipe/meta.yaml:0: missing_meta_yaml: The recipe is missing a meta.yaml file
Errors were found

I disagree with keeping this open like this. master should contain the most recent code. we should merge this and create a new branch master-11.3 if you want to keep the old version visible.


What minimum permissions are required for access to the Container registry

I have created a service principal, acr_sp_reader, and given the account the roles, Reader and AcrPull for the container registry.  The account is still unable to authenticate.  The module deployment works correctly when using the default admin account of the ACR.  What minimum permissions are required for module deployments?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ad3731a8-f0df-f1a1-d1a1-e89a769a0908
Version Independent ID: 50a5190e-eafa-7dde-c18f-be9505b00a0a
Content: Deploy module & routes with deployment manifests - Azure IoT Edge
Content Source: articles/iot-edge/module-composition.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@grizzljt Thank you for bringing this to our attention. I am investigating this issue and will update you when I have accurate information to share.

To test, I escalated the roles of the Service Principal acr_sp_reader to include AcrPush, AcrDelete, AcrImageSigner, as well as AcrPull and Reader.  This account is still unable to authenticate.  My deployment manifest looks like this:
"registryCredentials": {
  "nonprodxxx": {
    "username": "acr-sp-read",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

however this works fine:
"registryCredentials": {
  "nonprodxxx": {
    "username": "nonprodxxx",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

To test, I escalated the roles of the Service Principal acr_sp_reader to include AcrPush, AcrDelete, AcrImageSigner, as well as AcrPull and Reader. This account is still unable to authenticate. My deployment manifest looks like this:
"registryCredentials": {
  "nonprodxxx": {
    "username": "acr-sp-read",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

however this works fine:
"registryCredentials": {
  "nonprodxxx": {
    "username": "nonprodxxx",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

I am using the AzureIoTEdge@2 task and 'Deploy to IoT Edge devices' action in Azure DevOps.  I see the following error in Azure DevOps:
Checking if the following file is a valid json: /home/vsts/work/1/s/config/deployment.json
Valid
##[warning]Failed to login nonprodxxx.azurecr.io with given credential. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://nonprodxxx.azurecr.io/v2/: unauthorized: authentication required
##[error]Error: Error: nonprodxxx.azurecr.io/contentmodule:0.0.26616-arm32v7 does not exist or the credential is not set correctly. Error: Get https://nonprodxxx.azurecr.io/v2/contentmodule/manifests/0.0.26616-arm32v7: unauthorized: authentication required

To test, I escalated the roles of the Service Principal acr_sp_reader to include AcrPush, AcrDelete, AcrImageSigner, as well as AcrPull and Reader. This account is still unable to authenticate. My deployment manifest looks like this:
"registryCredentials": {
  "nonprodxxx": {
    "username": "acr_sp_reader",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

however this works fine:
"registryCredentials": {
  "nonprodxxx": {
    "username": "nonprodxxx",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

I am using the AzureIoTEdge@2 task and 'Deploy to IoT Edge devices' action in Azure DevOps. I see the following error in Azure DevOps:
Checking if the following file is a valid json: /home/vsts/work/1/s/config/deployment.json
Valid
##[warning]Failed to login nonprodxxx.azurecr.io with given credential. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://nonprodxxx.azurecr.io/v2/: unauthorized: authentication required
##[error]Error: Error: nonprodxxx.azurecr.io/contentmodule:0.0.26616-arm32v7 does not exist or the credential is not set correctly. Error: Get https://nonprodxxx.azurecr.io/v2/contentmodule/manifests/0.0.26616-arm32v7: unauthorized: authentication required

Eureka!
The APP ID of the Service Principal works with Reader and AcrPull roles on the ACR.
"registryCredentials": {
  "nonprodxxx": {
    "username": "acr_sp_reader-APP-ID-GUID",
    "password": "SUPERSECRETPASSWORD",
    "address": "nonprodxxx.azurecr.io"

@grizzljt Glad to hear that your issue is resolved. Appreciate for sharing the resolution. This documentation has the information regarding ACR roles and permissions.
Adding author @kgremban to review this and update the doc if necessary to include this info.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

No production scenario should use the default ACR admin account in the deployment JSON as this article unintentionally implies.  There are two missing pieces in the documentation to use a least privileged service account.  One, the documentation was not clear on that the username needed to be the application registration GUID, not the service principal name nor service principal GUID.  Two, the documentation did not mention the minimum permissions necessary for the deployment JSON to succeed (at least AcrPull and potentially Reader)


User-defined functions (handlebars helpers) do not work without passing in at least one argument

The bug
Handlebars helpers can be called without passing in arguments. However Guidance does not respect this as will instead pass the string representation of the function.
To Reproduce
import datetime
import openai
import guidance

openai.api_key = os.getenv("OPENAI_API_KEY")

gpt35 = guidance.llms.OpenAI("gpt-3.5-turbo")

def current_year():
    return datetime.datetime.now().year

prog = guidance.Program("""
                        {{#user~}}
                        - Say the year "{{current_year}}" in roman numerals.
                        - Say nothing else but the roman numerals.
                        - If the year does not look like a year, say "FAIL".
                        {{~/user}}

                        {{#assistant~}}
                        {{gen 'answer' temperature=0 max_tokens=100}}
                        {{~/assistant}}
                        """, llm=gpt35)

prog(current_year=current_year)

Expected Behavior
- Say the year "{{current_year}}" in roman numerals.
Actual Behavior
- Say the year "<function current_year at 0x1253672e0>" in roman numerals.
System info (please complete the following information):

OS (e.g. Ubuntu, Windows 11, Mac OS, etc.): MacOS
Guidance Version (guidance.__version__): 0.0.64

I should say that the obvious solution is to call the function when you pass in the values. But ideally this would still behave.

Please check out our new release, where tool use is way better. Sorry it took us so long to get to it!

@marcotcr awesome news!


SCI browser nREPL awesomeness

@mk Will solve merge conflicts after review.
See doc/browser-repl.md for how to use.

I need to revise the sci.nrepl dependency since some things have changed there meanwhile, next time I work on this.

Resurrected this in #659.


WIP [Sign and Submit] Integrate Backend, Submission, All Checkboxes Checked Requirement, Success Notification

closes #1008
TODO:

[x] Sign and Certify Axios Request
[x] Sign and Certify Mutation
[ ] Enable the final checkbox and submit -- once all the other checkboxes above have been checked
[ ] Show success box with confirmation number
[ ] Put in code guards: Scenario: if the user restarted the filing process after having previously signed and submitted

I'll work on getting this great PR finished up.


Converting finetuned Llama 3.1 using LORA into AWQ

I have finetuned the llama 3.1 using unsloth. Then, i merged and unloaded the LORA model and pushed to the hub.
Now when i tried quantizing it using:
from awq import AutoAWQForCausalLM

quant_config = {
  "zero_point": True,
  "q_group_size": 128,
  "w_bit": 4,
  "version": "GEMM",
}

# Load model
model = AutoAWQForCausalLM.from_pretrained(
  model_path, low_cpu_mem_usage=True, use_cache=False,token=access_token
)
tokenizer = AutoTokenizer.from_pretrained(model_path, token=access_token)

# Quantize
model.quantize(tokenizer, quant_config=quant_config)

But this is showing : RuntimeError: output with shape [8388608, 1] doesn't match the broadcast shape [8388608, 4096]
I am confused and not sure what the issue is. Can anyone please guide me?

If you have a normal FP16/BF16 model, this does not happen. I would suggest you check if the model can run inference with Huggingface libraries as a first step

@casper-hansen

Yeah, I am able to run inference with huggingface model. As can be seen on the screenshot.
Not sure, what is the issue with converting it into the AWQ format as i want to test AWQ with vLLM.
Important note to be considered is that i have used unsloth for finetuning utilizing LORA and save model using merge_and_unload() method of peftmodel.


portico and help: Link to guide to choosing a team chat app.

Notes:

Not added to the bottom nav, but I think we don't necessarily need it there?

Merged, thanks @alya!


Throw std::range_error exception instead of notFound.

This change is

Review status: 0 of 17 files reviewed at latest revision, 3 unresolved discussions.

src/ofApp.cpp, line 4 [r1] (raw file):

#include "graphics-utils.h"

ofApp::ofApp() : left(ofPoint(165, 165), 240), largeLeft(ofPoint(465, 165), 500), smallLeft(ofPoint(1000, 165), 100) {}

This shouldn't be committed.

src/base/animated.cpp, line 3 [r1] (raw file):

#include "animated.h"

#include <iostream>

Can also remove

src/base/animated.h, line 5 [r1] (raw file):

#include <vector>

#include "base/animationEvent.h"

Remove subdir from all includes.

Comments from Reviewable

Reviewed 17 of 17 files at r1.
Review status: 15 of 17 files reviewed at latest revision, 6 unresolved discussions.

src/base/animated.cpp, line 3 [r1] (raw file):
Previously, Paul92 wrote…
> Can also remove

LGTM

src/base/animated.cpp, line 39 [r2] (raw file):

}

void Animated::addEvent(AnimationEvent event, int index) {

index can't be negative. change it's type to unsigned int and check just for upper limit (you need to check it too).

src/base/animated.cpp, line 46 [r2] (raw file):

        std::string errorMessage = "Not a correct value for index in function ";
        errorMessage += __func__;
        throw std::invalid_argument(errorMessage);

Would be better to throw a std::out_of_range here; the issue is not the validity of the argument but its range.

src/base/animated.h, line 5 [r1] (raw file):
Previously, Paul92 wrote…
> Remove subdir from all includes.

LGTM

src/base/animated.h, line 40 [r2] (raw file):

         * @throws invalid_argument if value of index is negative.
         * @throws bad_alloc by events.insert() if the allocation does not
         * succed.

Typo: it's succeed. Also, change by to from and align the succeed from the second line to from and make the sentence after the exception name start with capital letter.
Try to avoid referring to parameters in @brief statement. You can say something like "Add event at given position", and add "@param index The position after which the element is inserted.".

Comments from Reviewable

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

Comments from Reviewable

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

src/base/animated.cpp, line 46 [r2] (raw file):
Previously, Paul92 wrote…
> Would be better to throw a std::out_of_range here; the issue is not the validity of the argument but its range.

Say that the index exceeds the vector size. And it's exceedS.

src/base/animated.h, line 40 [r2] (raw file):
Previously, Paul92 wrote…
> Typo: it's succeed. Also, change by to from and align the succeed from the second line to from and make the sentence after the exception name start with capital letter.
>
> Try to avoid referring to parameters in @brief statement. You can say something like "Add event at given position", and add "@param index The position after which the element is inserted.".

Do not use the name of the private member when specifying the source of the exception. Instead, say std::vector::insert()

src/ofApp.cpp, line 4 [r1] (raw file):
Previously, Paul92 wrote…
> This shouldn't be committed.

OK

Comments from Reviewable

Review status: all files reviewed at latest revision, 3 unresolved discussions.

src/base/animated.cpp, line 39 [r2] (raw file):
Previously, Paul92 wrote…
> index can't be negative. change it's type to unsigned int and check just for upper limit (you need to check it too).

OK

Comments from Reviewable

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

src/base/animated.h, line 40 [r2] (raw file):
Previously, Paul92 wrote…
> Do not use the name of the private member when specifying the source of the exception. Instead, say std::vector::insert()

OK

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions, all commit checks successful.

src/base/animated.cpp, line 15 [r4] (raw file):

    }

    currentTime += 1;

Document what happens at overflow.
Also, consider using an internal clock (something like std::chrono::steady_clock or ofGetElapsedTimef or similar) instead of relying on the user to call updateTime(). This way, the animation events could be setup in terms of time and not frames (which are unreliable anyway, since the framerate may vary). In order to do this, check if there is a time function (i'd prefer something from standard library rather than openFrameworks) that can achieve a milisecond resolution (the current animations are defined in terms of frames, which last for about 16 miliseconds, so a milisecond resolution is necessary for the clock).
If a good internal clock is to be found, it would greatly simplify the usage of this class since it would remove the necessity of calling updateTime() at each frame (also improving performance). The currentEventIndex can be updated when asked for the current event.

src/base/animated.cpp, line 34 [r4] (raw file):

}

void Animated::addEvent(AnimationEvent event) {

I don't like the addEvent/addDelay methods. They are nice to initialize the object, but create problems if called when the animation is running (i.e. in between calls to updateTime()). And there is currently no way of preventing this.
Need to think of a better way.
One approach would be to use a small factory that creates objects for the desired animation and prevent the user from changing the animation in those events.
Another, an arguably simpler and cleaner way would be to:
- Create delay animation events (have a flag in the animation event which indicates whether it is a delay event or an animation event)
- Take a std::vector when constructing the animation object. The vector is supposed to be created by the user before creating the animation.
- After the animation object is created, the animation cannot be changed (it can only be reset).

src/base/animated.cpp, line 35 [r4] (raw file):

void Animated::addEvent(AnimationEvent event) {
    events.push_back(event);

Remove the call to reset() below. Breaks SRP.

src/base/animated.cpp, line 46 [r4] (raw file):

    } else {
        events.insert(events.begin() + index, event);
        reset();

Remove this reset().

src/base/animated.cpp, line 64 [r4] (raw file):

    float totalDelay = 0;

    for (size_t index = 0; index < events.size(); index++)

Use a range-for loop (it's cleaner).

src/base/animated.h, line 38 [r4] (raw file):

        /**
         * @brief Add event at given position.
         * @param The position after which the element is inserted.

Apparently vector::insert() inserts the new element BEFORE the position indicated by the iterator. My bad.

Comments from Reviewable

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

Comments from Reviewable

Reviewed 1 of 4 files at r6.
Review status: 15 of 18 files reviewed at latest revision, 13 unresolved discussions.

src/base/animated.cpp, line 64 [r4] (raw file):
Previously, Paul92 wrote…
> Use a range-for loop (it's cleaner).

Leave spaces around : .

src/base/animated.cpp, line 6 [r6] (raw file):

Animated::Animated() {
    initialTime = std::chrono::steady_clock::now();

Use constructor initializer list to initialize initialTime, rather than copying a new object.

src/base/animated.cpp, line 10 [r6] (raw file):

}

void Animated::updateAnimation() {

Remove this commented code for now, prepare to remove function.

src/base/animated.cpp, line 30 [r6] (raw file):

std::string Animated::currentEvent() {
    if (currentEventIndex >= events.size()) {
        std::string errMessage = "Current event not found ";

Find a more explicit message.  It's not supposed to search for the current event (so you can say that it can't be found). Consider doing something along the lines of "Index of currentEvent out of range. Does your animation have an infinite event at the end?"

src/base/animated.cpp, line 38 [r6] (raw file):

    std::chrono::steady_clock::time_point currentDuration = std::chrono::steady_clock::now();
    std::chrono::duration<int, std::milli>diff = std::chrono::duration_cast<std::chrono::duration<int, std::milli>>(currentDuration - initialTime);

Make the type of diff auto. Find a better name for diff

src/base/animated.cpp, line 40 [r6] (raw file):

    std::chrono::duration<int, std::milli>diff = std::chrono::duration_cast<std::chrono::duration<int, std::milli>>(currentDuration - initialTime);

    if (diff.count() <= events[currentEventIndex].getDuration()) {

This is wrong. Your diff is the time passed since the animation started, not since the event started.

src/base/animated.cpp, line 50 [r6] (raw file):

int Animated::getTime() {
    currentTime = std::chrono::steady_clock::now();
    std::chrono::duration<int, std::milli>difference = std::chrono::duration_cast<std::chrono::duration<int, std::milli>>(currentTime - initialTime);

Use auto as the type for difference. Makes the line shorter and the code easier to read. Also, this is wrong. As required by the interface, the getTime() should return the time since the event has started, not the time since the animation has started.

src/base/animated.cpp, line 80 [r6] (raw file):

float Animated::getDelay() const {

    float totalDelay = 0;

Use double for better precision.

src/base/animated.h, line 7 [r6] (raw file):

#include "animationEvent.h"

#include <ctime>

Group these 3 includes with the vector above.

src/base/animated.h, line 74 [r6] (raw file):

        /// The value of the internal time counter, in frames.
        std::chrono::steady_clock::time_point currentTime;

The documentation for this is wrong. Also, do you actually use it?

src/base/animationEvent.cpp, line 5 [r6] (raw file):

#include "exceptions/infiniteEvent.h"

/*void AnimationEvent::setInfinite() {

Don't comment, delete.

src/base/animationEvent.h, line 4 [r6] (raw file):

#include <string>

Don't need this blank line.

Comments from Reviewable

Reviewed 2 of 4 files at r6.
Review status: 17 of 18 files reviewed at latest revision, 13 unresolved discussions.

Comments from Reviewable

Reviewed 1 of 4 files at r7.
Review status: 15 of 18 files reviewed at latest revision, 7 unresolved discussions.

src/base/animated.cpp, line 30 [r6] (raw file):
Previously, Paul92 wrote…
> Find a more explicit message.  It's not supposed to search for the current event (so you can say that it can't be found). Consider doing something along the lines of "Index of currentEvent out of range. Does your animation have an infinite event at the end?"

You don't need to declare explicitly a string to pass to the std::range_error constructor. You can seay thwor std::range_error("blah blah");

src/base/animated.cpp, line 38 [r6] (raw file):
Previously, Paul92 wrote…
> Make the type of diff auto. Find a better name for diff

timePassed since when? not clear enough (use a more descriptive name or add comment). Also, currentduration can be made auto too.

src/base/animated.h, line 74 [r6] (raw file):
Previously, Paul92 wrote…
> The documentation for this is wrong. Also, do you actually use it?

My bad. you use it. Reformulating...Do you actually need this to be a class member?

Comments from Reviewable

Review status: 15 of 18 files reviewed at latest revision, 8 unresolved discussions.

src/base/animated.cpp, line 57 [r7] (raw file):

void Animated::reset() {
    //currentTime = 0;

Remove comment.

Comments from Reviewable

Reviewed 3 of 4 files at r7, 1 of 1 files at r8.
Review status: all files reviewed at latest revision, 8 unresolved discussions.

src/base/animated.cpp, line 6 [r6] (raw file):
Previously, Paul92 wrote…
> Use constructor initializer list to initialize initialTime, rather than copying a new object.

OK

src/base/animated.cpp, line 30 [r6] (raw file):
Previously, Paul92 wrote…
> You don't need to declare explicitly a string to pass to the std::range_error constructor. You can seay thwor std::range_error("blah blah");

The exception message is still not good enough. It exposes some internal functionality of the class. As a user of the class, I don't need to know that there is a index used internally to indicate the current event.

src/base/animated.cpp, line 40 [r6] (raw file):
Previously, Paul92 wrote…
> This is wrong. Your diff is the time passed since the animation started, not since the event started.

OK

src/base/animated.cpp, line 57 [r7] (raw file):
Previously, Paul92 wrote…
> Remove comment.

OK

src/base/animated.cpp, line 21 [r8] (raw file):

    auto currentDuration = std::chrono::steady_clock::now();
    auto timePassed = std::chrono::duration_cast<std::chrono::duration<int, std::milli>>(currentDuration - initialTime);
    int milliSeconds = timePassed.count();

Oh come on, milliSeconds is the worst name you could have picked. Find more meaningful names. Just to indicate how bad is it, both timePassed and currentDuration are in milliseconds (and also have bad names).

Comments from Reviewable

Review status: all files reviewed at latest revision, 9 unresolved discussions.

src/base/animated.cpp, line 23 [r8] (raw file):

    int milliSeconds = timePassed.count();

    for (unsigned int index = 0; index < currentEventIndex; index++) {

Use std::vector::size_type to iterate over std::vector. According to the documentation, that's the type of the parameter of operator[]. Using the same type for your iterator removes the chance of an overflow.

Comments from Reviewable

Review status: 16 of 18 files reviewed at latest revision, 3 unresolved discussions.

src/base/animated.cpp, line 30 [r6] (raw file):
Previously, Paul92 wrote…
> The exception message is still not good enough. It exposes some internal functionality of the class. As a user of the class, I don't need to know that there is a index used internally to indicate the current event.

Over 80 characters per line.

src/base/animated.cpp, line 38 [r6] (raw file):
Previously, Paul92 wrote…
> timePassed since when? not clear enough (use a more descriptive name or add comment). Also, currentduration can be made auto too.

over 80 characters per line. Consider using something like timeFromBeginning to make the name shorter.

src/base/animated.cpp, line 50 [r6] (raw file):
Previously, Paul92 wrote…
> Use auto as the type for difference. Makes the line shorter and the code easier to read. Also, this is wrong. As required by the interface, the getTime() should return the time since the event has started, not the time since the animation has started.

OK

src/base/animated.cpp, line 21 [r8] (raw file):
Previously, Paul92 wrote…
> Oh come on, milliSeconds is the worst name you could have picked. Find more meaningful names. Just to indicate how bad is it, both timePassed and currentDuration are in milliseconds (and also have bad names).

OK

src/base/animated.cpp, line 23 [r8] (raw file):
Previously, Paul92 wrote…
> Use std::vector::size_type to iterate over std::vector. According to the documentation, that's the type of the parameter of operator[]. Using the same type for your iterator removes the chance of an overflow.

OK

src/base/animated.h, line 74 [r6] (raw file):
Previously, Paul92 wrote…
> My bad. you use it. Reformulating...Do you actually need this to be a class member?

OK

Comments from Reviewable

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

Comments from Reviewable

Review status: 17 of 18 files reviewed at latest revision, 2 unresolved discussions.

src/base/animated.cpp, line 30 [r6] (raw file):
Previously, Paul92 wrote…
> Over 80 characters per line.

OK

src/base/animated.cpp, line 38 [r6] (raw file):
Previously, Paul92 wrote…
> over 80 characters per line. Consider using something like timeFromBeginning to make the name shorter.

Since timeFromEventBeginning below has a nice documentation, this should have one too. Same applies to those in getTime(). And BTW, theere are 2 spaces between int and timeFromEventBeginning below.

Comments from Reviewable

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

Comments from Reviewable

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

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

src/base/animated.cpp, line 34 [r4] (raw file):
Previously, Paul92 wrote…
> I don't like the addEvent/addDelay methods. They are nice to initialize the object, but create problems if called when the animation is running (i.e. in between calls to updateTime()). And there is currently no way of preventing this.
>
> Need to think of a better way.
>
> One approach would be to use a small factory that creates objects for the desired animation and prevent the user from changing the animation in those events.
>
> Another, an arguably simpler and cleaner way would be to:
>     - Create delay animation events (have a flag in the animation event which indicates whether it is a delay event or an animation event)
>     - Take a std::vector when constructing the animation object. The vector is supposed to be created by the user before creating the animation.
>      - After the animation object is created, the animation cannot be changed (it can only be reset).
>

Deferred :ok:

Comments from Reviewable


Initial setup

Issue: https://github.com/yola/production/issues/6397

tests?

@aleksuk @a-udyrenko should .tablet also be true when it's iPadOS device?

@chevsky I think yep, cause we should achieve a "tablet" behavior from the new iPad, which tries to pretend a desktop (for example to avoid hover-dependent UI controls, or to position some of modals differently than on the desktop).


Watch for new scenes in home directory and reload workspace when something changes

Closed because now we manage the project list #64


bug: node cleaner for function bodies (cont. #209)

This is the continuation of our previous conversation in #211
@morgante I believe it's a valid javascript, can you recheck ?
const x = () => (log(), log());

Honestly tho, I don't think Grit should handle that, but just throwing this case here.
Here is another example that looks like a domino effect, If we are trying to remove a default value of a destructed property

My initial thoughts
1. we may decide to remove the parameter since we can't put any other value.
2. then you will have to check if it's the only parameter to remove `{}`
3. then you will have to remove the entire line if that's the case.

but I guess we can just just remove the assign operator

more examples  https://app.grit.io/studio?key=jymCvYCQhupCZUL-PWIrH&preset=no_alert


Update SHOW INDEX docs

Add Implicit column to all examples
Other minor fixes

Fixes #1201

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/380a8c3c43807f1985a605cb01df8d72f204b0e6/

Review status: 0 of 6 files reviewed at latest revision, 2 unresolved discussions.

drop-index.md, line 49 at r1 (raw file):
Previously, nvanbenschoten (Nathan VanBenschoten) wrote…
I have a general question about the styling we have here. It looks like we have a separate ~~~ sql section for a command and its output throughout our docs. This looks fine when there is only a single command and output, but starts to look really cluttered in places like this with repeated commands and outputs alternating. It gets hard to even tell what is input and what is output. Have we considered grouping the command and its output together into a single section?

We actually started separating sql commands and outputs something like a year ago after getting feedback that it's hard to parse when they're in a single block. But we're probably going overboard.
@sploiselle, what do you think about our updating the guidelines to state that we should provide the sql output only when it's related to the point being made. So no need to show CREATE TABLE and such outputs unless necessary?
https://github.com/cockroachdb/docs/blob/gh-pages/CONTRIBUTING.md#sql-code-samples

show-index.md, line 34 at r1 (raw file):
Previously, nvanbenschoten (Nathan VanBenschoten) wrote…
The following fields are returned for each column in each index.

Done. Good catch. Thanks.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c9099e9aeb4567284521123d8b506e00fda9f460/

Review status: 0 of 6 files reviewed at latest revision, 2 unresolved discussions.

drop-index.md, line 49 at r1 (raw file):
Previously, jseldess wrote…
We actually started separating sql commands and outputs something like a year ago after getting feedback that it's hard to parse when they're in a single block. But we're probably going overboard.
@sploiselle, what do you think about our updating the guidelines to state that we should provide the sql output only when it's related to the point being made. So no need to show CREATE TABLE and such outputs unless necessary?
https://github.com/cockroachdb/docs/blob/gh-pages/CONTRIBUTING.md#sql-code-samples

More explicit guidance around that sounds good to me.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/1faf08e096c94b78a7dd9215d05774ed37a1149b/

Review status: 0 of 7 files reviewed at latest revision, 2 unresolved discussions.

drop-index.md, line 49 at r1 (raw file):
Previously, sploiselle (Sean Loiselle) wrote…
More explicit guidance around that sounds good to me.

Done.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/1cde6d9c3db806768a57a2ec40c5cf856db031fb/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/f46a8054519820fadeb75c03f0a5bb6914707531/

Review status: 0 of 7 files reviewed at latest revision, 3 unresolved discussions.

show-index.md, line 45 at r3 (raw file):

`Direction` | How the column is sorted in the index. Possible values: `ASC` or `DESC` for indexed columns; `N/A` for stored columns.
`Storing` | Whether or not the `STORING` clause was used to index the column during index creation. Possible values: `true` or `false`.
`Implicit` | Whether or not the column is an implicit part of the index. Possible values: `true` or `false`.

I think this could use a little more detail in the description. Not sure which of these questions is best to answer, but I'm left wondering: What does "implicit" mean? Why are we surfacing this information? What's an example of a column that's implicitly indexed? Is there any consequence?

Comments from Reviewable

show-index.md, line 45 at r3 (raw file):
Previously, sploiselle (Sean Loiselle) wrote…
I think this could use a little more detail in the description. Not sure which of these questions is best to answer, but I'm left wondering: What does "implicit" mean? Why are we surfacing this information? What's an example of a column that's implicitly indexed? Is there any consequence?

Good questions. Looking into it.

Comments from Reviewable

Review status: 0 of 7 files reviewed at latest revision, 3 unresolved discussions.

drop-index.md, line 49 at r1 (raw file):
Previously, jseldess wrote…
Done.

That change to the guidelines seems very reasonable to me.

show-index.md, line 45 at r3 (raw file):
Previously, jseldess wrote…
Good questions. Looking into it.

Columns that are implicitly part of an index are those that are part of the index even without having been specified when creating that index. At the moment, I think the only time that this happens is with the primary key column, which is implicitly part of every index that doesn't explicitly include it (in other words, it's part of all indexes whether it's specified or not).

Comments from Reviewable

Review status: 0 of 7 files reviewed at latest revision, 3 unresolved discussions.

show-index.md, line 45 at r3 (raw file):
Previously, nvanbenschoten (Nathan VanBenschoten) wrote…
Columns that are implicitly part of an index are those that are part of the index even without having been specified when creating that index. At the moment, I think the only time that this happens is with the primary key column, which is implicitly part of every index that doesn't explicitly include it (in other words, it's part of all indexes whether it's specified or not).

Updated the description. @sploiselle and @nvanbenschoten, let me know what you think. I may add a demonstration (using EXPLAIN), perhaps on the CREATE INDEX page.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/09af3ec5d2617447b22d8c3ce72a57285c9ce6ee/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/782c1cef79cc2ab9d12d74aae864ecd7cf3de630/

Review status: 0 of 7 files reviewed at latest revision, 3 unresolved discussions.

show-index.md, line 45 at r3 (raw file):
Previously, jseldess wrote…
Updated the description. @sploiselle and @nvanbenschoten, let me know what you think. I may add a demonstration (using EXPLAIN), perhaps on the CREATE INDEX page.

:bulb: awesome

Comments from Reviewable


Multiple code improvements - squid:S1118, squid:S1066, squid:S2259

This pull request is focused on resolving occurrences of Sonar rules
squid:S1118 - Utility classes should not have public constructors.
squid:S1066 - Collapsible "if" statements should be merged.
squid:S2259 - Null pointers should not be dereferenced.
You can find more information about the issue here:
https://dev.eclipse.org/sonar/rules/show/squid:S1118
https://dev.eclipse.org/sonar/rules/show/squid:S1066
https://dev.eclipse.org/sonar/rules/show/squid:S2259
Please let me know if you have any questions.
George Kankava

I like some of these changes, but there are few merged if-statements that I'd like to keep separated for now (to make it easier to add future logic). If you wouldn't mind, could you revert the changes in BaseCastActivity, Putio, FileDetails, Files, and FilesAndFileDetails? I'll merge after that.

@DSteve595 Updated.


Install error during IDR replacement section of install_dependencies.sh: unable to execute 'gcc'

When attempting to install the pipeline on a new, fresh linux instance from Amazon Web Services (I have tried on both Amazon Linux 2017.09.1 and Ubuntu 16.04 instances), I encounter a fatal error while running install_dependencies.sh.  The error occurs during the section of the install script that uninstalls IDR 2.0.3 and installs the latest one; I think it occurs during the 'python3 setup.py install' call.  Here are the messages I receive:
gcc -pthread -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/miniconda3/envs/bds_atac_py3/lib/python3.5/site-packages/numpy/core/include -I/home/ubuntu/miniconda3/envs/bds_atac_py3/include/python3.5m -c idr/inv_cdf.c -o build/temp.linux-x86_64-3.5/idr/inv_cdf.o
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
As you can see, the conda environment appears to be failing to find a gcc compiler.  Perhaps this is related to a reported conda issue (https://github.com/conda/conda/issues/6030 ) but this issue appears to have been fixed in the conda version that the install is using (running conda -V gives me 'conda 4.4.7').
Below are the commands that I ran on a fresh Ubuntu 16.04 instance from AWS that reproduce this error:
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
[log out, log back in to re-source]
wget https://github.com/leepc12/BigDataScript/blob/master/distro/bds_Linux.tgz?raw=true -O bds_Linux.tgz
mv bds_Linux.tgz $HOME && cd $HOME && tar zxvf bds_Linux.tgz
[get msg: mv: 'bds_Linux.tgz' and '/home/ubuntu/bds_Linux.tgz' are the same file]
nano $HOME/.bashrc
[add export PATH=$PATH:$HOME/.bds to end of bashrc, then write out and exit nano]
[log out, log back in to re-source]
git clone https://github.com/kundajelab/atac_dnase_pipelines --recursive
cd atac_dnase_pipelines [Note that this command is NOT in install instructions, but is necessary to get to the directory where the next command can be recognized]
bash install_dependencies.sh
Any help resolving this issue would be greatly appreciated!

closing this due to long inactivity


MoveFileAction and UT

The change looks great. Tim, can you rebase this work and solve the conflict? Thanks.


Services binary switch does not work

I configured binary sensor switch to control services on my OpenWrt router, but I get only status of the service.
Command "service @{id} stop/start" does not work.
My code in the sensor commands section is this
``

command: service | awk '/cron|samba4/ {print $1 "," $3}'
scan_interval: 300
sensors:

type: binary
key: service
dynamic: true
separator: ","
command_on: service @{id} start
command_off: service @{id} stop
payload_on: running

Hi! Could you please post the output of your command? You can test it in Homeassistant -> Developer tools -> Actions, select SSH: Execute command and choose your device as target.

I got this to work by modifying the sudoers file to allow the homeassistant user i set up to start and stop the services I wanted without password by adding the following to the file.
homeassistant ALL=(ALL) NOPASSWD: /usr/bin/systemctl stop *server.service
homeassistant ALL=(ALL) NOPASSWD: /usr/bin/systemctl start *server.service
(both my services ended with server.service)
I also had to change the syntax of the command_off and command_on parameters in the integration settting for the sensor to include sudo.
command_off: sudo systemctl stop @{id}
command_on: sudo systemctl start @{id}

I am sorry, but I have not noticed any replies till now.
For me it is still not working. I think the problem is that we do not know what @{id} is or it is not correctly defined. Otherwise the service would be shut down.
Developers tools show this:
results:
  - device_id: c552a9de3f20d4825ab3716f9ae0d13e
    device_name: Rpigateway
    success: true
    command: service | awk '/cron|samba4/ {print $1 "," $3}'
    stdout:
      - /etc/init.d/cron,running
      - /etc/init.d/samba4,running
    stderr: []
    code: 0

results:
  - device_id: c552a9de3f20d4825ab3716f9ae0d13e
    device_name: Rpigateway
    success: true
    command: service samba4 stop
    stdout: []
    stderr: []
    code: 0

@viktorp75 The @{id} is the part on the left side of the comma in your stdout. If you want to make the dynamic switch work, you have to modify the command to output only cron,running and samba4,running without the /etc/init.d/ part.
Of course you can always create static switches to do the same thing, in your case that would probably look something like this:
- command: service | awk '/cron|samba4/ {print $3}'
  scan_interval: 300
  sensors:
    - type: binary
      name: Cron
      command_on: service cron start
      command_off: service cron stop
      payload_on: running
    - type: binary
      name: Samba 4
      command_on: service samba4 start
      command_off: service samba4 stop
      payload_on: running


vswhere could not detect VS2022

When I am running the below script in the PowerShell, vswhere is not able to detect Visual Studio 2022, Visual Studio is not updating.
$vswhere= "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vswhereResult = & $vswhere -latest -product *
if ($vswhereResult){
$vsLayoutPath = "\server\share\VSlayoutdirectory"
& "$vsLayoutPath\vs_professional.exe" --quiet --update --wait --offline
& "$vsLayoutPath\vs_professional.exe" update --installPath "vswhereResult" --noWeb --wait --quiet --norestart
} else {
Write-Host "Visual Studio not found"
}

Do you have a preview installed? You need to pass -prerelease? To check if it's in a bad state and needs to be repaired, pass -all and check it's State property. By design, we show neither previews or incomplete instances in default results.

I don't have preview installed. I checked the state, it is not in bad state.

Please paste the output of vswhere -all -prerelease.
Also, you're missing a $ above. It should be:
vswhere = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"

Note also that it doesn't exist if VS isn't installed, so you may want to pull it down via nuget e.g., nuget install vswhere -OutputDirectory "${env:TEMP}\vswhere" or something. Better for CIs.

Did you fix the line that should be:
$vswhere = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
write-host "$vswhere"

And check that $vswhere contains what you think? As written in your OP, it's not correct so $vswhereResult wouldn't contain anything, or at error at best.

You also need to specify you want only the installationPath property:
vswhere.exe -latest -products * -property installationPath
You're passing a bunch of output to the installer so it's erring. You should be checking for errors as well in your script.

Closed as stale.


Added Binary search tree in python program

issue no : #257
@avinash201199

hey , they are not considering dsa,cp and algorithm repo
but you can contribute to this repo as a part of community :)
this will help many students to practice dsa


Deprecate tessellate-viewer in favour of Tailor

tessellate-view tries to fulfil the same purpose as Tailor but is less complete and useful at the same time.
We should deprecate and remove tessellate-viewer from this repository and provide a complete example with Tailor instead. See https://github.com/mfellner/tessellate-mosaic-demo for an example of that.

Closed in https://github.com/zalando-incubator/tessellate/commit/33b8a25a203a5c1906bd03b395d0c6cc966ff8d1

Hey @mfellner :)! Thanks for great contribution. Is there any chance to update provided demo repository for current version of tessellate? Have a great day!


Problem(s) within /war command

Well, as a start : http://prntscr.com/7u166u
As you see, The command input was /war DASDAS ASDASD
DASDAS didn't show up, I thought, Probably some mistake with format or something.
I started a round and I was surprised to see this : http://prntscr.com/7u16on
I thought that textdraws are completely fucked up but once I did /teamname 0 DASDAS
the textdraws were fixed and ASDASD in-round textdraw (bottom) got fixed magically.
(( http://prntscr.com/7u1kmh ))
(The problem isn't related to alignment)
(Tested the /match command and didn't face this)

Alright, upon changing the sscanf params, The problem got fixed.
http://prntscr.com/7u1mel

Make a pull request with the changes.


Prevent Unnecessary Requests on Cache Misses

This PR addresses an issue we ran into while running production workloads using Kafkajs's eachBatch API.
The issue resulted in our consumer cluster DDoS-ing our Confluent Schema Registry on startup. This happened because we processes batches of N messages concurrently (we don't care about ordering for this particular use-case) resulting in N calls to SchemaRegistry.decode/1 and thus N cache-misses/API calls to Schema Registry.
The solution submitted here adds simple logic to check if there is already an in-flight API request for a particular schema and reuses that Promise if so.

Note: Not sure why the tests tasks are failing in CI (they pass locally with yarn test) - investigating.

@erikengervall @tulios would you folks mind taking a look at this?

@erikengervall @tulios would you folks mind taking a look at this?

Apologies for the delay! The PR is now reviewed 🙂

No worries! Thanks for the suggested changes @erikengervall Committed those. Thanks for open-sourcing this library, it's been very useful for us.

Available in v1.0.5 :)


Loaders for particular file extensions

Want to use the Base64 loader for particular file extensions.
I see how to implement plugins, but don't see any way to pass any loader flags to esbuild via this plugin
https://esbuild.github.io/content-types/#base64

I'm fairly sure we just pass through options to esbuild. Does this work?
custom:
  esbuild:
    loader: .data=base64

@samchungy I'll give that a go!
I got it working via a custom plugin, build.onLoad({ filter }, async (args) => {...})

Gonna close this ticket, please yell out if this is not resolved


Animal Ally & Boon Companion

The feats Animal Ally and Boon Companion do not interact with each other.
Also, Animal Ally itself is bugged, the animal companion should have a level of: your character level -3, but it's actually your character level -4. My animal companion was at level 16 when I hit 20 and Boon Companion didn't work.

This is a result of the animal compation progression fix. 16 at 20 is
correct progression for a full progression animal companion which you have
with animal ally and boon companion.
On Fri, May 10, 2024, 13:28 Patryvius @.***> wrote:

The feats Animal Ally and Boon Companion do not interact with each other.
Also, Animal Ally itself is bugged, the animal companion should have a
level of: your character level -3, but it's actually your character level
-4. My animal companion was at level 16 when I hit 20 and Boon Companion
didn't work.
—
Reply to this email directly, view it on GitHub
https://github.com/Vek17/TabletopTweaks-Core/issues/36, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPCCR5VE5ICCGLPIDZTZBUGVPAVCNFSM6AAAAABHRCALG2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGI4TAMRQHE3DQNY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

But wouldn't this mean that you should get a max level animal companion by level 20? Without Boon Companion?

No you follow this progression
https://www.d20pfsrd.com/classes/core-classes/druid/animal-companions/
Level = Hit Dice
On Tue, May 14, 2024, 07:11 Patryvius @.***> wrote:

But wouldn't this mean that you should get a max level animal companion by
level 20? Without Boon Companion?
—
Reply to this email directly, view it on GitHub
https://github.com/Vek17/TabletopTweaks-Core/issues/36#issuecomment-2110042600,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPACILVFOMNBWPKQVPDZCH5PVAVCNFSM6AAAAABHRCALG2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJQGA2DENRQGA
.
You are receiving this because you commented.Message ID:
@.***>


Test failures and large amount of warnings on python3.8.0

I'm getting a few test failures and a lot of warnings on my install of python3.8.0, on MacOS. I have attached the output - can you please tell me what I'm doing wrong?
This is in a fresh virtual environment, and I did:
pip install psrsigsim
pip install -r requirements.txt
pip install -r requirements_dev.txt

before
python3 -m pytest tests

The failures are mainly in test_io.py.
I would also like to see the warnings in the tests, particularly the DeprecationWarnings, addressed.
test_output.txt
This issue is part of my JOSS review.

It appears that the test failures are connected to astropy 4.0.0 somehow ending up installed on my machine, despite me specifying 3.3.2. However, the tests still generate a large number of warnings.

Moving some comments over here, as they seem more appropriate to this issue...
I think that allowing Python 3.8 shouldn't be an issue (in theory). So I'll add it to the Travis configuration Yaml. At least then we'll know where issues might arise.

Closing this after consulting with @bshapiroalbert .

Closing this after consulting with @bshapiroalbert .


Support for GraphQL?

What do you all think about this new API from Facebook?
https://facebook.github.io/graphql/
Looks like ArangoDB is looking at it too.
https://github.com/arangodb/arangodb/issues/1468#issuecomment-141038342
Scott

I was about to ask for it too :)
I would be a real plus and could be use in a jar plugin.

@tychota We're interested on supporting GraphQL. If you'd like to contribute to it with a PR (please send it to "develop" branch in case) it will be evaluated or sure ;-)

@lvca : I'm interrested in discussing with you first about design of the integration. Then I can move on starting a PR. But after year of "no-java', it will be hard ! ;)

FWIW :+1:

Thumbs up on this too

@tychota could you please contact me in private? l.garulli -/at/- orientdb .-dot.- com

:+1:

:+1:

:+1:

:+1:

Huge :+1: this might just be the one thing to massively increase OrientDB's adoption rate

I am also waiting for it and would switch right now if it starts supporting GraphQL :+1:

:+1:

I can't believe this request is already a year old. How time flies. :smile:
Scott

So what's the status, is anyone working on it?

This won't be integrated as of today. The APIs available now are the only ones that will be available in 3.0, just improved. So, nothing new.
Scott

Hi guys just to understand, how do you suggest the should be done?

ODB would need to develop a standard querying language over/ with GraphQL and it could be offered beside the REST API. That was my thinking, when I made this issue.
GraphQL solves a number of problems REST APIs have. However, as I have learned, GraphQL is meant to be more an API layer between application servers and clients and not really between clients and database servers.
Unless ODB intends to become an application server too, I don't really think moving to GraphQL would offer a lot of advantages to make the change worthwhile.
Anyone else with a different opinion please do chime in.
Scott

This might be of interest and kind of what I would have been looking for from ODB.
https://www.youtube.com/watch?v=b3pwlCDy6vY
Scott

I think particularily in microservices environments, it would be a great feature.  At the moment this marshelling needs to be done in the MS layer (I am doing this using AWS Lambda and Graphene), invoking on or more backend calls (on orientDB) for what could be done in a single graphQL call - it introduces latency and compelxity in this layer.
Orients APIs are powerful we know this and love this :) -  so I would think GraphQL would be a natural fit extension over it that introduces a form of 'external' standardisation of access to the data.  Not as expressive or powerful as the native API of course, but when exposing APIs externally (e.g mobile apps, partners etc), you would not want to expose orientDBs raw APIs anyway (big MS anti-pattern) - so regardelss some abstraction has to be done, native GQL would simplify this immensely for a microservices architecture.
Hope this comes onto the roadmap - other DBs are certainly starting to offer this and its becoming more and more a big point to consider.
Keep up the good work!
that in itself should enable a GQL API quite easily under the covers.
I think some of the new featues this year will mean GQL will go big time (subscriptions to data change etc)
Arango/Neo have recognised this and are starting to offer this capability

👍

Hey, I see that it's been while since this was raised. I'm curious about the thoughts of the team members on this one.

I created a small example which uses OrientDB in combination with GraphQL.
https://github.com/Jotschi/vertx-graphql-example
It also uses the microservice framework Vert.x - Maybe it is useful to some of you.
The example is not yet completely finished. I need to rewrite some parts but it should be enough to illustrate how to use OrientDB with GraphQL in a pure-java fashion.

Hi guys, it looks like we have GraphQL on top of OrientDB: https://blog.kensho.com/compiled-graphql-as-a-database-query-language-72e106844282

That's nice, but I've come to the conclusion that GraphQL access directly to any database is only useful for  a rudimentary crud administration system of the database. In other words, there must be a layer of business logic between the GraphQL gateway and the database for any decent application to work.
Scott

@smolinari Is it possible to expand on that? What type of business logic usually needs to happen?

Hi @bionicles.
It would make little sense to connect to a GraphQL connection of the database from a server to server perspective (where one server is the client). The REST API is already available and covers this same use cases. My contemplation at first was a direct connection of a real client (web clients, mobile devices, etc.) and this would require a layer of business logic including things like authorization, etc.
Does that make any sense?
Scott

Maybe it is late but any updates on this?


If path name to index.template.html contains another file extension, loader will fail

Bug report

What is the current behavior?
If the folder of the source code contains file extension names, such as .js, a syntax error will occur when loading index.template.html. It will be interpreted as javascript.
If the current behavior is a bug, please provide the steps to reproduce.

Create a folder named not-allowed-with.js-in-name
Enter folder
Clone a repo and try to build

What is the expected behavior?
index.template.html will not get syntax error on <!Doctype

Other relevant information:
webpack version:
Node.js version:
Operating System:
Additional tools:

Thank you for creating this issue. However, issues need to follow one of our templates so that we can clearly understand your particular circumstances.
Please help us help you by recreating the issue using one of our templates.
Do not ignore section - If the current behavior is a bug, please provide the steps to reproduce., I will reopen it after you fix it

Please create reproducible test repo, I can't reproduce and I will reopen it


clean up dependencies

there's a lot of shit in the requirements.txt and requirements-dev.txt files that needs to be either updated, frozen or removed (I'm looking at you, South).

HAHAHA I thought we got rid of you???

LGTM

Can we send you a few tickets?

Ha. I was cleaning out my backlog. Miss you guys 😿

Plus there isn't even a requirements file anymore... 👍


Dev 0.5

Merged https://github.com/mattlongman/Hassio-Access-Point/pull/20 from @mrdis into dev-0.5 branch to allow for further testing.

hi friend. sometime not here. well today i have retry this version. but seems not spread the signal.
config:
ssid: AP-NAME
wpa_passphrase: AP-PASSWORD
channel: "6"
address: <IP_ADDRESS>
netmask: <IP_ADDRESS>
broadcast: <IP_ADDRESS>
interface: wlan0
virtual_interface: ""
isolation: "0"
hide_ssid: "1"
dhcp: "1"
dhcp_start_addr: <IP_ADDRESS>
dhcp_end_addr: <IP_ADDRESS>
allow_mac_addresses: []
deny_mac_addresses:
  - ab:cd:ef:fe:dc:ba
debug: "0"
hostapd_config_override: []
client_internet_access: "1"
client_dns_override:
  - <IP_ADDRESS>
  - <IP_ADDRESS>
dnsmasq_config_override:
  - <IP_ADDRESS>
  - <IP_ADDRESS>

log
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Starting Hass.io Access Point Addon
Denied MAC addresses:
ab:cd:ef:fe:dc:ba
Add custom DNS: dhcp-option=6,<IP_ADDRESS>,<IP_ADDRESS>
# Custom dnsmasq config options:
Add to dnsmasq.conf: <IP_ADDRESS>
Add to dnsmasq.conf: <IP_ADDRESS>
dnsmasq: bad option at line 9 of /dnsmasq.conf
rfkill: Cannot open RFKILL control device
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED

what i am missing? o/

I believe you use "dnsmasq_config_override" wrong: Delete the entries as your logs imply that something is wrong with your dnsmasq.conf (at line 9). You see what you are doing here?
client_dns_override:

<IP_ADDRESS>
<IP_ADDRESS>
dnsmasq_config_override:
<IP_ADDRESS>
<IP_ADDRESS>

thank you friend.
Now i have the device detecting the network! well for my proposes will be fine, but i would like (because some future reason) to try use internet on the device, but seems not getting internet.
i have tryied dns <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> , pihole (dns master)ip
config:
ssid: AP-NAME
wpa_passphrase: AP-PASSWORD
channel: "6"
address: <IP_ADDRESS>
netmask: <IP_ADDRESS>
broadcast: <IP_ADDRESS>
interface: wlan0
hide_ssid: 0
dhcp: "1"
dhcp_start_addr: <IP_ADDRESS>
dhcp_end_addr: <IP_ADDRESS>
allow_mac_addresses: []
deny_mac_addresses: []
debug: "1"
hostapd_config_override: []
client_internet_access: "1"
client_dns_override: []
  - <IP_ADDRESS>
dnsmasq_config_override: []
virtual_interface: ""
isolation: "0"

log:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Starting Hass.io Access Point Addon
# Setup interface:
Add to /etc/network/interfaces: iface wlan0 inet static
Run command: nmcli dev set wlan0 managed no
Run command: ip link set wlan0 down
Add to /etc/network/interfaces: address <IP_ADDRESS>
Add to /etc/network/interfaces: netmask <IP_ADDRESS>
Add to /etc/network/interfaces: broadcast <IP_ADDRESS>
Run command: ip link set wlan0 up
# Setup hostapd:
Add to hostapd.conf: ssid=AP-NAME
Add to hostapd.conf: wpa_passphrase=********
Add to hostapd.conf: channel=6
Add to hostapd.conf: ignore_broadcast_ssid=0
Add to hostapd.conf: macaddr_acl=0
Add to hostapd.conf: interface=wlan0
# DHCP enabled. Setup dnsmasq:
Add to dnsmasq.conf: dhcp-range=<IP_ADDRESS>,<IP_ADDRESS>,12h
Add to dnsmasq.conf: interface=wlan0
Add DNS: dhcp-option=6,<IP_ADDRESS>
## Starting dnsmasq daemon
## Starting hostapd daemon
rfkill: Cannot open RFKILL control device
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: STA 72:da:c5:e3:c8:29 IEEE 802.11: associated
wlan0: AP-STA-CONNECTED 72:da:c5:e3:c8:69
wlan0: STA 72:da:c5:e3:c8:69 RADIUS: starting accounting session 2FBD8358BA34D60E
wlan0: STA 72:da:c5:e3:c8:69 WPA: pairwise key handshake completed (RSN)
wlan0: EAPOL-4WAY-HS-COMPLETED 72:da:c5:e3:c8:69

Best regards

Should work like this already. But try removing client_dns_override. Remove the "" from client_internet_access: "1"
On my system it looks like this
client_internet_access: 1
But i dont use the dev 0.5 version.
You are sure you have internet over ethernet cable?
In general: Read better! Compare the settings from the readme, symbol by symbol. You are kind of inaccurate. Try yourself some combinations, make notes.
And, dont use this for private help. There is a Discussions section here where you can ask things.
This section is for discussions on pull requests.

Should work like this already. But try removing client_dns_override. Remove the "" from client_internet_access: "1" On my system it looks like this client_internet_access: 1
I have i think all possible combinations ^^''

But i dont use the dev 0.5 version.
I have try both versions. i am using a raspberry pi4 with debian 11 ... should be this a glitch?

You are sure you have internet over ethernet cable?
Yes, sure..

In general: Read better! Compare the settings from the readme, symbol by symbol. You are kind of inaccurate. Try yourself some combinations, make notes. And, dont use this for private help. There is a Discussions section here where you can ask things. This section is for discussions on pull requests.
Sorry

Sorry man. Could be alot.
How do you make clear your device dont connect to the internet? Best way to test is connect with your smartphone over wifi to the new AP (Raspberry) and try to google.
Maybe you want a connection from your computer to the device behind the raspberry? That would be another story and has nothing to do with internet.

Closed due to being stale


ImportError: cannot import name console

I'm relatively new to python so perhaps I'm doing something wrong, but what version of python and/or pyserial should I be using?
samlu@d600:~/nodemcu-uploader$ uname -a
Linux d600 3.2.0-4-686-pae #1 SMP Debian 3.2.68-1+deb7u3 i686 GNU/Linux
samlu@d600:~/nodemcu-uploader$ python --version
Python 2.7.3
samlu@d600:~/nodemcu-uploader$ sudo pip install pyserial --upgrade
Requirement already up-to-date: pyserial in /usr/local/lib/python2.7/dist-packages
Cleaning up...
samlu@d600:~/nodemcu-uploader$ ./nodemcu-uploader.py
Traceback (most recent call last):
File "./nodemcu-uploader.py", line 43, in
from serial.tools.miniterm import Miniterm, console, NEWLINE_CONVERISON_MAP
ImportError: cannot import name console
I ended up commenting out everything after Miniterm on line 43, and set self.newline to "\r\n" on line 51 to get it to work.
BTW this is a great tool, thanks for starting the project!

I was skeptical to this to start with,  there are many perfectly fine terminal applications one could use instead of trying to create another one in this utility.
I will check if the import fails and continue without minicom support, as well as marking it as deprecated.
P. S
You are welcome

Thanks for the fix! I rebased and it's working fine without miniterm.


[BUG] Azure storage v10 SDK Async get requests do not complete

Describe the bug
When there is high concurrency, asynchronous range downloads on a file taking longer than a 160 seconds do not receive a response, even after several hours. We saw this with 1MB data ranges.
Exception or Stack Trace
To Reproduce
Disable retries and timeouts on the SDK and issue a large number of concurrent requests on various ranges of the same file. The file should be a few hundred MB,
Code Snippet
Expected behavior
Requests should eventually fail or report rate limit errors.
Screenshots
Setup (please complete the following information):

OS: macOS and Linux
IDE : IntelliJ
Version of the Library used: v10.4

Additional context
We are using a build of the SDK where we generated a DataLake G2 client.
This is a repost of this issue: https://github.com/Azure/azure-storage-java/issues/514
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Hi, @jduo. I apologize for missing your issue on the other repo.
We are aware of the performance and scalability issues in v10. Unfortunately, we are not planning to add any improvements or fixes to the v10/11 architecture. If you'd like to know more about this decision, I will point you here where we do our best to explain our reasoning.
We realize this leaves some customers in a difficult position and are sensitive to the requirements of those projects. As such, we are happy to help you move off of v10/11 in any way that we can. Please let us know how we can support you, and we will work to make this transition as smooth as possible.

I am going to close this issue as I believe it has been addressed and there has been no customer follow up.
Please feel free to reopen the issue or otherwise continue to engage if you need more support.


Extension Host terminated unexpectedlly

Type: Bug
using Extension Bisect to detect
Extension version: 0.2.29
VS Code version: Code 1.71.2 (74b1f979648cc44d385a2286793c226e611f59e7, 2022-09-14T21:03:37.738Z)
OS version: Windows_NT x64 10.0.22622
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 2803)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.69GB (8.18GB free)

Process Argv
--crash-reporter-id 041e2c60-4f8f-4a07-8800-1e8ab13845e5

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411cf:30557515
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
2144e591:30553903
pyindex848:30577860
40g7c324:30573242

it looks like node crashed when running vitest.
possibly related: https://github.com/nodejs/node/issues/6899#issuecomment-1210954352, https://github.com/nodejs/node/issues/43304#issuecomment-1239001374
also can happen when there's a test file which does not have any tests - I had node crashed after this vitest error

FAIL  src/t2.test.ts [ src/t2.test.ts ]
Error: No test suite found in file /src/t2.test.ts

seems like it's node or vitest issue, not caused by this extension directly - could you try to see if the crash happens when you run tests from command line, not in vs code ?

Is this still happening?

Yes, I am facing this issue with Vitest 0.25.8 and node v18.0.0

New version of extension has been released on https://marketplace.visualstudio.com/items?itemName=vitest.explorer. Please try it out, and if the issue still persists, feel free to open a new one.


System.DllNotFoundException: Unable to load shared library 'joltc' or one of its dependencies.

Using dotnet run. Can't seem to find the shared library for jolt.
OS: Macos.
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'joltc' or one of its dependencies.

Hi,
Unfortunately I don't own macos, can you try to debug this code and see how it behaves?
https://github.com/amerkoleci/JoltPhysicsSharp/blob/main/src/JoltPhysicsSharp/JoltApi.cs#L38C1-L38C1
Thanks

This seems to happen because "macos universal" is actually just a x64 library. without manually running it with Rosetta it won't work.
dlopen(...joltc.dylib, 0x0001): (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

I manually built joltc for myself (im on arm64 mac). So far everything is working, I'm testing it. maybe someday I'll make a merge request

This seems to happen because "macos universal" is actually just a x86 library. without manually running it with Rosetta it won't work.
dlopen(...joltc.dylib, 0x0001): (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

I manually built joltc for myself (im on arm64 mac). So far hello world example is working, I'm testing it. maybe someday I'll make a merge request (ci should build x86 and arm libs for mac)

The build builds for universal target, by using CMAKE_OSX_ARCHITECTURES it includes x64, x86 and arm64, isn't the case?

Now it should work, I fixed it with this commit https://github.com/amerkoleci/JoltPhysicsSharp/commit/acb77a030cd1a1fb12658d2dcc6a01a68c9b5c5e
Can you please try now? With latest native binaries

Or grab release 2.1.2 from nuget.


errors not returned

https://github.com/northwesternmutual/grammes/blob/master/response.go#L78

@blackjune do you mind explaining your issue? From what I can see the error is being returned.
The loop on response.go#L77 looks fine to me.
for _, d := range dataI.([]interface{}) {
	if dataPart, err = jsonMarshalData(d); err != nil {
		return nil, err // L78: being returned
	}

	data = append(data, dataPart)
}

when d is an error, d will be lost

Hmmm... I see.
Do you mind making a pull request with those changes?


Is it even worth running an Eth1 node for solo stakers in Phase 0?

An heretical click-baity title. But consider the economics.
In principle, the penalty for not having current knowledge of the deposit contract via an Eth1 node is that you cannot include pending deposits in your blocks, and thus your proposed blocks are invalid.  By my calculations, 97% of expected validator rewards accrue from attestations and 3% from block proposals. So the maximum penalty for not connecting to an Eth1 node is 3% of the expected rewards.
In practice, however, it is much less than that. A proposed block is invalid with respect to deposit inclusion only when there are pending deposits to be included. Let's see how often that applies.
Looking at slots 32768 through 65535 on the beacon chain mainnet, a period of heavy onboarding of new validators:

32768 slots contain
32228 blocks,
453 (1.4%) of which contain deposits.

Thus, my expected loss in rewards from not connecting to an Eth1 node is 1.4% * 3% = 0.042%. At, say, 15% annual return on 32 ETH, with an ETH price of $600, my expected missed reward per validator from not running an Eth1 node will be $1.21 per year.
Given the hassle and resource requirements of running an Eth1 node, doing so does not seem economically rational on this basis.
Moreover, there is an implied incentive not to include deposits (or make accurate Eth1 votes) as preventing new validators from entering the network increases my annual return rate.
Recommendations
Obviously, the network is healthier if people are connecting to Eth1 nodes. I suggest the following.

Substantially reduce the number of deposits included per beacon block from 16 to one (set MAX_DEPOSITS to 1). Only four activations may be processed per epoch (rising to 5 and more in future, but always substantially fewer than 32), so inclusion of deposits in blocks is not the rate limiting step for onboarding validators, if most deposits are of 32 ETH.
Con: None, if validators connect to Eth1 nodes as desired. Otherwise, some increase in invalid blocks.
Pro: Spread the penalties more broadly for not being connected to an Eth1 node; reduce the maximum block size.

Apply a substantial reward for including a deposit. The should be a good fraction of the deposit amount (1/256?) to incentivise healthy behaviour with respect to Eth1.
Con: Increased issuance. But the cost is well bounded by the total amount of Eth2 that can be deposited.
Pro: Incentivise healthy behaviour with respect to Eth1, which is effectively barely incentivised currently. This also resolves #2018 by providing an (indirect) incentive to get Eth1 votes correct.

I think this is a good time to point out that if you have several behaviours you want to incentivise, then the best way to do it is not additive but multiplicative. Idea: You rate all validator desired behaviours on a scale from 0.0 to 1.0, and multiply them together. Total rewards are simply max rewards times this factor. Anyone completely failing on any of the behaviours will get no reward.
Independent thought, specific to this problem: I think this can be solved by adding custody of Eth1 blocks to the attestations. Thanks to 0.01 bit proof of custody, this comes with no overhead on the beacon chain and only a 0.1% loss in attestations.

To be honest, this is a bug. The intention is for proposing to account for ~1 / PROPOSER_REWARD_QUOTIENT of total validator rewards, but it is in fact 1 / PROPOSER_REWARD_QUOTIENT of a base_reward (which is 1/4th of the total reward).
This is already fixed in the accounting reform PR (something we'd like to see in mid next year). This is also naturally balancing in the sense that if some validators don't produce blocks, there are more attestations for the subsequent validator to include (yes, this fails in the event that blocks are entirely full..)

Even if we make it 1/8=12.5%, I doubt that the rationality dynamics actually change. Assuming that an Eth1 node is >50% of the cost of running a validator, it will probably be rational to not run one for small scale (<5 validators) stakers.


1244 several master builds have failed

This PR changes Jenkins so we only deploy the pr server on pr branches and not from the master branch anymore.

Basics

[x] The PR is rebased with current master
[x] I added a line to changelog.md
[x] Details of what I changed are in the commit messages
[x] References to issues, e.g. close #X, are in the commit messages and changelog
[x] The buildserver is happy

Checklist

[ ] I fully described what my PR does in the documentation
[ ] I fixed all affected documentation
[ ] I fixed the introduction tour
[ ] I wrote migrations in a way that they are compatible with already present data
[ ] I fixed all affected decisions
[ ] I added automated tests or a manual test protocol
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
[ ] Code is consistent to our Design Decisions
[ ] Exceptions to any guidelines are documented

First Time Checklist

[ ] I have installed and I am using pre-commit hooks
[ ] I am using Tailwind CSS Linting

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] I've read through the whole documentation
[ ] I've checked conformity to guidelines
[ ] I've checked conformity to requirements
[ ] I've checked that the requirements are tested

Thank you! :heart:

LGTM.