Cannot GROUP BY Binary

Describe the bug
A clear and concise description of what the bug is.
This is part of #3048
I was doing the benchmark for clickbench. One of it's column is binary, and the test query set contains group by that binary column. I got this error:
Internal error: Unsupported data type in hasher: Binary. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker"

To Reproduce
Steps to reproduce the behavior:

# Download data
wget https://datasets.clickhouse.com/hits_compatible/athena_partitioned/hits_0.parquet

# Use Datafusion-CLI
➜  datafusion git:(datafusion) ✗ datafusion-cli
DataFusion CLI v10.0.0

# Create External Table
❯ CREATE EXTERNAL TABLE hits STORED AS PARQUET LOCATION 'hits_0.parquet';
0 rows in set. Query took 0.002 seconds.

# This query work
❯ SELECT "URL" FROM hits LIMIT 10;
+--------------------------------------------------------------------------------------------------------------------------------------------------+
| URL                                                                                |
+--------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
| 687474703a2f2f686f6c6f64696c6e696b2e72752f7275737369612f30356a756c32303133266d6f64656c3d30                                                       |
| 687474703a2f2f6166697368612e6d61696c2e72752f636174616c6f672f3331342f776f6d656e2e72752f656e63793d312670616765332f3f6572726f7661742d70696e6e696b69 |
| 687474703a2f2f626f6e707269782e72752f696e6465782e72752f63696e656d612f6172742f3020393836203432342032333320d181d0b5d0b7d0bed0bd                     |
| 687474703a2f2f626f6e707269782e72752f696e6465782e72752f63696e656d612f6172742f4130303338372c33373937293b2072752926624c                             |
| 687474703a2f2f746f7572732f456b617465676f726979612532462673723d687474703a2f2f736c6f766172656e697965                                               |
|                                                                                |
+--------------------------------------------------------------------------------------------------------------------------------------------------+
10 rows in set. Query took 0.006 seconds.

# This one doesn't work
❯ SELECT "URL" FROM hits GROUP BY "URL" LIMIT 10;
ArrowError(ExternalError(Execution("Internal error: Unsupported data type in hasher: Binary. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker")))

10 rows in set. Query took 0.006 seconds.

Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

looks like this only happens in mac, it works in linux environment

That would be weird.
I think the error is expected, there is a missing match for the Binary datatype here. I expect adding the implementation here will solve that:
https://github.com/apache/arrow-datafusion/blob/master/datafusion/core/src/physical_plan/hash_utils.rs#L606

I am currently working on this.


feat: new request system, cs2 hub, fix: leaderboard id

FEATS
New design - SOURCE 2 Based
New HUB - FACEIT CS2
Expandable Match Cards
FIX
Fix problem with outdated rankings with new request architecture


You actually can get Infinity type if you're clever and other fun floating point oddities

As explained in #15135 and #15351, the Typescript team doesn't intend to support NaN and Infinity literals, due to complexity. Explicitly typing something as Infinity or -Infinity gives the error:
'Infinity' refers to a value, but is being used as a type here.

As it turns out, you actually can get the Infinity type fairly easily. Just use a really large number that parses to infinity as your type, like 1e999. -1e999 gives you negative Infinity. Fortunately, I don't believe you can get NaN from just parsing a double precision literal other than NaN itself. 0/0 is the simplest way to get NaN, but that's 2 literals and a divide.
There are a number of other floating point literal peculiarities resulting from round-off as well. I fully expect the Typescript team to "won't fix" them:
type DoesntExtend = 1.000000000000001 extends 1 ? 'yes' : 'no' // Resolves to 'no'
type Extends      = 1.0000000000000001 extends 1 ? 'yes' : 'no' // Resolves to 'yes'

Here's another.
type NegativeZero = -0 extends 0 ? 'yes' : 'no'; // Resolves to 'yes'

In this case, -0 and 0 are actually distinct numbers with different bit patterns. Both Chrome and Firefox dev consoles correctly echo -0 as -0 rather than 0. However, the IEEE-754 standard defines that 0 === -0, so I'm not surprised Typescript thinks they're the same type. The intent for this distinction is to convey the idea of limits as a numeric representation (not to mention floating point is sign-magnitude anyways, so why not embrace it). For example, 1/-Infinity and -8*0 both result in -0 rather than 0. For a type system, I'm not sure that you strictly need or want to maintain this distinction.

TypeScript Version:  Repro'd on playground

Search Terms:
Infinity, NaN
Code
type Illegal = Infinity; // Doesn't compile
type Inf = 1e999; // Resolves to Infinity
type NegativeInf = -1e999; // Resolves to -Infinity

Expected behavior:
Actual behavior:
Playground Link:
Here
Related Issues:

Of course it doesn't quite work out, as neither Infinity or Infinity as const will satsify type Inf.  Pretty cool though!

@nmain  Fun trick.  I want those NaN and Infinity literals. I also want a "finite number" type.
I'm going to find some way to shoehorn that Infinity trick into my code and see if anything explodes

IEEE INF has some really useful properties which aren’t strictly mathematically correct (such as x / 0 = inf or x % inf = x) that I’ve actually found it useful in practice from time to time.
That said—not useful enough to inject that much evilness into my code. :smile:

At the end of the day, floats are goofy and it might be fine to let the type system reflect that except in a few edge cases you really want to manage. There are an infinite number of decimal representations (memory granted) of every non-NaN number, and I don't think you can rightly ordain one as provenance. This means roundoff on types is just going to be a thing.
+- 0 is usually not a useful distinction. Most of the cases I can think about are pedantry. For example, Math.sign returns -0 if you pass -0, so you could type its return value as -1 | -0 | NaN | 0 | 1. Without the -0 type, you might be surprised that at runtime 1 / Math.sign(x) can return -Infinity while the return type led you to believe you had to only check NaN, Infinity, +-1. But this is also moot without a NaN literal type.
I don't know that much about type theory, but I think of the number type as being a very large finite union of one representation of every non-NaN floating point binary sequence (including distinct +0 and -0 and +Infinity and -Infinity) and a single NaN. NaN has many binary representations, but you can't tell them apart in Javascript. This is regardless of what the equality operator does. This looks like:
NaN | -Infinity | FLOAT_MIN | FLOAT_MIN + ULP | FLOAT_MIN + 2 * ULP | ... -ULP | -0 | 0 | ULP | ... | FLOAT_MAX - 2 * ULP | FLOAT_MAX - ULP | FLOAT_MAX | Infinity

This is how I mentally reason about floating point numbers and having a type system that matches that would be convenient for reasoning about Typescript numbers. However, 1:1 matching the floating point number line to type literals my not be desirable in a type system for reasons I don't yet understand as I'm not a compiler expert and it probably isn't worth the effort to accomplish this as has been stated in other threads.
At the end of the day, I don't know if I've ever even used number literal types other than in a few toys to show you can; I find strings and enums to be more semantically meaningful for representing finite sets of things, so I use those literal types almost exclusively. With numbers, I almost always want to add, subtract, and multiply arbitrary values at which point you're going to widen any literal types you have anyways.
That being said, if Typescript is choosing to disallow NaN and Infinity types, then I think it should disallow anything that parses to +-Infinity as well as the literal word Infinity. 🙃

One of my favorite anti-tautologies in Javascript is that typeof(NaN) === 'number'; that which is in fact not a number is in fact number. Forget the usually silliness people point out like [] == false. You just don't get great existential conundrums in languages that make developers choose the signedness, size, and fixed or floatiness of their numbers.

IEEE floats actually aren’t that goofy (outside of signed zero and NaN which are IMO both abominations) once you realize it’s just scientific notation in base 2 instead of 10.  You have a finite number of bits to represent the mantissa, so it’s only natural that things like repeating decimals and irrationals can’t be represented in that system.  That’s also where the “floating” in floating point comes from - increasing the exponent moves the decimal point within a fixed-size mantissa, so you gain insane amounts of range at the expense of precision on the high-end.  It’s kind of fascinating—to me anyway.

Even the NaN and signed zero serve valid purposes. I actually wrote a technical article on why we have NaN in our floating-point standard, if you are interested.  The TL;DR is that if you think it's an abomination, you haven't seen the things it's replacing.
https://www.lucidchart.com/techblog/2022/03/04/if-its-not-a-number-what-is-it-demystifying-nan-for-the-working-programmer/
As for signed zeros, those are apparently used for contour integration in complex analysis. While I personally know what those words actually mean, I've never needed to actually implement a program that needs the distinction.

Multi-reply
Quoting @fatcerberus

signed zero [...] abomination

Quoting @theverymodelofamodernmajorgeneral

Even [..] signed zero serve valid purpose.
[...] those are apparently used for contour integration in complex analysis

Actually, -0 just means "a negative Real number whose absolute value is too small to be representable as a fixed-precision Float", which is very useful in the context of calculus, because of limits. Limits are the easiest part of calculus, and they are implicitly used outside of calculus as well. See this video by Jan Misali


netcoreapp2.2

Can I use target framework netcoreapp2.2 in a v2 Azure Function csproj yet?
<TargetFramework>netcoreapp2.1</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>

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

ID: 1df5e2bd-489d-19b2-87d3-d993ebb82021
Version Independent ID: 9e9d9ded-8f40-22be-4654-48c87f2c59e8
Content: Azure Functions runtime versions overview
Content Source: articles/azure-functions/functions-versions.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@hiraldesai Thanks for the question! We are investigating and will update you shortly.

@hiraldesai Yes. This has been available from version 2.0.12265 of the run time.
I will raise a PR to update the doc to reflect that as well.

@hiraldesai We have updated the doc which should reflect in a few hours.
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.

Thank you!


Some questions

Hello, I have some qusetions to ask.
1、The dataset does not have validation data, only training data and testing data. Should we separate a part of the training data and change it to validation data? Or can we just use the test data as validation data and use the final output of train.py as the result of the model, without using test.py?
2、I didn't find infer.py, maybe you forget to upload it.

We adhere to the convention established by previous datasets, which does not include separate validation data.
For testing purposes, you can use the test.py script.


util/add-depends.pl: Only add dependencies on existing or generated headers

Headers that fulfill neither of those conditions are skipped.
This avoids build breaks when development has removed a previously
existing header.
Fixes #16360

Merged
3bb2046a5959e470c3499de575f4b5f2aa27d5a5 util/add-depends.pl: Only add dependencies on existing or generated headers


Update specs2-core, specs2-scalacheck to 4.10.5

Updates

org.specs2:specs2-core
org.specs2:specs2-scalacheck

from 4.9.4 to 4.10.5.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2" } ]

labels: test-library-update, semver-minor

Superseded by #315.

Superseded by #315.


refactor(core): No $slotParent$

Overview
What is it?

[x] Feature / enhancement
[x] Bug

Description
Fixes #5270.
This also has some simplifications, like removing $slotParent$ from the internal contexts and makes the context search more correct and more efficient.
The bug was that it's supposed to stop searching context when hitting _ but it didn't when following the dom. (not that I think that's a good feature, see #5257)
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] Added new tests to cover the fix / functionality

Thanks @wmertens for your useful comments and for this nice refactor


Add Ruby 3.1.0, remove Ruby 2.6

Btw, why are you removing Ruby 2.6? It is still supported till end of March: https://www.ruby-lang.org/en/downloads/branches/

Having Ruby 2.6 in there puts too much strain on the CI/CD system. It would be more feasible once we have better caching (#86). But for now, and seeing that Ruby 2.6 only has 3 months to live, I think it's better to remove it.
Note that we're only removing building Ruby 2.6. Previously-published Ruby 2.6 packages remain in the repository and are still installable.

3.1 is now released. Enjoy!

@FooBarWidget is this built with the new yjit VM?

Yes it is

Anyone done any tests to see how the patches in these builds (jemalloc / malloc_trim) interact with YJIT?

The automated tests haven't picked up any problems (like crashes) but other than that, no. We welcome any reports. :)


Publish master as 0.17.2  to support Node 6.1.0

https://github.com/polotek/libxmljs/commit/70dd1d6c1504a1831f8a2deb78f40da6dc82c128 already landed in master. Please publish 0.17.2 for Node 6.1.0 support.

We should probably also merge in #396 in for Windows support.

Is there any reason why 0.17.2 isn't released yet? If so may I help?

I support releasing v1.0.0 when this is fixed. Using <1.0.0 versions is silly for a package with >35k downloads per month.

@Maistho makes sense according to SemVer: "Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable."

0.17.2 should be released anyway so people using a tilde semver specification also get the fix.

@rchipka I wouldn't consider a project that is ~6 years old, with 550 commits and 33 releases to be in "initial development" 😉
@trueter makes sense.

 That being said, @rchipka feel free to bump this to 1.0.0 after updating to support node v6 and getting the appveryor stuff merged in. Seems like a good time as any to appease the pedantic versioners ;)

@rchipka @defunctzombie Sorry if I come off as a "pedantic versioner" :stuck_out_tongue_winking_eye:
I just think this could be as good time as any to release 1.0. :smiley:

@rchipka Any ETA when this will be landing?

and how do I avoid the build errors until it is updated?

@ericlw: Don't use node6, or use the latest (unreleased) version in your dependencies.
example: https://github.com/Maistho/gulp-xml-editor/blob/master/package.json#L29

any eta ?

I have published 0.18.0 which builds and works on node v6

@defunctzombie upgraded to node v6.2.0, npm v3.8.9, still doesn't work  :(  confirmed that it's also trying to install<EMAIL_ADDRESS>npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.

@koesbong, @drewatk  what OS?  Works for me on Ubuntu Wheezy and OSX.

@hildjj I'm on Ubuntu 16.04

@koesbong: do you get any error messages? Full error stack would be be useful to help debug

@hildjj I am on Ubuntu 12.04 LTS.
@Maistho here's part of the error message:
../../nan/nan_implementation_12_inl.h:390:21: note: template<class T, class M> v8::Local<T> Nan::New(const v8::Persistent<S, M>&)
../../nan/nan_implementation_12_inl.h:395:21: note: template<class T, class M> v8::Local<T> Nan::New(const Nan::Persistent<T, M>&)

><EMAIL_ADDRESS>install /opt/orbit/orbit-api/node_modules/libxmljs
> node-gyp rebuild

make: Entering directory `/opt/orbit/orbit-api/node_modules/libxmljs/build'
  CC(target) Release/obj.target/libxml/vendor/libxml/buf.o
  CC(target) Release/obj.target/libxml/vendor/libxml/catalog.o
  CC(target) Release/obj.target/libxml/vendor/libxml/chvalid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/dict.o
  CC(target) Release/obj.target/libxml/vendor/libxml/encoding.o
  CC(target) Release/obj.target/libxml/vendor/libxml/entities.o
  CC(target) Release/obj.target/libxml/vendor/libxml/error.o
  CC(target) Release/obj.target/libxml/vendor/libxml/globals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/hash.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLparser.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLtree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/legacy.o
  CC(target) Release/obj.target/libxml/vendor/libxml/list.o
  CC(target) Release/obj.target/libxml/vendor/libxml/parser.o
  CC(target) Release/obj.target/libxml/vendor/libxml/parserInternals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/pattern.o
  CC(target) Release/obj.target/libxml/vendor/libxml/relaxng.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX2.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX.o
  CC(target) Release/obj.target/libxml/vendor/libxml/tree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/threads.o
  CC(target) Release/obj.target/libxml/vendor/libxml/uri.o
  CC(target) Release/obj.target/libxml/vendor/libxml/valid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xinclude.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xlink.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlIO.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmemory.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmodule.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlreader.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlregexp.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlsave.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemas.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemastypes.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlstring.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlunicode.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlwriter.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xpath.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
  AR(target) Release/obj.target/vendor/libxml/xml.a
  COPY Release/xml.a
  CXX(target) Release/obj.target/xmljs/src/libxmljs.o
make: Leaving directory `/opt/orbit/orbit-api/node_modules/libxmljs/build'
...skipping...
../../nan/nan_implementation_12_inl.h:400:21: note: template<class T> v8::Local<T> Nan::New(const Nan::Global<T>&)
../../nan/nan_new.h:201:1: note: template<class T> typename Nan::imp::Factory::return_t Nan::New()
../../nan/nan_new.h:207:1: note: template<class T, class A0> typename Nan::imp::Factory<T>::return_t Nan::New(A0)
../../nan/nan_new.h:213:1: note: template<class T, class A0, class A1> typename Nan::imp::Factory<T>::return_t Nan::New(A0, A1)
../../nan/nan_new.h:219:1: note: template<class T, class A0, class A1, class A2> typename Nan::imp::Factory<T>::return_t Nan::New(A0, A1, A2)
../../nan/nan_new.h:225:1: note: template<class T, class A0, class A1, class A2, class A3> typename Nan::imp::Factory<T>::return_t Nan::New(A0, A1, A2, A3)
../../nan/nan_new.h:237:1: note: template<class T> typename Nan::imp::Factory::return_t Nan::New(Nan::FunctionCallback, v8::Local<v8::Value>)
../../nan/nan_new.h:245:1: note: template<class T, class A2> typename Nan::imp::Factory<T>::return_t Nan::New(Nan::FunctionCallback, v8::Local<v8::Value>, A2)
../../nan/nan_new.h: In function 'v8::Local<T> Nan::imp::To(v8::Local<v8::Integer>) [with T = v8::Int32]':
../../nan/nan_new.h:29:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [Release/obj.target/xmljs/src/libxmljs.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 3.2.0-23-generic-pae
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/orbit/orbit-api/node_modules/libxmljs
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Linux 3.2.0-23-generic-pae
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "libxmljs"
npm ERR! node v6.2.0
npm ERR! npm  v3.8.9
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the libxmljs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs libxmljs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls libxmljs
npm ERR! There is likely additional logging output above.

I did this:
docker run -it ubuntu:16.04 bash
apt-get update
apt-get upgrade
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install nodejs build-essential
cd /tmp
npm install libxmljs
node -e 'console.log(require("libxmljs"))'

Works as expected.  Note: if you're installing the normal nodejs package from Ubuntu, you need to install npm separately, and create a symlink from /usr/bin/nodejs to /usr/bin/node, or everything will break.

@Maistho Here is the full output of npm install libxmljs
><EMAIL_ADDRESS>install /home/drew/projects/clientApp/node_modules/libxmljs
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entering directory '/home/drew/projects/clientApp/node_modules/libxmljs/build'
  CC(target) Release/obj.target/libxml/vendor/libxml/buf.o
  CC(target) Release/obj.target/libxml/vendor/libxml/catalog.o
  CC(target) Release/obj.target/libxml/vendor/libxml/chvalid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/dict.o
  CC(target) Release/obj.target/libxml/vendor/libxml/encoding.o
../vendor/libxml/encoding.c: In function ‘xmlCharEncCloseFunc’:
../vendor/libxml/encoding.c:2856:12: warning: variable ‘handler_in_list’ set but not used [-Wunused-but-set-variable]
     int i, handler_in_list = 0;
            ^
  CC(target) Release/obj.target/libxml/vendor/libxml/entities.o
  CC(target) Release/obj.target/libxml/vendor/libxml/error.o
  CC(target) Release/obj.target/libxml/vendor/libxml/globals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/hash.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLparser.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLtree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/legacy.o
  CC(target) Release/obj.target/libxml/vendor/libxml/list.o
  CC(target) Release/obj.target/libxml/vendor/libxml/parser.o
  CC(target) Release/obj.target/libxml/vendor/libxml/parserInternals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/pattern.o
  CC(target) Release/obj.target/libxml/vendor/libxml/relaxng.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX2.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX.o
  CC(target) Release/obj.target/libxml/vendor/libxml/tree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/threads.o
  CC(target) Release/obj.target/libxml/vendor/libxml/uri.o
  CC(target) Release/obj.target/libxml/vendor/libxml/valid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xinclude.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xlink.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlIO.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmemory.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmodule.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlreader.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlregexp.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlsave.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemas.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemastypes.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlstring.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlunicode.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlwriter.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xpath.o
In file included from ../vendor/libxml/xpath.c:462:0:
../vendor/libxml/timsort.h: In function ‘libxml_domnode_tim_sort_collapse’:
../vendor/libxml/timsort.h:405:65: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) {
                                                                 ^
../vendor/libxml/timsort.h:397:19: warning: variable ‘BD’ set but not used [-Wunused-but-set-variable]
     int ABC, BCD, BD, CD;
                   ^
../vendor/libxml/xpath.c: In function ‘xmlXPathNodeCollectAndTest’:
../vendor/libxml/xpath.c:12406:28: warning: comparison between ‘xmlElementType {aka enum <anonymous>}’ and ‘xmlXPathTypeVal {aka enum <anonymous>}’ [-Wenum-compare]
       } else if (cur->type == type) {
                            ^
In file included from ../vendor/libxml/xpath.c:476:0:
../vendor/libxml/xpath.c: At top level:
../vendor/libxml/trionan.c:194:1: warning: ‘trio_is_special_quantity’ defined but not used [-Wunused-function]
 trio_is_special_quantity
 ^
../vendor/libxml/trionan.c:218:1: warning: ‘trio_is_negative’ defined but not used [-Wunused-function]
 trio_is_negative
 ^
../vendor/libxml/xpath.c: In function ‘xmlXPathCastNumberToString’:
../vendor/libxml/xpath.c:3197:7: warning: array subscript is above array bounds [-Warray-bounds]
   work[buffersize - 1] = 0;
       ^
  CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
../vendor/libxml/xpointer.c: In function ‘xmlXPtrNewRangeNodePoint’:
../vendor/libxml/xpointer.c:451:21: warning: comparison between ‘xmlElementType {aka enum <anonymous>}’ and ‘enum <anonymous>’ [-Wenum-compare]
     if (start->type != XPATH_POINT)
                     ^
  AR(target) Release/obj.target/vendor/libxml/xml.a
  COPY Release/xml.a
  CXX(target) Release/obj.target/xmljs/src/libxmljs.o
make: g++: Command not found
xmljs.target.mk:101: recipe for target 'Release/obj.target/xmljs/src/libxmljs.o' failed
make: *** [Release/obj.target/xmljs/src/libxmljs.o] Error 127
make: Leaving directory '/home/drew/projects/clientApp/node_modules/libxmljs/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/drew/.nvm/versions/node/v6.2.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 4.4.0-22-generic
gyp ERR! command "/home/drew/.nvm/versions/node/v6.2.0/bin/node" "/home/drew/.nvm/versions/node/v6.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/drew/projects/clientApp/node_modules/libxmljs
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/home/drew/.nvm/versions/node/v6.2.0/bin/node" "/home/drew/.nvm/versions/node/v6.2.0/bin/npm" "install" "libxmljs"
npm ERR! node v6.2.0
npm ERR! npm  v3.8.9
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the libxmljs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs libxmljs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls libxmljs
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/drew/projects/clientApp/npm-debug.log

@drewatk, you're missing g++.  apt-get install build-essential

@hildjj That fixed it! Thank you very much

@hildjj here's my ansible playbook
---
- name: Install dependencies
  hosts: all
  sudo: yes
  pre_tasks:
    - apt: update_cache=yes
      tags:
        - system
    - name: Install general packages
      apt: name={{ item }} state=present install_recommends=no
      with_items:
        - ack-grep
        - curl
        - monit
        - tmux
        - vim
      tags:
        - system

    - name: Install dependencies for ruby-build and node build
      apt: name={{ item }} install_recommends=no
      with_items:
        - build-essential
        - libcurl4-openssl-dev
        - libmysqlclient-dev
        - libncurses5-dev
        - libpq-dev
        - libreadline6-dev
        - libssl-dev
        - libxml2-dev
        - libxslt1-dev
        - libyaml-dev
        - zlib1g-dev
        - make
      tags:
        - ruby
        - system
  roles:
    - role: base

And this is the node task
---
- name: curl for node
  shell: "curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -"
  sudo: no

- name: get nodejs
  apt: name=nodejs install_recommends=no

So you're saying I still need to install npm separately?

@hildjj Thank you very much! It now works when it's installing version 0.18.0

@koesbong: no.  Your issue is probably the one described here: https://github.com/nodesource/distributions/blob/master/OLDER_DISTROS.md
I was getting the same error as you on 12.04, but I followed the instructions for precise on the above page, and everything worked:
apt-get update
apt-get -y install curl
echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main" >> /etc/apt/sources.list
echo "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.4 main" >> /etc/apt/sources.list
curl -s http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add -
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA9EF27F
apt-get update
apt-get install -y clang-3.4
cd /tmp/
CXX=clang++-3.4 CC=clang-3.4 npm install libxmljs
node -e 'console.log(require("libxmljs"))'

@hildjj Ah OK, so would this issue be resolved if I use a different Ubuntu box, say 14.04?

On Wheezy, you'd probably still need to install clang, according to that page.  Alternately, you can push for the precompiled binary system that comes with #407.  Then you might not need a compiler at all.

I tried Ubuntu 14.04, and it worked just fine, although I had to install python:
apt-get update
apt-get upgrade
apt-get install -y curl python build-essential
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs
cd /tmp
npm install libxmljs
node -e 'console.log(require("libxmljs"))'

@hildjj woo! That worked, thanks so much for your help!


Follow upstream to SETUP-MACPORTS

I'm about to archive gha-install-macports and continue work in setup-macports, so you might want to use that as well.
BTW macos-13 is also supported!

@foretspaisibles Thank you for your contribution :+1:


Write CLI toolset

[ ] tool to create a sample profile
[ ] tool to publish profile
[ ] tool to serve the webapp
[ ] tool to ship the webapp over IPFS (thiis is hard...)

If you don't have a node module in mind already for handling command line, check out https://www.npmjs.com/package/commander -- it's been a pleasure to work with for me.

Which part of shipping the webapp is hard?  You may be interested in https://github.com/diasdavid/ipscend btw.

@harlantwood I don't remember what was hard about shopping the web app over ipfs, few days ago I wrote a shell script to do it. Also gulp is being used to serve the app. This issue got a little left behind as I worked on other things, should probably do some cleaning up :+1:


Improve Documentation Part 1

Description
Improve documentation
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

cc @dmlc/gluon-nlp-team

@szha The first version should be ready. Need some help in improving it + Add it to our official website.

@szha The first version should be ready. Need some help in improving it + Add it to our official website.

Thanks for fixing all the doc warnings. I'm turning on website pipeline check as required to make sure the working state is maintained.

Thanks for fixing all the doc warnings. I'm turning on website pipeline check as required to make sure the working state is maintained.


很难看懂这个，我不太懂githubactions

Here is a working Github Action script to copy and customize: https://github.com/BloomBooks/bloom-docs/blob/master/.github/workflows/release.yml
i already have docusaurus+vercel
this branch**(https://github.com/sillsdev/docu-notion)** have no workflow..
i know nothing abaot enghlish and gitactions

You could automate the building of your site in many ways. Github actions is just one way. If you want to learn about Github Actions, see https://github.com/features/actions. You can then copy the one you pointed to there and customize it to your needs. Here is another example.

i think just use one project,but i jst learn programe sometimes @hatton


Rename APE to acoustics in elixirs and tests

This PR replaces the abbreviation "APE" with "acoustics" in all elixir names and tests. Closes #722.

Overall looks pretty good. One question - should we remove the APE acronym from the docstrings now that we don't use it in elixirs anymore? Is it used elsewhere?

I haven't looked at the PR, but IMHO APE can still be used where the specific system of equations is referenced, given that it is introduced somewhere prominently first.

If @jlchan agrees, we can go ahead. otherwise, let's continue the discussion here.

That makes sense. Please go ahead

That makes sense. Please go ahead

Please approve this PR to enable auto merge


Reconstructed_file.json: the ForensicActions and ProvenanceRecords need some review and rework

I think the ForensicActions and ProvenanceRecords need some work:
- The “object” of a forensic action should likely be a trace rather than a provenance record to be explicitly specific
- The example is missing the “android_image” Trace which I think should be there
- I don’t think provenance records should have other provenance records in their “object” list such as in “provenance_record1”. Provenance records should only be in the “result” list of forensic actions.
- It seems like
- forensic_action0 should have “object” = “android_image” and “result” = “provenance_record3” (and maybe “provenance_record4”??)
- There should be a forensic_action1 for the reconstruction action with “object” = [“data_piece0”, “data_piece1”, “data_piece2”, “relationship3”, “relationship4”] and “result” = “provenance_record2”
- It seems like provenance_record0 is unnecessary for the example and just confusing.
- I do not see the purpose or need for provenance_record1 or provenance_record4

The “object” of a forensic action should likely be a trace rather than a provenance record to be explicitly specific

The original rules discussed was that forensic actions can only point to provenance records or other forensic actions. If that needs to change, it should be brought up in a discussion. Both ForensicAction and ProvenanceRecord are not Traces and therefore should be called "object" (for lack of a better name).

The example is missing the “android_image” Trace which I think should be there

Added.

I don’t think provenance records should have other provenance records in their “object” list such as in “provenance_record1”. Provenance records should only be in the “result” list of forensic actions.

Fixed.

It seems like forensic_action0 should have “object” = “android_image” and “result” = “provenance_record3” (and maybe “provenance_record4”??)

Going by the original rule that ForensicActions can only point to Traces through a ProvenanceRecord mediator, "object" points to a provenance record that then points to the "android_image"
I moved the proventance records into "result" based on the previous fix.

There should be a forensic_action1 for the reconstruction action with “object” = [“data_piece0”, “data_piece1”, “data_piece2”, “relationship3”, “relationship4”] and “result” = “provenance_record2”

It depends on how modularized the carving tool is. In this example, the tools does both the carving and reconstruction in a single black box procedure. Which unfortunately is more of a realistic situation. If the carving and reconstruction where different tools or modules, then yes we would have another forensic action for the reconstruction, separate from the carving. Let me know if you think we should change it anyway.

It seems like provenance_record0 is unnecessary for the example and just confusing.

Again, this goes back to the orignal rule I mentioned.

I do not see the purpose or need for provenance_record1 or provenance_record4

provenance_record1 is gone now.
For provenance_record4, I was trying to show how data_piece0 (the JPG header) is different than the other pieces because this was data that was not actually carved out of the image. This header was generated by the reconstruction algorithm to be appended to the file because the original header was missing. I figured it should have a different exhibit number because it's data that did not originate from the evidence. (I'm not sure if this is the best way to do it. We should get an expert on this to weigh in on this.)

The original rules discussed was that forensic actions can only point to provenance records or other forensic actions. If that needs to change, it should be brought up in a discussion.

This is not my recollection of the original rules discussed.
In the original discussion the rule agreed to was that Forensic Actions (FAs) would always OUTPUT only Provenance Records (PRs) or other FAs but no such restrictions were placed on the input for the actions (i.e., what the action is acting on).
I believe the physical forensics corollary we discussed was a forensic evidence label that is applied to each piece of evidence collected or generated (through examination or analysis) and explicitly captures "where" that evidence came from. So, in all forensic actions in the physical world you have pieces of evidence and you have evidence labels that tie them back to the actions they came from.
This is the same thing as having Traces and having PRs that tie those Traces back to the FA that they came from.
Just like in physical world forensics where a new forensic action (examination or analysis) is performed on the actual evidence and not on the evidence label, the same should be true in the digital sphere where an FA acts on ("object" list) the evidence itself (Traces, etc) and not on a PR label associated with that evidence. The PR forms the link backward in the provenance chain not forward.
To me, this is the only way that makes sense in pure semantics and in the technical details as well.
An approach where all input to FAs is PRs would require that every Trace out of any previous FA would need a separate PR (a HUGE inefficiency and complexity) as you never know which Trace out of one FA may be the object of a future FA and grouping multiple Traces under a single PR (which makes complete sense for many FAs) would not give enough specificity to determine which of the multiple Traces the future FA was actually acting on. I believe this unnecessary complexity is demonstrated in the example by requiring extraneous PRs and such whose only purpose appears to be to comply with an approach where only PRs are input for FAs.
Simply making FAs act on ("object" list) the Traces themselves and output ("result" list) PRs avoids this complexity, aligns to the physical world corollary and just makes more sense to me.

There should be a forensic_action1 for the reconstruction action with “object” = [“data_piece0”, “data_piece1”, “data_piece2”, “relationship3”, “relationship4”] and “result” = “provenance_record2”

It depends on how modularized the carving tool is. In this example, the tools does both the carving and reconstruction in a single black box procedure. Which unfortunately is more of a realistic situation. If the carving and reconstruction where different tools or modules, then yes we would have another forensic action for the reconstruction, separate from the carving. Let me know if you think we should change it anyway.

While it may be the same tool doing both actions, I would suggest that it is still two separate actions (with different inputs, outputs and purposes) being performed and it would make more sense to explicitly capture each action separately. This allows significantly more clarity into what all the tool is doing and also more clarity into the various pieces of evidence and PRs involved. If ToolA can do Action1 and Action2 that is great but someone receiving the evidence may wish to carry out Action2 again using a different tool and having everything lumped together would make this very difficult.
I would strongly suggest that FAs should be based on what action they are representing and not on what tool is being used. The "instrument" for the action is secondary to the action itself.


hive_generator : NoSuchMethodError: The getter 'dependencies' was called on null

flutter pub run build_runner build throws an error as bellow:
NoSuchMethodError: The getter 'dependencies' was called on null.

This sounds like a dart internal problem. I'll look into it.

Hello Simon!
Any news on this? I think this makes your pub.dev score drop to sixty something as the "Health" rating is 0.
I'm just starting to incorporate persistence in a current project and this is the only thing that makes me hesitate to use hive, just wanted to make sure you're actively working on it? Previous version seems to work fine, though.

Hello Simon!
Any news on this? I think this makes your pub.dev score drop to sixty something as the "Health" rating is 0.
I'm just starting to incorporate persistence in a current project and this is the only thing that makes me hesitate to use hive, just wanted to make sure you're actively working on it? Previous version seems to work fine, though.

Verifique the issue #148

Could you please try it with the newest version of Hive and hive_generator?

Please reopen if you still experience this problem.


Implement the email forward API calls

Implement email forwarding calls as defined here: http://developer.dnsimple.com/v2/domains/email-forwards/

The code looks good to me. I left a couple of minor comments to the docs.
FYI, I generally also test the case where the parent record is missing (in this case the domain is missing). I think did something similar for the zone records (e.g. Zone#get checks both the failure in case of missing zone or missing record).

Are email forwards paginated?

Are email forwards paginated?

Yes.

Yes.

OK. Then we should provide the all_ helper method. See https://github.com/aetrion/dnsimple-ruby/blob/master/lib/dnsimple/client/domains.rb#L45-L48

@weppos I think I have cleaned up the open issues you mentioned. If you find anything else, let me know, otherwise I'll merge this tomorrow.

:shipit:


No audio - problem

Having this issue, when trying to play this error occurs:
  Process: 9366 ExecStartPre=/bin/chown raspotify:raspotify /var/cache/raspotify (code=exited, status=0/SUCCESS)
  Process: 9363 ExecStartPre=/bin/mkdir -m 0755 -p /var/cache/raspotify (code=exited, status=0/SUCCESS)
 Main PID: 9369 (librespot)
   CGroup: /system.slice/raspotify.service
           `-9369 /usr/bin/librespot --name raspotify (madosmc) --backend alsa --bitrate 96 --disable-audio-cache --enable-volume-normalisation --linear-volume --initial-volume=100

Apr 24 00:57:23 madosmc librespot[9369]: INFO:librespot_playback::audio_backend::alsa: Using alsa sink
Apr 24 00:57:23 madosmc librespot[9369]: INFO:librespot_core::session: Country: "CZ"
Apr 24 00:57:24 madosmc librespot[9369]: INFO:librespot_playback::player: Loading track "Dreaming Deeper" with Spotify URI "spotify:track:4KPRqt53xnT2Hs2rDGKiRu"
Apr 24 00:57:25 madosmc librespot[9369]: INFO:librespot_playback::player: Track "Dreaming Deeper" loaded
Apr 24 00:57:25 madosmc librespot[9369]: ERROR:librespot_playback::audio_backend::alsa: Alsa error PCM open ALSA function 'snd_pcm_hw_params_set_buffer_size_near' failed with error 'EINVAL: Invalid argument'
Apr 24 00:57:25 madosmc librespot[9369]: ERROR:librespot_playback::player: Could not start audio: Alsa error: PCM open failed
Apr 24 00:57:25 madosmc librespot[9369]: ERROR:librespot_playback::audio_backend::alsa: Alsa error PCM open ALSA function 'snd_pcm_hw_params_set_buffer_size_near' failed with error 'EINVAL: Invalid argument'
Apr 24 00:57:25 madosmc librespot[9369]: ERROR:librespot_playback::player: Could not start audio: Alsa error: PCM open failed
Apr 24 00:57:26 madosmc librespot[9369]: ERROR:librespot_playback::audio_backend::alsa: Alsa error PCM open ALSA function 'snd_pcm_hw_params_set_buffer_size_near' failed with error 'EINVAL: Invalid argument'
Apr 24 00:57:26 madosmc librespot[9369]: ERROR:librespot_playback::player: Could not start audio: Alsa error: PCM open failed

My audio is on SPDIF, I tried change of bitrate, reinstall, changing --device hw:0,1(what should be my SPDIF output)
But nothing helps.
Please help, if you know how.
Thank you

Curious to know what your output device is - could you share details? Could you dump the hw_params when the device is playing something from some other source?
You might need to hunt for your actual card, but try along these lines:
cat /proc/asound/card0/pcm0p/info
cat /proc/asound/card0/pcm0p/sub0/info
cat /proc/asound/card0/pcm0p/sub0/hw_params

My guess would be that it doesn't support the predefined buffer size utilised in the current alsa implementation.  Should probably add in a check against snd_pcm_hw_params_get_buffer_size_min to avoid this.

hey, thanks for the reply. I will post it right when I get home from work. I tried to look into this params, but I don't have the knowlage for this yet, need to study it more deep to understand that, meanwhile I turned for help here.

I manage it to work, actualy pulseaudio did. I found similar problem from last year, guy in the topic talks about bad audio drivers for his VERO 4k sound card and hes got it work by setting up pulseaudio. I did the same and it's now working after countless hours of pain :D.
There is a new error msg now, but it's playing good through SPDIF output. Thanks bud!

@Madvih Were you just using the Pi's HDMI output or some other audio board? It's great you have a workaround but we need to recreate this issue and fix it. The hw_param values would have been useful.

I'm glad to give you any information you need to fix it.

BTW this information could help too. This thread sovle the problem for me and has same problem, more detailed written.
https://discourse.osmc.tv/t/audio-driver-bug/71228

When I see raspotify I keep mistakingly assuming it's a raspberry pi. So this is vero4k and whatever soundcard (AML M8 audio) that thing has. We'd specifically need the hw_params output when it's trying to play in the broken state, which I guess is no longer available since its fixed. Oh well.

Yeh that does help, specially:

AMLogic do not provide a full ALSA driver so if MPD needs to access the soundcard via ALSA it will struggle.

So Yeh. They've got buggy software which they don't seem too bothered about fixing, presumably cause it's outside the scope of the product they sell. We can close this, we don't need to worry about their half-baked sound driver.

Yeh that does help, specially:

AMLogic do not provide a full ALSA driver so if MPD needs to access the soundcard via ALSA it will struggle.

So Yeh. They've got buggy software which they don't seem too bothered about fixing, presumably cause it's outside the scope of the product they sell - fair enough. We can close this, we don't need to worry about a half-baked sound driver.
I purged pulseaudio and change it to previous (not working) status, if you are still interested in that data. Just tell me what to write in console... or if I can close this.

Yeah gotcha, but big thanks for help anyway, your quick answers and keen to help me is much appreciated. If this was different kind of problem, I'm sure of that, you would help me to resolve it quickly! Thanks and have a good night!

@kingosticks I'm currently getting the same error:
[2020-04-03T07:52:56Z ERROR librespot_playback::audio_backend::alsa] Alsa error PCM open ALSA function 'snd_pcm_hw_params_set_buffer_size_near' failed with error 'EINVAL: Invalid argument'
[2020-04-03T07:52:56Z ERROR librespot_playback::player] Could not start audio: Alsa error: PCM open failed

In my case, I'm running on Arch with jack audio.

@markerdmann could you add the info from https://github.com/librespot-org/librespot/issues/333#issuecomment-486148173 so we can look at what the expected hw_parameters should be?
Also, it would seem that your using the alsa backend, and not jack?

@ashthespy Yes, I'll run those commands and post the info here.
After I posted my comment, I noticed librespot has a jack backend. I recompiled and tried running it with the jack backend, but for some reason I'm not hearing any audio or seeing any librespot errors. I'll try running it again in verbose mode.
This is my current setup:

Mostly vanilla arch (latest) with xmonad
alsa and jack (qjackctl)
I'm using the basic /etc/asound.conf recommended here: https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit#Playing_nice_with_ALSA
My USB audio card is a Topping DX3Pro, and I've updated my /usr/share/alsa/alsa.conf to make that card (index 2) the alsa default.

With that setup, audio is working with:

Firefox
Chrome
mplayer
vlc (with jack or alsa as the output module)
spotify (but it's flakey -- sometimes it freezes up)

It's not working with:

librespot and spotifyd (same error)

@ashthespy Here's the output for those three commands:
sendrecv@dogen ~/a/l/t/release (dev)> cat /proc/asound/card2/pcm0p/info
card: 2
device: 0
subdevice: 0
stream: PLAYBACK
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0
sendrecv@dogen ~/a/l/t/release (dev)> cat /proc/asound/card2/pcm0p/sub0/info
card: 2
device: 0
subdevice: 0
stream: PLAYBACK
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0
sendrecv@dogen ~/a/l/t/release (dev)> cat /proc/asound/card2/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 2048
buffer_size: 8192

Is there something else I should print out for the jack device that I see in aplay -L? I'm pretty sure that's the device librespot is trying to play to, because I see the following behavior:

With --backend alsa and no --device, I get the snd_pcm_hw_params_set_buffer_size_near error.
With --backend alsa and --device "sysdefault:CARD=Pro" I get Alsa error PCM open ALSA function 'snd_pcm_open' failed with error 'EBUSY: Device or resource busy'.

These are my qjackctl settings:

I read this issue https://github.com/librespot-org/librespot/issues/195 and it sounds like the alsa and jack backends are potentially being deprecated in favor of the rodio backend?
I tried recompiling with the rodio backend, and that's working on my system. :+1:

Necro tip. I got it working with my DAC which has show the same errors by using --device "plughw:2,0" instead of --device "hw:2,0". As I understand it this way the alsa plugins are involved and can convert if necessary, for my dac it seems that it only supported a bit depth of 32 bit. (Topping DX3 Pro)


[BUG] We can set two different vlanconfigs using the same node and nic by switching node selector

Describe the bug

When we create two vlanconfig nc1 and nc2 on different node and nic.
After we switch node selector in vlanconfig nc1 to another node, and switch switch the  nic in vlanconfig nc2 to another nic
We can see two different vlan config capable using the same node and nic
https://user-images.githubusercontent.com/29251855/223752585-25a0d099-0834-4263-bce0-f4d1ad1b986e.mp4

To Reproduce
Steps to reproduce the behavior:

Use ipex-example to provision a two nodes Harvester cluster, each node including three nics
Create two cluster network cn1 and cn2
Create vlanconfig cn1 , set node selector to node 0 and nic to ens7
Create vlanconfig cn2 , set node selector to node 1 and nic to ens8
Update cn1, change the node selector to node 1 and save
Update cn2, change the nic to ens7 and save

Expected behavior

Should prevent (grayed out) update node selector and nic which already been used
Support bundle

Environment

Harvester ISO version: master-152642c2-head
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): 2 nodes local kvm machine

Double confirmed on the v1.1.2-rc3, currently this issue can't be reproduced.
According to the following video clip, we can't set 2 different vlan config using the same node selector plus nic configuration. On the second vlanconfig, the available nic would be blocked.
https://user-images.githubusercontent.com/29251855/224911283-1f7c4d72-3458-494b-80b5-80e83c4f6838.mp4
After discussion, we can keep monitoring whether it will happen again.


Cast paginate per page to int

Cast per_page parameter Collection::paginate to an integer
Added additional test for this case.
Resolves #1750

Codecov Report

Merging #1997 into master will not change coverage by %.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master    #1997   +/-   ##
=========================================
  Coverage     86.75%   86.75%
  Complexity      666      666
=========================================
  Files            31       31
  Lines          1518     1518
=========================================
  Hits           1317     1317
  Misses          201      201

Impacted Files
Coverage Δ
Complexity Δ

src/Jenssegers/Mongodb/Query/Builder.php
88.88% <100.00%> (ø)
165.00 <0.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 279b18c...1b422d9. Read the comment docs.


Adding coding examples for Contact and ContactOption

Adding coding examples for Contact and ContactOption
:recycle: Current situation & Problem
When I was creating a contact for our application, I was unable to see coding examples. These added examples hope to clarify how someone might build and implement these features.
:books: Documentation

Improve documentation by showing an example of hot to build new Contact as well as custom ContactOptions

:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[x] I agree to follow the Code of Conduct and Contributing Guidelines.

Thanks for the PR @akanshyabhat! 🚀
I had some comments about slightly increasing the example to showcase the usage within a larger context. Feel free to address them and request a new review 🚀

Thank you so much for the feedback @philippzagar! I've updated it accordingly please take a look whenever you can!

@philippzagar Just addressed these changes! Thank you so much for your patience and time. I really appreciate it!

@akanshyabhat There are some unresolved discussion items, please resolve them first and then request a review

@akanshyabhat There are some unresolved discussion items, please resolve them first and then request a review

So sorry @philippzagar - I forgot to hit the resolve button! They have been resolved now :)


Distributed search index

Just an issue to track ideas on how to distribute the search index generated from the initialization step

In the simplest case we could just use hyperdrive as the kvstore instead of leveldb - but the latency involved in the lookups for the inverted index would probably be a huge bottleneck.
Worth trying as a POC I think, then we can optimise from there.

Some references:

https://en.wikipedia.org/wiki/YaCy
https://github.com/beniz/seeks (abandoned)
http://www.faroo.com/hp/p2p/p2p.html

I am in the process of implementing this on top of hyperdb. A lot of the hard problems are already solved by @mafintosh in that module. There are some tricky things to do with implementing an efficient full text search index on top it it - I hope to have them all ironed out with an initial release in the next few days.


Compatibility with SQL Server

Adding a Microsoft sql database driver in build.gradle file and updating readme to reflect this change.

Applied to the upstream project via https://github.com/cloudfoundry-samples/spring-music/commit/b6c2d549ebc3f053799967df3bfb5aa79dda86cb.


As a standalone release, how do I deploy it?

The built in scripts seem to assume all sorts of existing systems are running (diego, consul, cf).
For the standalone case - where I want to run cf-tcp-router in front of a cluster of service instances - how do I run this BOSH release?

Hi Nic,
For your use case I think you'd need consul and etcd (which I believe are now standalone releases), and gorouter out of cf-release to access the routing-api. The tcp-emitter will fail without Diego, but you don't need it. Register your TCP routes with the API, and the TCP Router will be updated. In the coming months we'll be consolidating routing-api, gorouter, and haproxy from cf-release into this release, and route-emitter from diego-release into this one.
Consider that the routing-api is still experimental and subject to change. The TCP endpoints are stabilizing; it's the http endpoints that will get an overhaul shortly.
Our near-term goals are TCP routing for apps on Diego, and CC registering its own route through the Routing API. Once we're confident in the Routing API, we aim to deprecate use of NATS for HTTP route registration for apps on Diego (pointing route-emitter at the Routing API).

+1

@drnic thanks again for submitting this request. We are closing this issue due to inactivity and because the use case can be fulfilled as follows:

TCP Router requires Routing API
Routing API requires Consul and a relational database
You don't need to deploy Gorouter if you use the Consul internal service name to connect to the Routing API from the private network. Only one Routing API instance is active at a time; putting an LB in front of multiple instances will likely result in some failures. Gorouter mitigates this by using the Consul internal service name to fetch the route for Routing API from the active Routing API instance; the only backend in the routing table is for the active instance.
If you don't want to deploy UAA, set routing_api.auth_disabled:true and the TCP router and Routing API won't attempt to reach UAA (don't expose the routing api publicly if you do this)

If you have any questions, please let us know. Thanks.


fix(format): ensure json with SCREAMING_SNAKE_CASE handled properly for field names

fix(format): ensure json with SCREAMING_SNAKE_CASE handled properly for field names

Thanks - do you have an example where this is useful?

@mholt
For the following json
{
    "USER_ID": "5106101",
    "USER_NAME":"Sarath"
}

https://mholt.github.io/json-to-go/ generates the following , which does not follow go naming conventions
type AutoGenerated struct {
	USERID   string `json:"USER_ID"`
	USERNAME string `json:"USER_NAME"`
}

imo, the expected result would be
type AutoGenerated struct {
	UserID   string `json:"USER_ID"`
	UserName string `json:"USER_NAME"`
}

This is PR is to make that change


Added TSuppressed class and derived TGriffin from it

TSuppressed doesn't do much, it just provides the template functions that allow to create addback vectors and suppressed vectors (and suppressed addback vectors) from a provided hit vector.
For now this mainly meant moving the code from TGriffin to TSuppressed. But if there are more detectors that use addback and/or suppression we won't need to copy-paste the code but just derive those classes from TSuppressed as well (e.g. the LaBr detectors).
I've also changed the private functions of TGriffin to access the vectors to return references instead of pointers.
For the suppression two new analysis options were added, one to set the time window between the detector and the BGO, the other to set an energy threshold for the BGO.
I've also cleaned up some code that still used 'using namespace', don't know how that got back in.
This hasn't been tested yet as I don't have any data with BGOs in it.

Hi Vinzenz, you can try::
/tig/grifstore0/griffin/S1626/run11332* /run11342* or /run11349*, for example. These should have a fair amount of BGO and HPGe channels active.

Okay, I will try those when I get time for it.
I think there might be an issue in the code anyways, as it seems that auto does not set the type correct if using a function that returns a reference to a vector. At least I just had some issues with that on the iThemba branch.

My mistake, I used auto when I should have used auto&.

This requires more work. The fact that the mnemonics of the BGOs use GRIFFIN as system means we have to check the subsystem of GRIFFIN (and LaBr) to see whether it's a detector or a BGO.
After doing that I'm letting it sort overnight and will check tomorrow if this worked.

This seems to be working.
Using a simple selector (see below) I get energy spectra that show some suppression (from run 11439_000). The second plot shows the ratio between the suppressed and unsuppressed spectra.
However if I fit the two 60Co peaks in the singles and suppressed singles spectrum I get a peak to total of 15.1% and 19.0%, respectively. This seems a bit low? I thought our peak to total should approach something like 50%, but I'm not sure what the exact status of all the BGOs was during this run or their timing in respect to the GRIFFIN detectors (and I don't have time to dig deeper into this).
But I think the code is working, so I will merge this now.
BgoSelector.h:
#ifndef BgoSelector_h
#define BgoSelector_h

#include "TChain.h"
#include "TFile.h"

#include "TH2.h"

// Header file for the classes stored in the TTree if any.
#include "TGriffin.h"
#include "TGRSISelector.h"

// Fixed size dimensions of array or collections stored in the TTree if any.

class BgoSelector : public TGRSISelector { //Must be same name as .C and .h

 public :
   TGriffin * fGrif; //Pointers to spot that events will be
   TBgo* fBgo;

   BgoSelector(TTree * /*tree*/ =0) : TGRSISelector(), fGrif(0), fBgo(0) {
      SetOutputPrefix("Bgo"); //Changes prefix of output file
   }
        //These functions are expected to exist
   virtual ~BgoSelector() { }
   virtual Int_t   Version() const { return 2; }
   void CreateHistograms();
   void FillHistograms();
   void InitializeBranches(TTree *tree);

   ClassDef(BgoSelector,2); //Makes ROOT happier
};

#endif

#ifdef BgoSelector_cxx
void BgoSelector::InitializeBranches(TTree* tree)
{
   if(!tree) return;
   if(tree->SetBranchAddress("TGriffin", &fGrif) == TTree::kMissingBranch) {
                fGrif = new TGriffin;
        }
   if(tree->SetBranchAddress("TBgo", &fBgo) == TTree::kMissingBranch) {
                fBgo = new TBgo;
        }
}

#endif // #ifdef BgoSelector_cxx

BgoSelector.C:
#define BgoSelector_cxx
// The class definition in BgoSelector.h has been generated automatically
#include "BgoSelector.h"

void BgoSelector::CreateHistograms() {
        //Define Histograms
        fH2["gE"]       = new TH2F("gE","#gamma energy vs. array number",64,0.5,64.5,2000,0,2000);
        fH2["gEs"]      = new TH2F("gEs","Compton suppressed #gamma energy vs. array number",64,0.5,64.5,2000,0,2000);
        fH2["aE"]       = new TH2F("aE","addback #gamma energy vs. detector number",16,0.5,16.5,2000,0,2000);
        fH2["aEs"]      = new TH2F("aEs","Compton suppressed addback #gamma energy vs. detector number",16,0.5,16.5,2000,0,2000);

        //Send histograms to Output list to be added and written.
        for(auto it : fH2) {
                GetOutputList()->Add(it.second);
        }
}

void BgoSelector::FillHistograms() {
        //Loop over all Griffin Hits
   for(auto i = 0; i < fGrif->GetMultiplicity(); ++i){
      fH2.at("gE")->Fill(fGrif->GetGriffinHit(i)->GetArrayNumber(), fGrif->GetGriffinHit(i)->GetEnergy());
   }
   for(auto i = 0; i < fGrif->GetSuppressedMultiplicity(fBgo); ++i){
      fH2.at("gEs")->Fill(fGrif->GetSuppressedHit(i)->GetArrayNumber(), fGrif->GetSuppressedHit(i)->GetEnergy());
   }
   for(auto i = 0; i < fGrif->GetAddbackMultiplicity(); ++i){
      fH2.at("aE")->Fill(fGrif->GetAddbackHit(i)->GetDetector(), fGrif->GetAddbackHit(i)->GetEnergy());
   }
   for(auto i = 0; i < fGrif->GetSuppressedAddbackMultiplicity(fBgo); ++i){
      fH2.at("aEs")->Fill(fGrif->GetSuppressedAddbackHit(i)->GetDetector(), fGrif->GetSuppressedAddbackHit(i)->GetEnergy());
   }
}


Flickering 3D frame when moving camera

Describe the annoyance
The 3D frame that appears when moving the camera flickers.
This seems to happen only in the prerelease right now.
Video
https://github.com/rerun-io/rerun/assets/9785832/2a534dc1-b49d-42c5-92db-e3a218003711
Desktop (please complete the following information):

OS: Ubuntu 20.04
rerun-sdk 0.6.0a0+2<IP_ADDRESS>b7a3

closed the wrong issue!


Missing info if this can run on windows containers

The documentation doesn't describe of side car container works on windows containers

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

ID: 9ed58f2c-446c-b500-122f-407628a8eb17
Version Independent ID: bce3f5a3-45d8-6b93-522e-a9af298068f5
Content: Enable TLS with sidecar container - Azure Container Instances
Content Source: articles/container-instances/container-instances-container-group-ssl.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

@rfcdejong
Thanks for the feedback! We are currently investigating and will get back on this.

@rfcdejong - Thanks for the question. Currently, you can only deploy a single Windows container instance, or a container group consisting of a single Windows instance. This limitation is noted in the introduction to container groups, linked from this article's introduction. So at the moment, the sidecar pattern can't be used with Windows.

@dlepow Thanks for sharing the information.
@rfcdejong
Hope the provided information is helpful.
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.


Calling Search() or Index() throws ProtocolViolationException Exception

Preview
NEST/Elasticsearch.Net version: 6.1.x
Elasticsearch version: 6.0
Description of the problem including expected versus actual behavior: Any index or search operations made using NEST result in the following error:-
ProtocolViolationException: When performing a write operation with AllowWriteStreamBuffering set to false, you must either set ContentLength to a non-negative number or set SendChunked to true.
Steps to reproduce:
Create a new ElasticClient
Call Search() or Index()
Provide ConnectionSettings (if relevant):
var settings = new ConnectionSettings(new Uri("http://localhost:9200")).BasicAuthentication("elastic", "password");

@kbandrew looking at this now, running the readonly cluster tests (522 integration tests) on master, I'm not seeing this issue. The tests can be run with
build.bat integrate 6.0.0 ReadOnly

I'll look at seeing if I can replicate with a small example, but could you provide one that reproduces it for you, including the package you're using from MyGet and the target framework?

OK, I can reproduce with MyGet packages 6.1.0-ci1116113135 with a small example in LINQPad. Strange that the integration tests aren't failing...

Integration tests were running against the netstandard1.3 version, which uses HttpClient and does not expose AllowWriteStreamBuffering. Reproduced now against Desktop CLR and will open a PR shortly

I've opened https://github.com/elastic/elasticsearch-net/pull/2909

I'm closing this issue for now as the change to AllowWriteStreamBuffering=false has been reverted and included in #2909.
@kbandrew the latest canary package on MyGet has the reverted change 👍


https://psychic-health.bandcamp.com/track/kick-in

I have an alternate tool that works:
PS C:\> bandcamp -i https://psychic-health.bandcamp.com/track/kick-in
HEAD https://psychic-health.bandcamp.com/track/kick-in
GET http://bandcamp.com/api/mobile/24/tralbum_details?band_id=1&tralbum_id=1544968421&tralbum_type=t
{Track_Num:1 Title:Kick In
Streaming_URL:{MP3_128:https://bandcamp.com/stream_redirect?enc=mp3-128&track_id=1544968421&ts=1638826582&t=1f255c1b1ae666648d2f2e9e4d80dadd940d2e9b}}

https://github.com/89z/mech

Alternatively: https://github.com/iheanyi/bandcamp-dl
Now that I'm working on it again.


Update/Add [tool name]

Tool name
N
Tool license
Mit
Add or update?

[X] Add
[X] Update

Desired version
Dev
Approximate size
No response
Brief description of tool
N.
URL for tool's homepage
www.github.com/xstarint
Provide a basic test case to validate the tool's functionality.
Run N Deploy

Platforms where you need the tool

[X] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[X] Ubuntu 20.04
[X] Ubuntu 22.04
[X] macOS 11
[X] macOS 12
[X] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
Yes

Hello @nonesky666.
Could you please provide more information about the tool?


feat(instrumentation): add util to execute instrumentation event hook in base class

TL;DR
this PR will allow us to clean up dozens of places in contrib that implemented this code or similar:
        if (self._config.consumeHook) {
          safeExecuteInTheMiddle(
            () => self._config.consumeHook!(span, { moduleVersion, msg }),
            e => {
              if (e) {
                diag.error('amqplib instrumentation: consumerHook error', e);
              }
            },
            true
          );
        }

And transform it into a shorter, consistent and intuitive:
this.runInstrumentationEventHook(self._config.consumeHook, 'consumeHook', span, { moduleVersion, msg })

Motivation
Over time and due to user requests, instrumentations in core and contrib evolved to offer a popular extension point to allow recording of additional data on spans.
The mechanism is implemented via a user hook that can be registered in the instrumentation config for each individual instrumentation, for example: amqplib:
export interface AmqplibInstrumentationConfig extends InstrumentationConfig {
  /** hook for adding custom attributes before publish message is sent */
  publishHook?: AmqplibPublishCustomAttributeFunction;

  /** hook for adding custom attributes after publish message is confirmed by the broker */
  publishConfirmHook?: AmqplibPublishConfirmCustomAttributeFunction;

  /** hook for adding custom attributes before consumer message is processed */
  consumeHook?: AmqplibConsumeCustomAttributeFunction;

  /** hook for adding custom attributes after consumer message is acked to server */
  consumeEndHook?: AmqplibConsumeEndCustomAttributeFunction;

Then the user can choose to initialize the instrumentation with custom hooks that can record, for example, one can collect the payload like this:
const amqplibPublishHook = (span, publishInfo) => {
    if (publishInfo.content !== undefined) {
        span.setAttribute("my.custom.attribute.name", publishInfo.content.toString());
    }
};

When instrumentation invoke the hook, it commonly looks like this:
        if (self._config.consumeHook) {
          safeExecuteInTheMiddle(
            () => self._config.consumeHook!(span, { moduleVersion, msg }),
            e => {
              if (e) {
                this._diag.error('consumerHook error', e);
              }
            },
            true
          );
        }

There are multiple variations which I think can be hoisted to the base class, to a function that executes the hook if it is present, and catch any exceptions from the user-supplied function so that we don't crash anything. If there is an error, it logs it to the instrumentation diag channel and silently returns.
I want to suggest adding the following function to InstrumentationAbstract as a new feature:
  protected runInstrumentationEventHook<EventInfoType>(
    hookHandler: InstrumentationEventHook<EventInfoType> | undefined,
    eventName: string,
    span: Span,
    eventInfo: EventInfoType
  ) {
    if (!hookHandler) {
      return;
    }

    try {
      hookHandler(span, eventInfo);
    } catch (e) {
      this._diag.error(`Error running span hook for event ${eventName}`, e);
    }
  }

And after it is merged, align all instrumentations to use it. The benefits are:

less duplicate code lines across different packages in this repo to maintain
consistent handling of the hook flow and diag message
correct typing for the hooks, to promote consistency and type safety
abstracting away common task from dozens of instrumentations into base class for reuse

Migration Plan
There is currently inconsistency in the existing instrumentations hook signatures. This PR requires all instrumentations to align according to a common standard, which is:
(span: Span, eventInfo: EventInfoType) => void;

Where as some instrumentations in contrib are using different signatures like redis:
export interface RedisResponseCustomAttributeFunction {
  (
    span: Span,
    cmdName: RedisCommand['command'],
    cmdArgs: RedisCommand['args'],
    response: unknown
  ): void;
}

Since this PR adds a feature, consumers can migrate to this util at any time.
For the packages where the hook signature is already correct, this is an easy task that can be applied right after core is released. these are:

amqplib
mongoose
socket.io
aws-lambda
aws-sdk
cassandra
express
fastify
koa
mongodb
mysql2
pg
restify

The hooks that are structured other than the common way would need to align as a breaking change, either now or in the future. these are:

fetch
http
xhr
fs
unidici
graphql
ioredis
redis-4
redis

Should we consider to generalize the hooks even further to allow more users?
E.g. like an EventEmitter (requires to get the instance to register a hook) or even use Diagnostics Channel?

Thanks @Flarna
Intresting.
I think that we can explore other mechanisms for instrumentations to register custom span hooks to enhance attributes or span name, which will make the publishing and consumption more fluent.
Since each hook carries a unique info object, I love how easy it is now to become aware of all the hooks with their types right in the configuration object for each instrumentation. Since the hook needs to be synchronous and set any additional attributes before the span ends, the current syntax make it more obvious, where publish-subscribe patterns are sometimes harder to trace in code.
A notable benefit of event emitter IMO is the opportunity for otel distributions to reuse hooks code and register hooks in a consistent and structural manner.

Should we consider to generalize the hooks even further to allow more users? E.g. like an EventEmitter (requires to get the instance to register a hook)

My understanding about EventEmitters is that they are less intuitive to work with and type, and it seems they haven't been introduced anywhere in the project yet. Or are you suggesting using something like EventEmitter that we write?
Another change for using an event emitter is that the hooks registration will not happen in the constructor on object creation, but will now be separated to a different call after an instance has been created.

or even use Diagnostics Channel?

As the hook is used to add custom attributes to spans, and not for diagnostic purposes, I think it's not a perfect fit here semantically and can lead to confusions.

Both EventEmitter and diagnostics channel are sync and allow mutation. Typing could be added in the individual instrumentation similar as it is done in node.
But I agree that there is a major semantic difference. Hooks here are intended for data mutation and/or influence instrumentation behavior whereas above are intended to just provide data.
Besides that instrumentations are not just a node thing, they are also for browser. Your solution doesn't require polyfills.

@Flarna Thank you for the review 🙏
Addressed your comments
I hope this new thing that I named is common enough to deserve it's own type and execute util function. We can consider also hoisitng utils for other usecases in followup PRs if they are common and structured IMO. I also hope that we don't end up with multiple hook classes for different cases with confusing names and scopes


Unable to play HLS video file on IE11 "AUDIO/VIDEO: Unknown MIME type."

The HLS video keeps buffering and throws an error on IE11 console "AUDIO/VIDEO: Unknown MIME type."
I tried it on "http://www.mediaelementjs.com/" and also in my project. The other browsers like chrome and firefox works fine.

@sravanthialuri Is this still an issue for you?

Hello @rafa8626, thank you for looking into it. Yes, it is still an issue.

Yes, I tried it on our server. The problem is only with HLS/m3u8 videos on IE11 other browsers(Chrome/Firefox) and videos(MP4) seems to work fine.

That's odd because I tested the main website on Browserstack using Win7 IE11 and I'm able to see it, even with the error being displayed:

I believe there is some initialization issue. If I refresh the page and select the HLS then it won't work. But, if I switch from MP4 to HLS video then it works.

Does the above two screens ring any bell? FYI I'm running IE11 on Windows 8.1 Pro

I’ll test in that environment using Browserstack and let you know my findings

did anyone resolved this? I have the same issue using mediastream and IE 11 set up on IIS7.5. all other browsers work not IE 11. Is there are setting to reduce the quality of the video so it would play on IE. Does IE 11 understand HTML 5 video tags or application/x-mpegURL?

Download the master from mediaelements GIT Repo and upload only the /build folder to the root location of the folder.

Closing old issues. Feel free to re-open


[ENH] transparent background for popups (telescope, mason...)

Congrats for the theme, colors are awesome and the setup straightforward (I am mostly using gruvbox-material, which is vimscript so a little less straightforward to use). However, I was expecting that the transparency option would make popup windows bg transparent as well. I am no colorscheme expert, but I'd be glad to help!

Glad you like it!
I agree with you, should definitely add an option to do that.  The only possible issue I am aware of, is that some of the plugins (for example, lspsaga.nvim) handle window transparency separately from the  the Neovim settings.  But I do not have a problem with extending support to handle the plugins.
The work has slightly slowed down, since I am grinding to get my thesis submitted.  But after that I am going to add some stuff, including this.

I will have a look around and try to find a solution 💪🏼

I think this might be fixed with #97...

Will try it soon!

You should be able to set the branch you use with your plugin manager.  Currently it is on dev.  Should be merged in relatively soon though.

I think my latest merge fixed this, but I am not sure.  Please let me know if this is still an issue.

Hey there! Will check when I have time later this week. Thanks for pinging me :)

Hey there, tried running colorscheme nordic with the latest commit from the main branch and got this error:
11:38:07 msg_show   colorscheme nordic E5108: Error executing lua .../.local/share/nvim/lazy/nordic.nvim/lua/nordic/utils.lua:114: attempt to perform arithmetic on local 'c_fg' (a nil value)
stack traceback:
	.../.local/share/nvim/lazy/nordic.nvim/lua/nordic/utils.lua:114: in function 'blend_channel'
	.../.local/share/nvim/lazy/nordic.nvim/lua/nordic/utils.lua:118: in function 'blend'
	...l/share/nvim/lazy/nordic.nvim/lua/nordic/colors/init.lua:32: in function 'extend_palette'
	...a/.local/share/nvim/lazy/nordic.nvim/lua/nordic/init.lua:17: in function 'load'
	[string ":lua"]:1: in main chunk

That is odd.  Can you show me your setup (if any) and package manager config?

I think this is the same thing I am running in to:
    C.bg = (O.transparent_bg and C.none) or C.gray0
    C.bg_dark = (O.transparent_bg and C.none) or C.black0
    C.bg_highlight = U.blend(C.bg_dark, C.bg, O.cursorline.blend) -- Line 32 colors init

Its trying to blend, 'NONE' which is not a hex value.
However, I nor GitHub actions get an error unless I change the default value of transparent_bg to true.
I don't know why baggiponte would be getting this.
If this is a bug I can make a pr and fix it, by making blend handle none or just skipping the blending function if none is used.
the error I get is:
Failed to run `config` for nordic

...El/.config/nvim/git/bin/nordic.nvim/lua/nordic/utils.lua:114: attempt to perform arithmetic on local 'c_fg' (a nil value)

# stacktrace:
  - git/bin/nordic.nvim/lua/nordic/utils.lua:114 _in_ **blend_channel**
  - git/bin/nordic.nvim/lua/nordic/utils.lua:118 _in_ **blend**
  - git/bin/nordic.nvim/lua/nordic/colors/init.lua:33 _in_ **extend_palette**
  - git/bin/nordic.nvim/lua/nordic/init.lua:17 _in_ **load**
  - lua/core/lazy.lua:61 _in_ **config**
  - lua/core/lazy.lua:305
  - lua/core/init.lua:4
  - init.lua:1

Oh, yeah, I am blending a 'none' value.  Oops.
We can just have the blend function return none when we try and blend a none value.

Thanks for finding the bug @5-pebbles! :)

This should have been caught in the tests.  We need to cover it.

I just went ahead and fixed it, I don't want people's neovim breaking because of a colorscheme.

Error fixed! About the transparency:

There's something off with the borders. Mason and Lazy popup are not transparent too. How can I help you with this?

Ah, makes sense.  Will fix this on Sunday.

Another very minor thing: the pane separator is black and the NvimTree separator is white. Could they be made the same? Another unrequested opinion: with transparency, using black as a line separator feels weird. How can I change it to idk gray? Thanks :)

For the blend, I will make a pr to just uses the non-none color.
and then I will revert https://github.com/5-pebbles/nordic.nvim/commit/ea86462fa8fdeab9037300b7236e6e01f2d048ff for #101

Another very minor thing: the pane separator is black and the NvimTree separator is white. Could they be made the same? Another unrequested opinion: with transparency, using black as a line separator feels weird. How can I change it to idk gray? Thanks :)

All valid concerns.  Just thought about the black separator...

Also, could you check on the dev branch if your border issue is resolved?

Can you please open a new issue?

Ops sorry completely missed that. will do.

Also, could you check on the dev branch if your border issue is resolved?

It seems something changed indeed. The color's still dark (should be gray or white or the same as the highlight used by noice?) but at least it's not the "rectangle" it was before.

Enable bright borders and see if that is what you want?  Share a screenshot, I am curious.

Uuh didn't see that in the readme, that looks great! :)

Unrelated: do you know what highlights I can change to have a rounded border around this completion menu? It should be nvim-cmp's cmdline source. It does not work with my other theme of choice, gruvbox-material:
nordic

gruvbox-material
Unrelated: do you know what highlights I can change to have a rounded border around this completion menu? It should be

This should help you out :)
https://github.com/AlexvZyl/nvim/blob/main/lua%2Falex%2Flang%2Fcompletion%2Fcmdline.lua


Why is friction coefficient not constant?

Hello, I am a Ph.D student studying MuJoCo.
I simulated sliding an object on the table (the object is moved by mocap body). I calculated normal force and frictional force, and found that the frictional force is different from what I expected. I thought the frictional force is proportional to the normal force until the object stopped, but it was not (attached figure).

I checked the frictional force divided by the normal force, which is maybe friction coefficient, and found the value is not constant. This value should be constant, but not constant in the simulation. Why is friction coefficient not constant??

The code is attached.
friction_sample.py.zip
Thank you very much.

That's not how friction works, either in MuJoCo or the real world. The friction force is in the friction cone, which means it is at most the friction coefficient multiplied by the normal force.

Thank you for your quick response.
In my knowledge, the static friction is in the friction cone, but the dynamic friction is on the surface of the cone in the real world. Is it right?
In MuJoCo, users can't specify the static friction coefficient and dynamic friction coefficient at the same time. Thus, I think that the dynamic friction is modeled in the way that it is in the friction cone, not on the surface. Am I right??

Can you explain how you are forcing the object to move (what do you mean by "the object is moved by mocap body")?

“Mocap body” is this: https://mujoco.readthedocs.io/en/stable/modeling.html#mocap-bodies
I welded the mocap body to the object, and the object is moved by the following code.
env.physics.named.data.mocap_pos[0] = [0.1, 0, -0.1]

My explanation was not clear, so I will try to explain my question again. I would like to know how to calculate the dynamic friction in MuJoCo.
To check the dynamic friction, I performed a simulation of an object sliding on a floor. As explained above, the object is controlled by “mocap body” welded to the object. The mocap body was used to slide the object while pressing it against the floor.
The results showed that the friction was not proportional to the normal force. The below figures show the results. The horizontal axis begins at timestep 1. In timestep 0, the object is stopped, and these figures shows the values while the object is moving.
Figure 1 shows the friction while the object is moving, Figure 2 shows the normal force while the object is moving. And Figure 3 shows the dynamic friction coefficient calculated from the friction and normal force. The calculated coefficient varied with time. In my knowledge, the dynamic friction should be constant. Therefore, I could not understand this phenomenon.

How is the dynamic friction force calculated in MuJoCo?
And, are static friction and dynamic friction calculated as different or same?

And, are static friction and dynamic friction calculated as different or same?

Yes.

mocap bodies do not have velocities. By changing the position you are "teleporting" the body.

Thank you for your reply.
I checked the velocity of the object when moving it using the mocap, and it appears to have velocities.
It takes several iterations to move the object to the position specified by mocap, so it is not "teleporting".

Source code is here.
velocity_sample.py.zip
Could you please check it?

mocap bodies do not have velocities. By changing the position you are "teleporting" the body.
Thank you for your reply.

I checked the velocity of the object when moving it using the mocap, and it appears to have velocities (the below figure).
It takes several iterations to move the object to the position specified by mocap, so it is not "teleporting".

The source code is here.
velocity_sample.py.zip
Could you please check it?

And, are static friction and dynamic friction calculated as different or same?

Yes.

"Yes" means that the static friction and dynamic friction are calculated as different, right?

Sorry, I misread your question. Dynamic and static friction are the same.
Can you look at the tutorial colab please ?
There is a cell there discussing friction with a small example. See if you can recreate the same plots with that. Basically I'm suspecting the business with the weld is not behaving as you think it is.

Thank you for your quick response.

Dynamic and static friction are the same.
OK, I understood my result! Thank you.

Basically I'm suspecting the business with the weld is not behaving as you think it is.
"Mocap body" is teleported itself as you said. But, I think that the body welded with "Mocap body" moves by following this calculation as far as I read the link.
How is the motion of the body welded with "Mocap body"  implemented in MuJoCo?

You are correct, the welded body's position does get integrated smoothly, but think about the forces it experiences. Every time the mocap body teleports (a little), there is a jump in the force. Basically, mocap bodies are an unphysical thing, so if you compare their behaviour to the real world you are bound to see a mismatch.


Why your model generated mnist images are noises?

Dear explainingai-code:
Your codebase for ddpm is so detailed and helpful that I would like to thank you very much for your great work !
I have downloaded this codebase and follow your instructions carefully, luckly I got a good VQVAE result as follows:

So I continue to train unconditional and class conditional ddpm models.
I run python tools/train_ddpm_vqvae.py to train unconditional ddpm model and it seems to have converged as follows:

The loss decreases from 0.2833 to 0.0886. Then I run python tools/sample_ddpm_vqvae.py to check model output, I get mnist/samples/x0_0.png to x0_999.png, all seems like PURE NOISE as follows:

 Simiarly I trained and tested mnist class conditional ddpm and all results seems like PURE NOISE as follows:

 My code structure as follows:

I am sure that I just follow your instructions and DO NOT modify model related code, but the results seems weired. Appreciated if you could give some help.
Sincere,
CatLoves

Hello @CatLoves, Thank you for the appreciation.
Can you please share both the x0_0.png and x0_999.png file. The x0_0.png will be a decoded image and x0_999.png will be a pure noise(for unconditional) but for conditional x0_999.png will still be something that looks like digits(like the ones you uploaded).

@explainingai-code Sure. The x0_0.png under mnist/samples is as follows:

It seems very nice. So for this problem the reason is that I didn't figure out that only the last step's output would be decoded, x0_1.png to x0_999.png would be decoded latent rather than image itself. Sorry for this misunderstanding.
For class conditional ddpm on mnist, the x0_0 is as follows:

It also makes sense.
Thank you again for your quick and detailed response. I am looking forward to your further great work. Have a nice day !

Thats great! I understand how the image numbering could be confusing. Have adding this in the readme output section now.
Thank You


feat: Adds table progressive loading empty state

Description
Adds empty state to currently existing pending, loading, error, and finished states of the table progressive loading. That is to support async row expand that results in an empty array of nested items.
Rel: [yCGlAk8AlAO9]
Related links, issue #, if available: n/a
How has this been tested?

Enhanced unit tests
Manual testing on the updated test page
Dry run to ensure no TS issues caused by the type extension

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@avinashbot, I rebased against main - pls take another look.


Custom Routes for new component in ngx admin akveo theme

I want to add new child routes for an new component with AKVEO theme , all other built in routes are working fine but my custom components route is not working in (pages-routing.module) its redirecting on dashboard.
{     path: 'movers',     loadChildren: './movers/movers.module#MoversModule',   },

Hi @beelaal, could you provide a reproducible example?

Same problem here. The page keeps loading. even with correct routing

I ran into the same problem trying to create a completely separate module that can be reached using routing. After lots of trial and error and routing debugging i noticed that the problem didn't have anything to do with routing, but somehow with the way that the template seems to enable/disable the page-loading spinner. The page would be loaded correctly in the background, but not displayed because the spinner was still on top of it.
Once I moved the spinner markup inside the ngx-app component tag's body, it all worked smoothly:
<ngx-app>

  </ngx-app>

I did not research what the underlying problem was, as I was so relieved to have some kind of solution and thought I just had used some part of the template in a wrong way. Maybe yours is the same issue?

Hi Guys, the issue here is that your pages are required to have <nb-layout> placed on it. Otherwise, there is no code executed that could hide the spinner.
Another solution would be to inject NbSpinnerService https://akveo.github.io/nebular/#/docs/services/spinnerservice on your own and call load method, which will execute all tasks and hide the spinner in the end.
Hope it helps!

I checked, but both the Modules I created have a root similar to this:
import { Component } from '@angular/core';
import { MENU_ITEMS } from './customer-menu';

@Component({
  selector: 'ngx-customer-pages',
  template: `
    <ngx-sample-layout>
      <nb-menu [items]="menu"></nb-menu>
      <router-outlet></router-outlet>
    </ngx-sample-layout>
  `,
})
export class CustomerComponent {
  menu = MENU_ITEMS;
}

I simply modified and copied the existing sample application, and the sample layout component does include the nb-layout. So there must be another issue here somewhere.

Hey @Schmaga could you please post a reproducible example to http://stackblitz.com?

Hi @nnixaa, I tried to import ngx-admin into stackblitz.com, but failed using different sources. I tried using the master head, I tried the 2.2.0 release commit, and I tried the tree/ngx-starter-kit.
Neither of them work, and all of them with different errors :) Do you have any idea why that could be or do you know what I might be doing wrong? Using your github would speed things up a bit, so I don't need to manually import a lot of files into Stackblitz.
Once I have a little more time I will try to clone it locally and move the files manually into Stackblitz, but I fear the result might be the same.

@Schmaga thanks for your help! There is an issue on stackblitz https://github.com/stackblitz/core/issues/492, hopefully, they will resolve it soon or provide some guidelines on how to debug it on our side.

Hi guys,
I am experiencing the same issue here.
I have tried creating new module inside the pages module but each component inside my new module is not getting accessed by the app but instead i am being shown the 'Page not Found' error.
Is there any soluton to this problem yet?

I have the same problem customizing a module outside of "pages".
I really liked the template, very good, but I'm not able to create new modules or components and correctly execute the routes.
I have tried all the examples above and other issues, but none solved.