Refactor Broadcast allowing for customizable transport stream decorators

The sty coloration library is currently hard coded inside the Broadcast class. Because Channel is a core class which uses Broadcast that makes core opinionated about how color should work. This makes it impossible to customize if you:

Don't want color
Don't like the sty syntax
Aren't using ANSI color

My high level concept is to create a system of customizable StreamDecorators that can be attached to TransportStreams in such a a way that a developer wouldn't have to modify core code AND wouldn't have to modify the transport bundle's (like telnet-networking code).
The difficulty is that TransportStream types aren't registered anywhere in the way that EntityLoaders are registered. This means there is currently no good central place to create the Stream+Decorators bindings.
Possible solutions
Bundle-centric
In this approach the transport bundle (e.g., telnet-networking) would entirely be in charge of this: they'd handle the initialization, customization, and management of decorators.
Pros

Maximum dev control

Cons

Little to no inter-bundle portability as every bundle might have a different configuration scheme, different decorator interfaces, etc.
All the work is foisted on the bundle dev
Likely to unintentionally imply that decorators should be hard coded into a transport bundle

Core-centric
In this approach there would be a base TransportDecorator class in core in the same way there is a base TransportStream class. Additionally the core would have to decide upon and own the configuration/binding strategy for Stream+Decorators
Pros

Easier on bundle developers
Easier for bundle users
Portable decorators
Unified configuration style

Cons

Less control for stream bundle developers since decorator configuration/binding will happen outside of their code
Having core do the configuration/binding means that the scheme will have to be more abstract and thereby potentially more complex than if it were up to the bundle itself

For me the core-centric approach seems like the obvious choice. The pieces of that puzzle look something like this:
TransportStream
TransportStream will need some way to identify themselves in such a way that configuration could link a transport stream to its decorators, my initial idea is that the class should get a new identifier getter, for example:
class TelnetStream extends TransportStream
{
  static get identifier() {
    return 'telnet';
  }

  // ...
}

TransportDecoratorRegistry
My idea for how to actually bind decorators to a stream involves creating a new TransportDecoratorRegistry. This class will be in charge of holding the configuration from ranvier.json which will look similar to DataLoader configuration:
// ranvier.json
{
  // register available decorators
  "transportDecorators": {
    "ansi": {
      // value follows same rules as DataLoader require config
      "require": "./lib/MyAnsiDecorator",
      // Serves as the default configuration for this decorator
      // which can be overridden by 'config' in the binding below
      "config": {
        "someDecoratorOption": 25
      }
    }
  },

  "transportDecoration": {
    "telnet": [
      {
        "decorator": "ansi",
        "config": {
          // additional configuration specific to this telnet:ansi binding
          "anotherOption": "foobar",
          // override of default config from registration
          "someDecoratorOption": 12,
        }
      }
    ]
  }
}

This is really verbose with all the configs but in practice it will look more like this:
{
  "streamDecorators": {
    "ansi": {
      "require": "cool-ansi-decorator"
    }
  },
  "streamDecoration": {
    "telnet": [
      { "decorator": "ansi" }
    ]
  }
}

To actually facilitate the usage of these decorators TransportDecoratorRegistry will have a decorate(TransportStream streamConstructor) method. This method will be used by transport bundle developers which means if a bundle developer so chooses they can not allow applying decorators:
class TransportDecoratorRegistry {
  decorate(streamConstructor) {
    const decorators = this.getDecorators(streamConstructor.identifier);
    return class extends streamConstructor {
      write(message, encoding) {
        message = decorators.reduce((acc, d) => d.decorate(acc), message);
        super.write(message, encoding);
      }
    };
  },
}

Writing a decorator
To write a new decorator, similar to DataLoader, there is no base class to extend. Instead you just need to follow the prescribed API:
const sty = require('sty');
class MyAnsiDecorator {
  // required configure(object config)
  configure(config = {}) {
    this.config = config;
  },

  // required decorate(string message)
  decorate(message) {
    return sty.parse(message);
  }
}

This class can either be an npm module or just a local file.
Changes for transport bundle devs
All that is in core. For the actual transport bundle developer they would write the following:
// inside their server-event script, e.g., server-events/telnet-server.js

// current:
const stream = new TelnetStream();
stream.attach(telnetSocket);

// new:
const stream = state.TransportDecoratorRegistry.decorate(TelnetStream);
stream.attach(telnetSocket);

I am thinking the Core Centric approach sounds better too.  One thing I'm not quite understanding is...
This would just allow someone to easily define different color libraries for different transport streams, but it wouldn't offer anything in terms of syntax in the areas.  Such as..STY has color tags like syntax, and suppose a different library has an entirely different syntax such a ~GThisIsGreen...how would someone manage both syntaxes in the area definitions?
I'm guessing that that question is outside the scope of what you're looking at here, but I wanted to ask incase I'm not fully appreciating it!
Thanks!

Syntax wise you decorator defines the syntax. If you don't like the syntax your decorator uses you'd write a translating decorator that converts from one syntax to another and put it before the coloring decorator in the list.
For example you're using sty as the decorator which uses <red>red stuff</red> but you still wanted to use ~Rred stuff you would have to write a decorator which converted ~Rred stuff to <red>red stuff</red>.

I have a branch implemeneting this feature here: https://github.com/Sakeran/core/tree/transport-decorators
TransportDecoratorRegistry has been implemented mostly to the specification laid out here. Broadcast has also been modified to work better with decorators, and to remove opinionation about color. To be more specific, I've currently made the following changes to my branch:
socket.write() convention
This one is probably more important than the decorators themselves. The current standard when calling a TransportStream's write method is to use the convention socket.write(message, encoding). This branch proposes a switch to the convention socket.write(message, options), where options is an object with arbitrary data.
Example:
socket.write("Hello!", { encoding: "utf8", wrap: 80 });
This gives us a few advantages:

The second argument is of more use to other kinds of TransportStreams that don't use encoding
Options can be set through the Broadcast API, allowing developers a more direct interface for things like OOB, websocket payloads, etc.
Decorators have access to the options object, and can read from and/or modify it as necessary.

I may be overqualifying this point a bit, but it is a powerful change. It also doesn't break either of the existing networking bundles like I thought it might (websockets doesn't use it, telnet falls back to utf8), so migration isn't too much of an issue for anyone using those.
TransportDecoratorRegistry
As stated above, TransportDecoratorRegistry is implemented using the 'core-centric' pattern outlined in the initial post. It will do most of the heavy lifting when the engine starts up, using the transportDecorators and transportDecoration config options to create a Map of decoration functions.
Decorating a TransportStream works as specified, with decorate(streamConstructor), and requires that the Stream have a static  identifier getter. This works, though I can imagine a case where the server might want to assign one of several sets of decorators (Telnet might want one of nocolor, ansi, xterm, etc). I wonder if it might be better to use something like decorate(streamConstructor, identifier), rather than requiring the developer to create multiple TransportStreams.
Broadcast
I added a new static function: to. This works exactly like at, except that it uses the "options" convention and passes it into socket.write(). at, and by extension its derivatives, keeps the same API, but strips out the sty parsing and populates an options object with useColor and wrapWidth, so decorators can pick up on them if set.
(to was the best name I could think up at the time. I'm open to suggestions for a better one)
A fair number of Broadcast's utility functions use sty for coloration by default, and there isn't really a non-breaking way to refactor these. If it's very important to keep them around, they could just be deprecated and left as-is, or we could modify the output such that coloration is removed.
Either way, it's not hard move the affected utility functions to wherever StyDecorator ends up living, so anyone who wants the syntax can still make use of them there.
EventUtil
One nice thing about decorators is that input events no longer need special consideration for coloration to work. I just stripped out the sty parsing for now, but nothing in this module seems strictly necessary at this point, and is mostly still around so I didn't have to rework the example input-events.

I may be missing a few other places in core where sty syntax is used by default - the colorify option for Channels is something I haven't touched yet. Once something has been done about the Broadcast utilities, though, it should be safe to drop the sty dependency from core altogether.

Additionally, here's an example of what a TransportDecorator class would look like in practice. The decorate function accepts two additional arguments for config and options, but otherwise works the same.
https://gist.github.com/Sakeran/5a1b8781ce0eb3ac6ad00957f4f99999

(note: I debated opening a separate ticket for this so please let me know if that would be more appropriate)
I'd like to suggest that the entire Broadcast class itself should (also?) be pluggable. I'm working on a project using Ranvier that will make use of "static" screens for some scenarios such as combat. When the player is one one of these screens I do not want Broadcast to simply dump data with socket.write(), but instead to do custom placement/drawing.
It looks like this would be mostly doable by simply using MyClass.say vs Broadcast.say etc., but there are some areas in core such as Channels in which that would not apply to.


Tests: Popover

What kind of change does this PR introduce?
Added some tests for the Popover component and sub-components.
I had difficulty determining if there are any useful tests that can be written for the PopoverContainer - open to suggestions!
Does this PR introduce a breaking change?
No

Codecov Report

Merging #295 into master will increase coverage by 7.85%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #295      +/-   ##
==========================================
+ Coverage   70.41%   78.27%   +7.85%
==========================================
  Files          85       85
  Lines         649      649
  Branches      149      149
==========================================
+ Hits          457      508      +51
+ Misses        192      141      -51

Impacted Files
Coverage Δ

packages/reakit/src/Popover/PopoverArrow.tsx
100% <0%> (+16.66%)
:arrow_up:

packages/reakit/src/Popover/PopoverToggle.tsx
100% <0%> (+25%)
:arrow_up:

packages/reakit/src/Popover/PopoverHide.tsx
100% <0%> (+25%)
:arrow_up:

packages/reakit/src/Popover/PopoverShow.tsx
100% <0%> (+25%)
:arrow_up:

packages/reakit/src/Popover/Popover.tsx
89.28% <0%> (+83.92%)
:arrow_up:

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 1373cf4...8d11a64. Read the comment docs.

@PlayMa256 @diegohaz Is there anything else I need to do with this?  I'd like to settle on this one and have it merged before I move onto the Tooltip as they are both closely related.

Lgtm, only wait for haz to merge it!


[The Space Contract] refund if price higher then current price?

https://github.com/thematters/contracts/blob/f608392a488a9a1ebb4b92e97d7efd5d172b7945/src/TheSpace/HarbergerMarket.sol#L121
If price_ is higher than current price, shouldn't we refund sender the part above?

Since the bid price needs to be higher than the asking price, price_ is always higher than the current price. I think we can automatically set the price to the bid price (TODO) instead of refunding the sender. So price increases with bids, making it more reflective of market competitiveness.


Do we have any transpiler to convert to js files as I want to use JS.

you able to import js files from dist directory.


Add ability to exclude some tests from run

Currently all tests are running ./...
https://github.com/gwatts/go-coverage-action/blob/cf5795fd4027fa3163339b4c284ab50532e65d11/index.js#L171
Let's add ability to exclude some paths or pass test packages directly $(go list ./... | grep -v /vendor/)

merged via PR #62


Project not created, something went wrong

Hi all,
Thanks for this nice tool. I went to set this up, but couldn't debug the error.
import zenodopy

# always start by creating a Client object
zeno = zenodopy.Client()

# list project id's associated to zenodo account
zeno.list_projects

# create a project
zeno.create_project(title="test_project", upload_type="other")

yields
>>> zeno.list_projects
Project Name ---- ID
------------------------
 ----- 7921375
Capturing long-tailed individual tree diversity using an airborne multi-temporal hierarchical model ----- 7301868
weecology/DeepTreeAttention: Submission ----- 7308745
Data for the NeonTreeEvaluation Benchmark ----- 5914554
A global model of bird detection in high resolution airborne images using computer vision ----- 5033174
weecology/NeonTreeEvaluation: New naming format ----- 4770593
One year of hourly temperature readings along a elevation gradient for a tropical forest in Maquipucuna Ecuador (1300-2400m) ----- 4560522
NEON Tree Crowns Dataset ----- 3765872
DeepForest - Street Trees Dataset ----- 4047083
bw4sz/DeepMeerkat: v0.0.7 ----- 1217119
>>>
>>> # create a project
>>> zeno.create_project(title="test_project", upload_type="other")
** Project not created, something went wrong. Check that your ACCESS_TOKEN is in ~/.zenodo_token

The token has to be correct, since list_projects correctly finds my account. To prove this, if you edit the token in anyway, it doesn't what account I'm pointing at. This is a new zenodo key, maybe it takes some time? It has all scopes.

token file has no quotes or other characters.
(DeepTreeAttention) [b.weinstein@c1107a-s35 DeepTreeAttention]$ cat ~/.zenodo_token
ACCESS_TOKEN: ############################

Hi @bw4sz, I haven't touched this project in a while. Let me take a look over the weekend and see if I can get it sorted.

I solved it by going to curl, I really couldn't get any python client to
work. This helped.
https://gist.github.com/maxogden/b758cf0fe6d353846ef9ce7d03fdca0c
Happy to debug, but my use case is good, depends on how much dev time you
want to throw at it.
On Fri, Sep 8, 2023 at 8:23 AM Luke Gloege @.***> wrote:

Hi @bw4sz https://github.com/bw4sz, I haven't touched this project in a
while. Let me take a look over the weekend and see if I can get it sorted.
—
Reply to this email directly, view it on GitHub
https://github.com/lgloege/zenodopy/issues/13#issuecomment-1711842205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJHBLFCD7QXKBVJT5WSAFLXZMZ5VANCNFSM6AAAAAA3S3RAY4
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ben Weinstein, Ph.D.
Research Scientist
University of Florida
http://benweinstein.weebly.com/

I solved it by going to curl, I really couldn't get any python client to work. This helped. https://gist.github.com/maxogden/b758cf0fe6d353846ef9ce7d03fdca0c

Hi @bw4sz
I wanted to try your link but it doesn't work anymore.
Did you clone that gist, so you an provide an alternate link?
Thanks


we can have a book review section . Feature:

Feature description
In the ace -library section we can add a book review section so that it can motivate lot of people to read book after the review
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

@Anisharai10 Go for it.

could you please tell me why the review section is not visible on the main
page. Because the issue was closed.
On Tue, Apr 12, 2022, 5:22 PM Saurav Mukherjee @.***>
wrote:

Closed #782
https://github.com/SauravMukherjee44/Aec-Library-Website/issues/782 via
#825 https://github.com/SauravMukherjee44/Aec-Library-Website/pull/825.
—
Reply to this email directly, view it on GitHub
https://github.com/SauravMukherjee44/Aec-Library-Website/issues/782#event-6418436361,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWFYCBSSYFD6SA2SFFS5NBDVEVPY3ANCNFSM5QTT75VQ
.
You are receiving this because you were mentioned.Message ID:
<SauravMukherjee44/Aec-Library-Website/issue/782/issue_event/6418436361@
github.com>

hey saurav i am writing mail again and again because i need it . I want to
add this work on my resume and if  i am providing the link  my work
should be there please check what is the problem and fix it my review
section is not  visible on main page . i am attaching the screenshot of
page.
thanks regards
anisha rai
On Tue, 19 Apr 2022 at 10:09, 034 Anisha Rai @.***>
wrote:

could you please tell me why the review section is not visible on the
main page. Because the issue was closed.
On Tue, Apr 12, 2022, 5:22 PM Saurav Mukherjee @.***>
wrote:

Closed #782
https://github.com/SauravMukherjee44/Aec-Library-Website/issues/782
via #825
https://github.com/SauravMukherjee44/Aec-Library-Website/pull/825.
—
Reply to this email directly, view it on GitHub
https://github.com/SauravMukherjee44/Aec-Library-Website/issues/782#event-6418436361,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWFYCBSSYFD6SA2SFFS5NBDVEVPY3ANCNFSM5QTT75VQ
.
You are receiving this because you were mentioned.Message ID:
<SauravMukherjee44/Aec-Library-Website/issue/782/issue_event/6418436361@
github.com>


Tutorial docs for Embedding the Webview > Android with AS extension are incomplete/broken

I ran into several issues while trying to follow the directions here 😄
I'm hoping these will be fixed so I can actually start using Phonegap with Android, the iOS version of this tutorial was very easy to follow!

Copy everything from www-shared/www to this newly created assets/www - I don't have a www-shared directory, what am I missing here?

Go to Tools > PhoneGap > Install Plugin from npm - I got the following error on macOS 10.12.3 even after running npm install -g plugman, restarting Android Studio, running that command and restarting the OS:

I wasn't able to Go to Tools > PhoneGap > Install Plugin from filesystem either for the same reason

There are steps to install the Phonegap plugin in plain text in a set of bullets even though these steps are clearly outlined with screenshots at the beginning of the document (next 3 bullets are part of a screenshot):

There seems to be a broken footnote type link here:

For the following step, there is no webView variable defined in the tutorial before this usage (same goes for the following step for onNavigationItemSelected())
Add these lines at the bottom of your onCreate method:

urls[0] = parser.getLaunchUrl();
urls[1] = urls[0].replace("index.html", "listeditor.html");
webView.loadUrl(urls[0]);

The tutorial sort of ends abruptly without explaining how to run the app

@shakeelmohamed can you run through the tutorial again and let me know?

Thanks for the update @imhotep!
I'm still getting the same error from Tools > PhoneGap > Install Plugin from npm (bullet 2 in OP). I have node running though nvm if that matters. Until them I'm still pretty blocked, however the svn export commands were helpful - at least for getting those www-shared/www files

@shakeelmohamed you can always install plugins manually
plugman install --plugin cordova-plugin-device|cordova-plugin-console|/path/to/plugin --platform android --project /path/to/your/android/studio/project

I cannot reproduce your issue unfortunately. I've seen one other instance like this (cc @mwbrooks )

@imhotep Sorry for the delay. Running plugman install on the CLI seems like a better workflow for me personally. I was able to get the app sort of working but the webview wasn't. I'll spend more time on this when I get a chance - thanks for the follow up 😄

@shakeelmohamed ok let me know if/how I can assist


Tab completion: rye run x should yield completion to the called executable

Steps to Reproduce

rye run pyt <tab>

rye run -- pyt <tab>

Expected Result
I'd expect to see the completions of the called command
Actual Result
No completions, bell sounds
Version Info
rye 0.2.0
commit: 0.2.0 (d87583862 2023-05-23)
platform: macos (aarch64)
self-python<EMAIL_ADDRESS>symlink support: true
Stacktrace
No response

This has been achieved nicely in 99designs/aws-vault for bash,zsh and fish.
Their implementation uses a switch on -- - all completion after that sequence is handed off back to the shell's concept of _normal (ie. as if you triggered completion with an empty prompt line)

I'm not sure exactly what the ask is here. You can already generate a completion script. Is the ask to automatically install these?
eval $(rye self completion -s zsh)

No, sorry, not that.
The ask is that rye run -- py<tab> would return the same completion options as if you just typed py<tab> on the cli.
This would mean you could use tab completion for commands which are run using rye run

I've written a number of CLI apps which do this, using the patterns in the scripts I linked here: https://github.com/mitsuhiko/rye/issues/213#issuecomment-1561176097 - do you not think those would work in the case of rye?
I'm not super au-fait with rust, but I might have a go and see if I can get something working

oooh, valid point 🤦🏻♂ I had my head in "general-task-runner" mode, not "we're running commands in a very specific environment" mode.
completely misread this:

The issue is that the completion would actually depend on what's configured in the scripts or what can be found

I think if this ever gets fixed it might be possible to do something: https://github.com/clap-rs/clap/issues/1232

Closing this for now as I do not believe work here will actually take place.

I agree with @abdulhaq-e . At the moment rye seems to consume any tab event, but it would be nice to do rye run foo /path/to/<tab> and have it autocomplete whatever is in that directory. Should this be a new issue?


Having trouble using with grunt-jasmine-nodejs

I'm trying to use this with https://www.npmjs.com/package/grunt-jasmine-nodejs on Windows, and when I require jasmine-collection-matchers I get:
Warning: ENOENT, no such file or directory '{your workspace}\src' Use --force to continue.

I poked around in node_modules and found a src directory in the jasmine-collection-matchers folder.  When copied to the same folder as the gruntfile, everything works as expected, though it does mean I have bits of node modules floating inside my project.  This would be especially problematic for people who store their project source in a "src" folder.  Not sure if this is an issue with jasmine-collection-matchers or grunt-jasmine-nodejs.
Cheers, James.

confirm bug.
It seems to be fixed via https://github.com/just-boris/jasmine-collection-matchers/commit/fff874ca6f89be28006d99aec6735d9ce40b5b67

released version 0.1.0. it should work fine.

Thanks.  I'll give that a try soon.  Awesome little library!  Makes Jasmine a lot nicer with collections.


stop e2e and hack/cluster from being dependent on the RESOURCEGROUP env var

proposed alternative to https://github.com/Azure/ARO-RP/pull/1258

I think I'd be happy with this. The reason I did the different variables in #1258 was due to possibly needing a different cluster rg than name, which might occur in dev clusters. However, due to the nature of dev clusters, we could probably just recreate errant ones.

I think I'd be happy with this. The reason I did the different variables in #1258 was due to possibly needing a different cluster rg than name, which might occur in dev clusters. However, due to the nature of dev clusters, we could probably just recreate errant ones.


bump msw to v1.1.1

Yeah there's some flaky memory leakage when running this locally too ... really weird.


Nav bar or Top bar  unstable

strutting/instablity of top bar is there, it can be noticed for big chapters like psalms 119 , scroll down to some mid position ,then try to scroll back up ,one can notice the top menu bar with all the menus like audio,infographics,etc will get displayed then all of sudden it gets hidden .

adding video for the same-
https://user-images.githubusercontent.com/93033055/168103180-577d52c2-c7d5-4e1d-9728-5b15aae63d91.mp4

Testing completed and the issue is fixed. As discussed moving this issue to done.


bug: reloading page with new chat UI shows empty tabs

Version
0.16.0
Describe the bug
If you have a chat open, and you quit and re-open VS Code (or reload the window) your chat is no longer visible (you only get an empty tab)
https://github.com/sourcegraph/cody/assets/153/6dcdb02a-3763-4ac8-bb74-b7be01870642
Expected behavior

Chats reappear on reload
If Cody sidebar is visible before reload, it reopens on reload (possibly related to #1810)

Additional context
No response

Hey @toolmantim 👋🏻
I see this issue has been present in previous version also. To fix this issue I might need some guidance from the devs.


How to set up a local dev environment

See issue exercism/exercism.io#2092 for an overview of operation welcome contributors.

Provide instructions on how to contribute patches to the exercism test suites
and examples: dependencies, running the tests, what gets tested on Travis-CI,
etc.
The contributing document
in the x-api repository describes how all the language tracks are put
together, as well as details about the common metadata, and high-level
information about contributing to existing problems, or adding new problems.
The README here should be language-specific, and can point to the contributing
guide for more context.
From the OpenHatch guide:

Here are common elements of setting up a development environment you’ll want your guide to address:

Preparing their computer
Make sure they’re familiar with their operating system’s tools, such as the terminal/command prompt. You can do this by linking to a tutorial and asking contributors to make sure they understand it. There are usually great tutorials already out there - OpenHatch’s command line tutorial can be found here.
If contributors need to set up a virtual environment, access a virtual machine, or download a specific development kit, give them instructions on how to do so.
List any dependencies needed to run your project, and how to install them. If there are good installation guides for those dependencies, link to them.
Downloading the source
Give detailed instructions on how to download the source of the project, including common missteps or obstacles.
How to view/test changes
Give instructions on how to view and test the changes they’ve made. This may vary depending on what they’ve changed, but do your best to cover common changes. This can be as simple as viewing an html document in a browser, but may be more complicated.
Installation will often differ depending on the operating system of the contributor. You will probably need to create separate instructions in various parts of your guide for Windows, Mac and Linux users. If you only want to support development on a single operating system, make sure that is clear to users, ideally in the top-level documentation.

To make this one a little bit easier to tackle, do you have some tracks that already have such information? And where did they put it?
Shall this into the tracks README or shall there be a track specific CONTRIBUTION file?

I think it's fine to put it straight into the README.
The Go track has a good README I think: https://github.com/exercism/xgo/blob/master/README.md


Implement support for signed 32-bit operations

Miden provides native u32 support, but Wasm, and other consumers of the frontend will require at least minimal support for signed 32-bit ops (i.e. i32), and possibly at other bit widths as well. For basic unchecked/wrapping add/sub/mul, the native u32 ops should work for the signed version as well, since both use the two's complement binary encoding. However, for checked/overflowing variants, and for things like signed division, we must implement support for that separately.
I'll update this later with the specific instructions we want to support first.

This can be closed when #37 is merged

Completed via #37


Avoids name conflict in example code

When __MODULE__ is used twice, it causes the exception ** (MatchError) no match of right hand side value: {:error, {:already_started, #PID<0.213.0>}}

The current example seems to be fine. It seems that rather the same
Broadway has been started twice?
José Valim
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

Oops, sorry about that! It looks like perhaps the real issue was that I started the process like this
    children = [
      {MyBroadway, []}
    ]

    opts = [strategy: :one_for_one, name: MyBroadway.Supervisor]
    Supervisor.start_link(children, opts)

If I change MyBroadway.Supervisor to Foo.Supervisor then it works fine. I guess the name conflict isn't __MODULE__, but for __MODULE__.Supervisor

Ah, I can see that happening in other cases. Maybe we should namespace as
MODULE.Broadway.Supervisor.
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D


JWT Serializer sets default media type header

The JWT IETF draft specifies that there can be a typ header to declare the media type of the JWT. The header is optional but is useful to indicate that the object is a JWT.
Most other JWT libraries set this header to "JWT", this explicitness is generally useful.

LGTM

Rebased in f513b48dba9a5adb02380873f44f57d3d495e40f.

Upon further reading, itsdangerous implements JWS, not JWT.  While JWS says that "JOSE" can be used for the typ header, I'm going to err on the side of omitting it.  If a user wants this header, they can add it or subclass the serializer to add it.
Reverted in 0b6975b570cea81ff4dd7d5f78fe2052001663c6.

TIL the difference between JWS and JWT. Good catch.


Fuzzing webkit boundary does not seem to be working - FileFuzzer

Swapping out "boundary=----WebKitFormBoundaryjEvBVBkaWnaiEMk3" for "boundary=----FUZZ" does not seem to work and hangs. Need to investigate further.

Initially this was an unaccounted effect. However, it is now considered a feature enhancement.
Although this feature can be added, it serves no purpose.
When sending multipart/form-data, the boundary is sent as a means to separate the name/value pairs in the request. This way the server can identify the various parts individually. As long as the boundary value is consistent througout the request, there would be no issues.
Fuzzing this value, serves no purpose, so this ticket will be closed. If there is any reason this may be needed in the future, this can be re-opened as an enhancement.


Add parhaml ruby solution

My Solution

Note. I'll wait till Becca's PR is merged and fix the inevitable merge conflicts on my branch.


Add images as a gallery for each event

https://deploy-preview-26--capable-taffy-51d3fc.netlify.app/events/mlh-info-session


Setting Bounding Box to "Activate Manually" Interferes with GameObject Rigidbody

Describe the bug
When activation enum is set to "activate manually" in Bounding Box component, game object with rigidbody dances around.
To reproduce
Steps to reproduce the behavior:

Go to HandInteractionExamples scene in Assets/MixedRealityToolkit.Examples/Demos/HandTracking/Scenes.
In the LunarModule gameobject, change activation to "activate manually".
Play the scene.
LunarModule dances around

Expected behavior
LunarModule rigidbody should acts normally.
Your Setup (please complete the following information)

Unity Version 2018.3.9f1
MRTK Version RC1

Target Platform (please complete the following information)

HoloLens 2

I can confirm, this is super weird.

Looks like this no longer repros on the latest mrtk_development.


FW-1624 sidebar updates

DashboardDetailSidebar* updates:
-- using ItemIcon component
-- displaying new data: item title, title task

Also:

Fixed issue with a data formatter that could output 'null' strings

Thanks for the review @elysse-fpcc


[BUG] While using customized k3d-managed registry, pod crashed with error "dial tcp: lookup k3d-registry.localhost: no such host"

What did you do

How was the cluster created?
$ k3d registry create myregistry.localhost --port 12345
$ k3d cluster create newcluster --registry-use k3d-myregistry.localhost:12345

What did you do afterwards?

k3d commands?
NA
docker commands?
$ docker pull nginx:latest
$ docker tag nginx:latest k3d-registry.localhost:12345/nginx:latest
$ docker push k3d-registry.localhost:12345/nginx:latest

    $ cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test-registry
  labels:
    app: nginx-test-registry
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-test-registry
  template:
    metadata:
      labels:
        app: nginx-test-registry
    spec:
      containers:
      - name: nginx-test-registry
        image: k3d-registry.localhost:12345/nginx:latest
        ports:
        - containerPort: 80
EOF

$ kubectl get pods -l "app=nginx-test-registry"
$ kubectl describe pod nginx-test-registry-69775dc595-9gz9d

OS operations (e.g. shutdown/reboot)?
NO

What did you expect to happen
As per the documentation created pod should up and run. Doc - https://k3d.io/v5.3.0/usage/registries/?h=loca#create-a-customized-k3d-managed-registry
Screenshots or terminal output
$ kubectl get pods -l "app=nginx-test-registry"
NAME                                   READY   STATUS             RESTARTS   AGE
nginx-test-registry-69775dc595-9gz9d   0/1     ImagePullBackOff   0          20s

$ kubectl get pods -l "app=nginx-test-registry"
NAME                                   READY   STATUS         RESTARTS   AGE
nginx-test-registry-69775dc595-9gz9d   0/1     ErrImagePull   0          34s
[amit@fedora k3d]$ kubectl describe pod nginx-test-registry-69775dc595-9gz9d
Name:         nginx-test-registry-69775dc595-9gz9d
Namespace:    default
Priority:     0
Node:         k3d-newcluster-server-0/<IP_ADDRESS>
Start Time:   Thu, 05 May 2022 15:41:40 +0530
Labels:       app=nginx-test-registry
              pod-template-hash=69775dc595
Annotations:  <none>
Status:       Pending
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/nginx-test-registry-69775dc595
Containers:
  nginx-test-registry:
    Container ID:
    Image:          k3d-registry.localhost:12345/nginx:latest
    Image ID:
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ErrImagePull
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6pz8h (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-api-access-6pz8h:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  56s                default-scheduler  Successfully assigned default/nginx-test-registry-69775dc595-9gz9d to k3d-newcluster-server-0
  Normal   Pulling    16s (x3 over 56s)  kubelet            Pulling image "k3d-registry.localhost:12345/nginx:latest"
  Warning  Failed     16s (x3 over 55s)  kubelet            Failed to pull image "k3d-registry.localhost:12345/nginx:latest": rpc error:
code = Unknown desc = failed to pull and unpack image "k3d-registry.localhost:12345/nginx:latest": failed to resolve reference
 "k3d-registry.localhost:12345/nginx:latest": failed to do request: Head "https://k3d-
registry.localhost:12345/v2/nginx/manifests/latest": dial tcp: lookup k3d-registry.localhost: no such host

  Warning  Failed     16s (x3 over 55s)  kubelet            Error: ErrImagePull
  Normal   BackOff    1s (x3 over 55s)   kubelet            Back-off pulling image "k3d-registry.localhost:12345/nginx:latest"
  Warning  Failed     1s (x3 over 55s)   kubelet            Error: ImagePullBackOff

Which OS & Architecture
$ uname -a
Linux fedora 5.17.5-200.fc35.x86_64 #1 SMP PREEMPT Thu Apr 28 15:41:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Which version of k3d
$ k3d version
k3d version v5.4.1
k3s version v1.22.7-k3s1 (default)
Which version of docker
$ docker version
Client: Docker Engine - Community
 Version:           20.10.14
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 24 01:48:41 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.14
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       87a90dc
  Built:            Thu Mar 24 01:46:30 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.5.11
  GitCommit:        3df54a852345ae127d1fa3092b95168e4a88e2f8
 runc:
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.1-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 3
  Running: 3
  Paused: 0
  Stopped: 0
 Images: 5
 Server Version: 20.10.14
 Storage Driver: btrfs
  Build Version: Btrfs v5.16.2
  Library Version: 102
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3df54a852345ae127d1fa3092b95168e4a88e2f8
 runc version: v1.0.3-0-gf46b6ba
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.17.5-200.fc35.x86_64
 Operating System: Fedora Linux 35 (Workstation Edition)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.05GiB
 Name: fedora
 ID: TR7Y:5E3Y:FQ2U:LJ5Z:6USP:YIRJ:ARKQ:EJKL:HBXV:FAYW:KN6N:XINW
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: amitsilicon2008
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

Hi @amitkrout , thanks for opening this issue!
Did you double check all your commands?
In the k3d commands, your registry is called k3d-myregistry.localhost, while in the rest you use k3d-registry.localhost. 🤔
You can check /etc/hosts inside the node containers, the core DNS configmap or the LocalRegistryHosting configmap to see what registry was configured inside k3d.

@iwilltry42 I fell into the exact same trap, thanks!! Maybe the doc should chose between registry.localhost and myregistry.localhost, because both names are involved in examples that we can copy-paste.

anyway thanks for this great, great tool!!!


game crash -Ticking block entity

LaserIO version
1.4.3
Minecraft Version
1.18.2
Forge Version
40.1.79
Modpack & Version
atm2sky 1.0.7
Do you have optifine installed?
No
Describe the issue
The game cashed after I linked a node that had an energy card on input.
Steps to reproduce
Can't open the game , it crash on loading the level .
Expected behaviour
not crash
Screenshots
No response
Log files

crash-2022-09-24_14.14.38-server.txt
Additional information
No response

Resolved by: https://github.com/Direwolf20-MC/LaserIO/commit/e52c572e05fed56815d2cc88ea0bdb8664bb39bd


[231] drop FastAPI in favor of Starlette

I'd like to drop FastAPI in favor of Starlette which is smaller and should be a closer comparison to GO's std lib.
I would even make the argument that we should write an ASGI app here - an async def app(scope, receive, send) function.
Python will still loose to GO but it would be interesting to see that in a more apples to apples comparison.
What do y'all think about a pure and frameworkless test on the Python side?
I new here I did not know what are the rules to follow. This "lesson" already has multiple SQL definitions (in a yml and in schema.sql). I've adjusted the code to the one without TZ in the timestamp fields. I'm also not sure if I'm doing the right thing with the cache_client.
I also switched to Gunicorn as my very basic tests with Locust showed me one time that Gunicorn took ~75% of the RAM Uvicorn took and produced ~158% requests per second compared to the same app ran on Uvicorn.

@antonputra I'm not sure how versed you are in the Python "ecosystem" so I apologize if I'm wasting your time with the following:
To provide a bit of context, in Python we have the ASGI protocol which basically is "THE" method to transform HTTP into Python. An ASGI application is just one function that takes 3 specific arguments. Starlette is one such application and FastAPI is built on top of it.
So basically Starlette implements that function somewhere, builds a request representation, does the routing, etc.
Then we have Gunicorn and Uvicorn acting as the ASGI servers (Gunicorn is old and only works with ASGI thanks to Uvicorn workers).
Now my question is if we should measure a pure ASGI implementation vs GO's std lib. Or are we more after real-life examples? If the latter then Starlette and even FastAPI are more accurate if GO's std lib is something people actually build GO web apps with. I hope I'm making sense.

Thank you @pkucmus for the explanation, it is very helpful. I understand that FastAPI is built on top of Starlette, but most people asked me to compare FastAPI since it's very popular. So first, I want to rerun the test with an updated FastAPI application. Second, I'm thinking about running a test that would include only 4 Python frameworks. Maybe FastAPI vs. Starlette vs. ASGI app vs. Flask; any feedback on which frameworks to choose is welcome. Since I'm using external dependencies, I can't really run more than 4 frameworks at the same time.
So, if you don't mind, can you please create another 'starlette' folder and place your implementation there so that I can compare them in the future? Also, if you still have time, can you please create an ASGI app as well? I don't think it's going to take a lot of time. If you decide to help with the ASGI, I promise it won't take longer than a week to run both tests and publish results.

Alright. Since FastAPI should not be replaced, let's close this one and move the conversation to https://github.com/antonputra/tutorials/pull/386 which is about adding Starlette (instead of replacing FastAPI with it)


Receiving incoming messages

Hello,
as far as I can see, documentation is all about sending outgoing messages to SMSC. I can't see how to receive incoming messages from SMSC. I suppose it could be done using hooks, but isn't there a high-level API for this?

Hi,
The smsc can send responses to the client at any point(asynchronously). Thus the client cannot synchronously ask to receive messages from smsc. The client has to run in a loop, try and read from smsc, sleep, retry and so on.
All this means that you have to use hooks: https://github.com/komuw/naz#22-hooks

I'll close this issue; you can re-open it if you deem it necessary.

Just to make sure, there is no existing function to extract message text and other info from deliver_sm PDU? I have to implement it myself?

@niksabaldun
When naz receives a deliver_sm pdu from SMSC;

It correctly parses that pdu: https://github.com/komuw/naz/blob/fa70c2981db2945e306a6401d6d8433819ed0228/naz/client.py#L2124-L2194
sends back a deliver_sm_resp back to smsc; https://github.com/komuw/naz/blob/fa70c2981db2945e306a6401d6d8433819ed0228/naz/client.py#L2154
And then calls any hooks that you have defined; https://github.com/komuw/naz/blob/fa70c2981db2945e306a6401d6d8433819ed0228/naz/client.py#L2216-L2224

Note that in the call to the hook, we also pass in the full pdu. So if you want, you could parse that pdu again in your hook.
But naz has already parsed it and done the neccesary. But nothing stops someone from parsing the pdu again in their hook and doing anything they want with it.
I hope that answers your question.

OK, but as far as I can see, the PDU is only partially parsed. Naz does not extract and decode short_message/message_payload parts of the PDU. That was my question.

Yeah, naz does not parse those.
On Fri, Oct 21, 2022, 2:53 PM niksabaldun @.***> wrote:

OK, but as far as I can see, the PDU is only partially parsed. Naz does
not extract and decode short_message/message_payload parts of the PDU. That
was my question.
—
Reply to this email directly, view it on GitHub
https://github.com/komuw/naz/issues/219#issuecomment-1286857116, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHMWUOUBTEK47WGYJIYQZLWEJ72ZANCNFSM6AAAAAARDAPYEQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

OK, so the library is mostly oriented on sending, with receiving part largely neglected. If I implement full parsing of deliver_sm PDU, would you consider accepting a pull request?

I just wanted to add deliver_sm parsing, but while doing so, I've encountered other problems so I ended up rewriting half of the library. There is no point in making a pull request, especially since development of naz seems to be stalled. I'll just maintain my own fork under a different name.

Hi.

development of naz seems to be stalled.

Yeah, I started naz years back when I used to work with SMSC/smpp on a
daily basis. I no longer do so. But there are other people who do use it
daily and it serves them well.

I'll just maintain my own fork

You have my blessings. And I'm glad naz has given you a foundation on which
to start with.
On Sun, Oct 30, 2022, 6:59 PM niksabaldun @.***> wrote:

I just wanted to add deliver_sm parsing, but while doing so, I've
encountered other problems so I ended up rewriting half of the library.
There is no point in making a pull request, especially since development of
naz seems to be stalled. I'll just maintain my own fork under a different
name.
—
Reply to this email directly, view it on GitHub
https://github.com/komuw/naz/issues/219#issuecomment-1296290571, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHMWUIE2JMOFGMVBL6PKEDWF2EOHANCNFSM6AAAAAARDAPYEQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

It works well as log as certain conditions are met. For example, in many countries, it is the norm to include receipted message ID in deliver_sm text (stupid, but it is what it is). So you have to fully parse deliver_sm for correlation, which naz doesn't do. Nevertheless, it's a good piece of software, and you have my thanks for it.


Terrible, half-baked tutorial

I've followed a ton of coding tutorials for .NET, and have never had any issues until now. This tutorial is impossible to follow verbatim, as a tutorial should be. There should be no guesswork to it.
Example: "Insert the following method in the MainWindow class, below the FacePhoto_MouseMove method."
The FacePhoto_MouseMove method hasn't been defined yet at this point in the tutorial.
Additionally, if you copy/paste the code as the tutorial lays it out, you end up with lots of syntactic and build error.
I know, download the source and follow along, but that's not how it should be...otherwise you wouldn't have instructions that say "copy this, and past here".
This entire page needs rewriting. Honestly, you follow the directions as laid out here and tell me I'm wrong.

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

ID: 31a7905f-5818-4398-ee39-2842519dc054
Version Independent ID: 7f6a714b-cd88-694e-fd31-ad96fdfe5ed3
Content: Tutorial: Detect and display face data in an image using the .NET SDK - Azure Cognitive Services
Content Source: articles/cognitive-services/Face/Tutorials/FaceAPIinCSharpTutorial.md
Service: cognitive-services
Sub-service: face-api
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

Hi @webtop, I'm sorry this was your experience. The issue was that our source code had recently changed, so the embedded code snippets were all showing the wrong lines.  I've since fixed the doc (and used a different embedding method so this won't happen again).

#please-close


Miri crashes with 'could not find matching package'

[nix-shell:~/materialize]$ RUST_BACKTRACE=full cargo miri test
thread 'main' panicked at 'could not find matching package', src/libcore/option.rs:1186:5
stack backtrace:
   0:     0x5651a7ff78b4 - backtrace::backtrace::libunwind::trace::h187f113b2abb647f
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/libunwind.rs:88
   1:     0x5651a7ff78b4 - backtrace::backtrace::trace_unsynchronized::h38320d8128cd24b5
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/mod.rs:66
   2:     0x5651a7ff78b4 - std::sys_common::backtrace::_print_fmt::h556c1c2dcb1a6658
                               at src/libstd/sys_common/backtrace.rs:77
   3:     0x5651a7ff78b4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc8b96dbda96cbdc1
                               at src/libstd/sys_common/backtrace.rs:61
   4:     0x5651a801a64c - core::fmt::write::h5df803e3899d44e6
                               at src/libcore/fmt/mod.rs:1028
   5:     0x5651a7ff4377 - std::io::Write::write_fmt::h68c8001b57139b09
                               at src/libstd/io/mod.rs:1412
   6:     0x5651a7ff9d5e - std::sys_common::backtrace::_print::hd5e7e75fe3073c40
                               at src/libstd/sys_common/backtrace.rs:65
   7:     0x5651a7ff9d5e - std::sys_common::backtrace::print::he7bb8f2987194f75
                               at src/libstd/sys_common/backtrace.rs:50
   8:     0x5651a7ff9d5e - std::panicking::default_hook::{{closure}}::hb1d0eb5b0ef71aca
                               at src/libstd/panicking.rs:189
   9:     0x5651a7ff9a61 - std::panicking::default_hook::h180de3c633f62ee7
                               at src/libstd/panicking.rs:206
  10:     0x5651a7ffa3a5 - std::panicking::rust_panic_with_hook::hdbd08e13a7c982fe
                               at src/libstd/panicking.rs:469
  11:     0x5651a7ff9f42 - std::panicking::continue_panic_fmt::hce8732bd3590e67f
                               at src/libstd/panicking.rs:376
  12:     0x5651a7ff9e36 - rust_begin_unwind
                               at src/libstd/panicking.rs:303
  13:     0x5651a80174da - core::panicking::panic_fmt::h6ae4e581ed6dc186
                               at src/libcore/panicking.rs:84
  14:     0x5651a8017547 - core::option::expect_failed::he6206254f2567eda
                               at src/libcore/option.rs:1186
  15:     0x5651a7fb31e3 - cargo_miri::in_cargo_miri::hcec20312bf94bc59
  16:     0x5651a7faffdc - cargo_miri::main::h27ebf5efc0e679f2
  17:     0x5651a7fb9a63 - std::rt::lang_start::{{closure}}::h86b770088dbcc250
  18:     0x5651a7ff9e23 - std::rt::lang_start_internal::{{closure}}::h7b205f4a42ad477c
                               at src/libstd/rt.rs:48
  19:     0x5651a7ff9e23 - std::panicking::try::do_call::h86e27d03bcc6125d
                               at src/libstd/panicking.rs:288
  20:     0x5651a8000a3a - __rust_maybe_catch_panic
                               at src/libpanic_unwind/lib.rs:80
  21:     0x5651a7ffa89d - std::panicking::try::hfc76a5c7339ca0f6
                               at src/libstd/panicking.rs:267
  22:     0x5651a7ffa89d - std::panic::catch_unwind::h49899aa9a0080a0f
                               at src/libstd/panic.rs:396
  23:     0x5651a7ffa89d - std::rt::lang_start_internal::hf860c9ff06c64238
                               at src/libstd/rt.rs:47
  24:     0x5651a7fb40d2 - main
  25:     0x7f2ceba08b8e - __libc_start_main
  26:     0x5651a7fabfb9 - <unknown>

[nix-shell:~/materialize]$ cargo miri -V
miri 0.1.0 (2adc39f 2019-10-14)

[nix-shell:~/materialize]$ xargo --version
xargo 0.3.16
cargo 1.40.0-nightly (a429e8cc4 2019-10-04)

[nix-shell:~/materialize]$ rustup show active-toolchain
nightly-x86_64-unknown-linux-gnu (overridden by '/home/jamie/materialize/rust-toolchain')

Possibly relevant - this project is a cargo workspace which has caused problems for some other tools.

jamie@machine:~/materialize$ rustc --version
rustc 1.40.0-nightly (237d54ff6 2019-10-15)

Running inside individual crates does seem to work, so very likely a workspace issue.

Yeah I don't think we currently support workspaces. Does cargo test? Looking at https://github.com/rust-random/rand/blob/9221d93f7bcbb68bf886760d710ba269bb8b31b9/utils/ci/script.sh, they need to run the tests separately for each package in the workspace as well.

Yeah I don't think we currently support workspaces

Fair enough. If I had realized it was a workspace issue right away I probably wouldn't have filed an issue.

Does cargo test?

cargo test and cargo bench work. rls started working recently.

Fair enough. If I had realized it was a workspace issue right away I probably wouldn't have filed an issue.

It is certainly a bug to panic here, so thanks for filing!
But beyond that, we'd certainly like to support workspace. cargo miri test should run the same code as cargo test. But really someone should re-write most of that cargo-miri wrapper as it is a bad mess. And I am unlikely to do it anytime soon, so this is a great opportunity to contribute. :)

cargo test and cargo bench work.

And what do they do? Run the tests of all crates in the workspace?

Yep.

https://github.com/rust-lang/miri/pull/1002 should fix the awful error message.
But let's keep this issue open to track workspace support.


Kea DHCPv4 not saving 'DHCP option data' when creating new subnet (first save)

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
When creating a new Subnet in Kea DHCPv4 in Services -> Kea DHCP [new] -> Kea DHCPv4 -> Subnets, after clicking "Save", all my settings under "DHCP option data" vanish (this means all, except the first ones "Subnet" and "Pools").
The fields are empty after clicking the edit-button of the entry.
To Reproduce
Steps to reproduce the behavior:

Go to 'Kea DHCPv4 in Services -> Kea DHCP [new] -> Kea DHCPv4 -> Subnets'
Fill in some of the options in 'DHCP option data'
Click on 'Save'
Click on 'Edit' of the created Subnet
See no data in 'DHCP option data'
Fill in the options in "DHCP option data' again
Click on 'Save'
Click on 'Edit' of the created Subnet
The data is now saved

Expected behavior
The options in "'DHCP option data' should be saved the first time I click on 'Save'
Screenshots
Creating a new Subnet with some options in 'DHCP option data':

After clicking on 'Save' and then editing the created Subnet again:

Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 24.4_8 (amd64).
AMD EPYC 3101 4-Core Processor (4 cores, 4 threads)
--
Thank you in advance & kind regards
Patrick

Maybe it has to do with the option_data_autocollect
Not all of the option fields have that style set to hide them when it is 1.
I'm not sure, but maybe these fields aren't supposed to be able to be used when that option is 1.
https://github.com/opnsense/core/blob/dac769feeb818ffb183578a8bcb79772ca4a2b74/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml#L19
https://github.com/opnsense/core/blob/dac769feeb818ffb183578a8bcb79772ca4a2b74/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml#L42
Disabling "option_data_autocollect" makes all fields able to save.

https://github.com/opnsense/core/blob/0487802a4b9255bd3084eaffc993ad30c050d9ff/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml#L22

@AdSchellevis
Though shouldn`t the option_data_autocollect only matter for these?
https://github.com/opnsense/core/blob/0487802a4b9255bd3084eaffc993ad30c050d9ff/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php#L61-L64

@Monviech yes, they should. If the form behaves the same on your end, I’ll change the tag and take a look when I am back at the office.

Disabling "option_data_autocollect" makes all fields able to save.

Unfortunatelly it doesn't. Even when it's disabled, nothing in 'DHCP option data' is saved when saving for the first time.
Although, disabling 'option_data_autocollect' makes more options visible. So those which will not be saved, when 'option_data_autocollect'  is enabled aren't visible in that case anyway.
So the behaviour is the same as described:

create new subnet:

click save
click edit on the newly created subnet:

the settings are gone

@AdSchellevis If you can give me a tip where I should look I can spend some time trying to troubleshoot this.
Here's the json requests:
Request URL: https://<IP_ADDRESS>:4444/api/kea/dhcpv4/add_subnet/
Request Method: POST
Status Code: 200 OK
Remote Address: <IP_ADDRESS>:4444
Referrer Policy: same-origin

{"subnet4":{"subnet":"<IP_ADDRESS>/24","pools":"","option_data_autocollect":"0","option_data":{"routers":"<IP_ADDRESS>","static_routes":"","domain_name_servers":"<IP_ADDRESS>","domain_name":"domain.example.com","domain_search":"example.com","ntp_servers":"<IP_ADDRESS>","time_servers":"<IP_ADDRESS>","tftp_server_name":"","boot_file_name":""}}}

{"result":"saved","uuid":"65b0b78f-0f01-467b-9751-aa2d344f35f2"}

Request URL: https://<IP_ADDRESS>:4444/api/kea/dhcpv4/get_subnet/65b0b78f-0f01-467b-9751-aa2d344f35f2
Request Method: GET
Status Code: 200 OK
Remote Address: <IP_ADDRESS>:4444
Referrer Policy: same-origin

{
    "subnet4": {
        "subnet": "<IP_ADDRESS>\/24",
        "option_data_autocollect": "0",
        "option_data": {
            "domain_name_servers": {
                "": {
                    "value": "",
                    "selected": 1
                }
            },
            "domain_search": {
                "": {
                    "value": "",
                    "selected": 1
                }
            },
            "routers": {
                "": {
                    "value": "",
                    "selected": 1
                }
            },
            "static_routes": "",
            "domain_name": "",
            "ntp_servers": {
                "": {
                    "value": "",
                    "selected": 1
                }
            },
            "time_servers": {
                "": {
                    "value": "",
                    "selected": 1
                }
            },
            "tftp_server_name": "",
            "boot_file_name": ""
        },
        "pools": ""
    }
}

@AdSchellevis when I was developing my plugin I tried to put an array field into an array field and the backend complained that its not allowed. Since I see array in array here too maybe thats the problem?

@Monviech It’s not a repeating item, but support for these types was added last year (otherwise it would complain an not do anything). If some of the data is not stored, we need to figure out when that is, likely not always as that would probably trigger more issues. Next question is, when did it stop working (assuming it once worked under the circumstances specified)


Event creator improvements

Right now when creating events, the event creator uses a bunch of defaults which cannot be overridden. We need to be able to save and clear defaults in the event creator (for fields where it makes sense).

Addressed in #16


Remove dependency on GLOBCXX_3.4.21

This will allow to use the module with older libstd.so

The cflags property needs to be set to c++11 in order for the module to correctly work on older node.js versions under Mac OS X.
From my understanding it should be as simple as adding the c++11 flag back to the cflags property instead of the cflags_cc property.

Ok, I've set flags back to the cflags property. The D_GLIBCXX_USE_CXX11_ABI works in this case too.

I'll spend some time testing this today, and merge if good!

Hi, any news on that?

I've tested and merged the changes.

@vildhet These changes are now available in the latest version of node-diskusage

Thanks!


How to return Protobuff binary from server ?

We are evaluating rapidoid for one of our projects. While trying with Protobuff stream, we were able to send the stream to server, however, we have no clue how to return a binary data to the client.
We could read the data via Req.body().
We have tried with Req and ReqResHandler, but they both return object but we don't know what to return.
We tried returning instance of Resp (req.response() from Req or Resp from ReqResHandler) after setting the outputstrem (Resp.out). But it threw the following exception. Kindly help.
ERROR | 26/Oct/2018 12:36:39:319 | executor1 | org.rapidoid.net.impl.RapidoidConnection | Tried to resume a job that already has finished! | handle = 1 | currentHandle = 1 | job = org.rapidoid.http.impl.RespImpl$1@50e2dba6
ERROR | 26/Oct/2018 12:36:39:320 | executor1 | org.rapidoid.http.impl.lowlevel.LowLevelHttpIO | Error occurred when handling request! | error = java.lang.RuntimeException: Tried to resume a job that already has finished!
java.lang.RuntimeException: Tried to resume a job that already has finished!
       at org.rapidoid.u.U.rte(U.java:423)
       at org.rapidoid.net.impl.RapidoidConnection.resume(RapidoidConnection.java:372)
       at org.rapidoid.http.impl.RespImpl.resume(RespImpl.java:422)
       at org.rapidoid.http.impl.RespImpl.chunk(RespImpl.java:531)
       at org.rapidoid.http.impl.ChunkedResponse.flush(ChunkedResponse.java:70)
       at org.rapidoid.http.impl.ChunkedResponse.close(ChunkedResponse.java:77)
       at org.rapidoid.io.IO.close(IO.java:291)
       at org.rapidoid.http.impl.RespImpl.finish(RespImpl.java:561)
       at org.rapidoid.http.impl.ReqImpl.onDone(ReqImpl.java:534)
       at org.rapidoid.http.impl.ReqImpl.done(ReqImpl.java:510)
       at org.rapidoid.http.handler.HttpManagedHandlerDecorator.processNormalResult(HttpManagedHandlerDecorator.java:232)
       at org.rapidoid.http.handler.HttpManagedHandlerDecorator.complete(HttpManagedHandlerDecorator.java:223)
       at org.rapidoid.http.handler.HttpManagedHandlerDecorator.handleWithWrappers(HttpManagedHandlerDecorator.java:109)
       at org.rapidoid.http.handler.HttpManagedHandlerDecorator.access$200(HttpManagedHandlerDecorator.java:39)
       at org.rapidoid.http.handler.HttpManagedHandlerDecorator$2.run(HttpManagedHandlerDecorator.java:83)
       at org.rapidoid.job.PredefinedContextJobWrapper.run(PredefinedContextJobWrapper.java:56)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at java.lang.Thread.run(Thread.java:745)

It appears that one needs to return the response object, as documented here: https://www.rapidoid.org/docs.html#_sending_chunked_http_response
Doing so solved it for me.


Keep 'proposition' property and 'Proposition' class in the v1 core-im-source yaml release?

The last VA ‘community' decision was to use Propositions as the standard/normalized way to compartmentalize and explicitly express semantics of Statements.  This was back when ClinGen and VICC planned to use them in their models. Accordingly, these were included in the latest iteration of VA Core IM models and examples.
However, ClinGen/VICC have since chosen not to utilize Propositions in their latest implementation profile work. Instead, Larry/Alex flattened SPOQ properties into the Core IM Statement Class, and used these within specialized Statement classes in Profiles to capture statement semantics.
I have included the Proposition class in the latest version of the core-im-source.yaml file – because:

I think the notion of a "proposition" is useful and central to the VA/SEPIO model, and useful to include in the model even if adopters choose to flatten its SPOQ properties into the Statement object for structural simplicity.  (Note that I have included SPOQ properties in the statement class as well, to formally allow for this).
I rely on the notion of a Proposition in defining many other classes and properties, and it is a useful to define a class for this idea that consumers can reference in the schema.
I want to document the thought that went into modeling Propositions, and the utility they can provide, to advertise this modeling pattern for potential adopters who may benefit form it. Esp given its centrality to how VA data is to be understood (even if it is not central ti existing implementations).
The Proposition class has utility for representation of Evidence Lines as well (esp when they are captured independently of the Statements they support). Again, no implementations currently use this pattern, but it seemed potentially relevant to  some that were discussed at the last Connect meeting.

As noted, I recognize that at present there are no implementers with use cases requiring Propositions (either to compartmentalize Statement semantics, or explicitly capture what evidence lines are evaluated against). So we could choose not to include Propositions in the v1 core-im-source yaml file, and instead manually draft a RTD page that explains meaning and utility of this Class. This would keep the source yaml schema itself simpler and avoid any confusion that a Proposition class may cause. Thoughts?

@mbrush I'm not sure what this issue is here?
Based on our maturity model process the Proposition class has ever right to be in the core-im-source.yaml in draft maturity mode.
If you are suggesting that no class should be added to any of the specs until an implementer vouches for it with the intention and concrete plan to use it, then maybe we should rethink putting it in, but I'm not sure our process is that restrictive (we should clarify that though).
I don't if/when Proposition will ever move to an approved product standard as it would need to go through trial use and normative in several implementations first, but if it is something that the VA community truly wants and more importantly needs then this should happen in time.
Related note: We do all need to get through a full MM process where classes move up the maturity modes and eventually get to trial use so that these can then be collected and proposed for product approval at which time they would become normative.  Once we all experience this we should then be able to understand how to deal with ideals vs needs.

@mbrush if you are fine with the fact that Proposition is in the core-im as draft for the time being, feel free to close this issue. If there is a more distinct concern that needs addressing, please clarify.


Name Correction on JetBlue Airlines +1-833-730-7587

Aka.ms link name
https://ai4earth.microsoft.com/forums/general-discussion/a3aa6700-d04d-ef11-b4ad-6045bd03a369
Category (Optional. Select None to auto-select)
None

To make a name change on JetBlue Airlines, you must contact JetBlue's customer service at +1-833-730-7587. Name changes are necessary when there are errors in your booking, such as a misspelled name or a legal name change due to marriage or divorce. You will need to provide your booking reference and the correct name details. Official documentation, like a marriage certificate, court order, or updated passport, may be required to verify the change.
Depending on the fare type and timing, there might be a fee associated with the name change. It's important to address any name corrections promptly to avoid any issues during your travel.
Name Correction on JetBlue Airlines
To correct a name on a JetBlue Airlines ticket, follow these steps:
Contact JetBlue Customer Service: Call JetBlue Airlines customer service at +1-833-730-7587 to request a name correction.
Provide Booking Details: Provide your booking reference number and explain that you need to correct a name on your ticket.
Submit Documentation: Depending on the nature of the correction, you may need to submit official documentation such as a government-issued ID or legal name change certificate.
Pay Any Applicable Fees: JetBlue may charge a fee for name corrections, especially if the correction is substantial or made close to the travel date.
Confirm Changes: Once JetBlue processes the name correction, confirm that your ticket reflects the corrected name before your travel date.
+1-833-730-7587 JetBlue Airline Ticket Name Change Marriage · Customer Self-Service (microsoft.com)
+1-833-730-7587 JetBlue Airline Ticket Name Change Marriage · Customer Self-Service (microsoft.com)
+1-833-730-7587 JetBlue Airline Ticket Name Change Marriage · Customer Self-Service (microsoft.com)


yarn zip fails with "Warning: Can not create sync-exec directory Use --force to continue."

Trying to write my first module. Working well in development but tried to deploy production plugin archive with yarn zip and got this:
yarn run v1.7.0
$ divi-scripts build && divi-scripts zip --force
Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  1.19 KB  dpu-page-list/scripts/builder-bundle.min.js
  314 B    dpu-page-list/scripts/frontend-bundle.min.js
  20 B     dpu-page-list/styles/style.min.css

Built the bundle with browser support for >1%, last 4 versions, Firefox ESR, not ie < 11.
Running "makepot:target" (makepot) task

undefined

Running "po2mo:files" (po2mo) task
Warning: Can not create sync-exec directory Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 3.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Any idea what might be going wrong? Or where I can investigate further? Thanks!

QA Checklist
Reporter

[ ] Helpful title used

Helpful title format: Scope(s) :: One Sentence To Describe The Issue
Example: VB :: Floating Toolbar :: Jumps To Top Of Page

[ ] Detailed description

Description should usually be 150+ characters.

[ ] Steps to reproduce included
[ ] Support Ticket URL included
[ ] Image and/or gif

Developer

[ ] Steps to reproduce proven solved
[ ] Test included and coverage acceptable and all Tests passing?
[ ] PR description has layman's description of problem and solution and "Areas Affected" listed/explained?
[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Estimated points on issue
[ ] Proper code documentation and conventions?
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Peer Review

[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Steps to reproduce proven solved
[ ] Affected areas are tested and ok
[ ] Proper code documentation and conventions
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Quality Assurance

[ ] All tests passed on CircleCI.
[ ] Steps to reproduce passed, the fix works.
[ ] No errors in console or output
[ ] Affected areas are tested and ok
[ ] The fix does not change a customer's website in any surprising or unintended way

[ ] If Divi's design is adjusted, settings are migrated gracefully and invisibly

Design Review

[ ] UI is to spec
[ ] UX is to spec
[ ] Design is to spec
[ ] No surprising visual changes to a customer's website will be experienced after updating

[ ] Any/all visual changes are migrated gracefully

Dev Review

[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?
[ ] i18n used if applicable
[ ] Implementation acceptable, DRY, Scaleable, future safe
[ ] Best practices used, cleverness and grokage, ES6 use, etc.

Gettext is needed when running the zip command. Looks like its not installed in the environment you are using. :thinking:

Thanks @lots0logs. I'm running Local by Flywheel on Mac. Tried installing gettext via homebrew
brew install gettext
brew link --force gettext

yarn zip got a little further this time (created a POT) but still fails:
Built the bundle with browser support for >1%, last 4 versions, Firefox ESR, not ie < 11.
Running "makepot:target" (makepot) task

>> POT file saved to languages/en_US.po

Running "po2mo:files" (po2mo) task
Warning: Can not create sync-exec directory Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 3.

AFAICT the issue is that writing to /tmp is failing. Could you check to see if the correct permissions are set on that directory?

Is that /tmp relative to the plugin/script or is it from root?
I tried sudoing and forcing the command sudo yarn zip --force (which I would have assumed might trump any permissions issues) but still get the same error.

Same here. On  Mac OS 10.13.5
It looks like it tries to write a file called sync-exec-some_numbers to the directory /var/folders/2n/a_bunch_of_characters/T/
But the script is not permitted to write to that directory.
Unable to change file permissions without logging in as root. Change the tmp directory? I tried to store it in a temp directory in my home directory and it failed with the same error.
My only workaround for now was to build & zip on my linux server.


Updating how POSIX objects are converted to character

This PR aims to address the change in R-devel in how POSIX objects are converted to character format (see #661).

Checklist before merging:

[ ] Existing tests still work (check by running the test suite, e.g. from RStudio).
[ ] Added tests (if you added functionality) or fixed existing test (if you fixed a bug).
[ ] Updated or expanded the documentation.
[ ] Updated release notes in inst/NEWS.Rd with a user-readable summary. Please, include references to relevant issues or PR discussions.
[ ] Added your name to the contributors lists in the DESCRIPTION and CITATION.cff files.

Codecov Report

Merging #662 (2ca8cf1) into master (644aa23) will not change coverage.
The diff coverage is 86.48%.

@@           Coverage Diff           @@
##           master     #662   +/-   ##
=======================================
  Coverage   70.81%   70.81%
=======================================
  Files          89       89
  Lines       10711    10711
=======================================
  Hits         7585     7585
  Misses       3126     3126

Impacted Files
Coverage Δ

R/get_starttime_weekday_meantemp_truncdata.R
59.09% <33.33%> (ø)

R/g.part5.R
67.45% <83.33%> (ø)

R/g.plot5.R
83.80% <83.33%> (ø)

R/POSIXtime2iso8601.R
100.00% <100.00%> (ø)

R/g.detecmidnight.R
80.64% <100.00%> (ø)

R/g.part5.addsib.R
76.66% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


TCP Support?

Summary
https://github.com/pion/webrtc/blob/bd6c5cbc71fc401eac3cd158c97586a79f92d34e/networktype.go#L13
TCP is not yet supported.
Motivation
Feature completeness and spec compliance.

We do support TCP via TURN, but not TCP via ICE yet unfortunately.
If anyone is interested in this I would love to help them implement it! Right now I don't consider this a high priority. It would be nice to have, but I am not aware of it stopping anyone from building their applications.
If this is a blocker for you (or anyone else!) I am happy to make it happen sooner though :)
thanks for using Pion and filing this!


Problem: omni_httpd does not support WebSockets

This is a major problem for anything remotely interesting these days.
Solution: devise the first version of WebSocket handling
Current approach definitely has deficiencies. For example, using UNIX domain sockets can be problematic here. It's good that sending a message to UNIX domain socket is directly connecting us with the consumer (the networking thread) thus ensuring that we are not simply buffering the messages. But if, for some reason, the consumer is not reading, it'll block us.
An even bigger problem is that we currently won't try to send messages to any other worker and will simply schedule messages for the current buffer. It's okay for the initial prototype, but won't scale well.

is it possible to break this up in smaller bits? Too large of a PR.
Anyway, LGTM

Kind of hard to do with interconnected pieces.

This is truly an early/experimental version. A lot of things will change and improve. There are no tests at the moment as the WebSocket client is genuinely experimental and unpublished. However, I think we need to merge this to keep moving forward.


IE11 "(no backtrace error)" issue

First of all, thanks for the library.
The plug sometimes throws an error when handling IE11 errors. Here is the elixir error I'm getting:
Protocol.UndefinedError: protocol Enumerable not implemented for "(no backtrace error)". This protocol is implemented for: Ecto.Adapters.SQL.Stream, Postgrex.Stream, Floki.HTMLTree, DBConnection.PrepareStream, DBConnection.Stream, Timex.Interval, Tensor, Scrivener.Page, Range, HashDict, List, GenEvent.Stream, Map, IO.Stream, HashSet, Stream, Function, Date.Range, File.Stream, MapSet
(elixir) /elixir_1.8.0-1/lib/elixir/lib/enum.ex:1: Enumerable.impl_for!/1
(elixir) /elixir_1.8.0-1/lib/elixir/lib/enum.ex:141: Enumerable.reduce/3
(elixir) lib/enum.ex:3015: Enum.map/2
(appsignal) lib/appsignal/transaction.ex:220: Appsignal.Transaction.set_error/4
(appsignal_js_plug) lib/appsignal_js_plug.ex:63: Appsignal.JSPlug.call/2

Looks like Appsignal expects backtrace value to be an array but in this case the value is a string.

Closing this issue, looks like it's an error in how I'm implementing the client code in JS. Sorry for the inconvenience.


Question about training data

Hey I'm new to git and am not sure if this is the right place to ask this.  If it isn't I apologize in advance
I'm trying to figure out the data shape that is used for model fit.  I am using 4 x 6 second audio clips with a batch size of 1 just for testing purposes.
When I print "train_dataset" in the "main()" function in train.py I get back two shapes: (1, 1088, 1 ) and (1, 1024, 1).
When I print the individual elements in "train_dataset" using a for loop, it prints out a (1, 200700, 1) in addition to the (1, 1088, 1 ) and (1, 1024, 1)
Which of the shapes is used for the model fit?
I tried printing model.summary() but it didn't give me the input shapes, or specific layer information.  Also tried using model.input_shape and had no luck.  I'm new to all this so it would be really appreciated, and once again sorry if this was the wrong place to post this
Thanks

@kkrraa Hi, and thanks for your question. So the two shapes (1, 1088, 1 ) and (1, 1024, 1) relate to the sequences that the input audio chunk is split into (1024 is the default sequence length). The network needs a target sequence, which is what it tries to predict. The sequences overlap, which is why the target is 1088 - that's 1024 + 64 (64 is the frame size of the first RNN tier). So at each training step it takes a sequence of 1088 samples, and then iterates forward 1024 samples. In fact the input audio chunk has 64 samples of silence added at the start, so the overlapping sequences fit the entire audio chunk.
What exactly is the size of your audio chunks? The 200700 is likely the size of the individual chunk, in samples. If your sr = 20050 you'll have 200500 per chunk. I usually work at sr = 16000 (the default) which, with a frame size of 64 and a chunk size of 8 seconds = 128064 samples. What frame size(s) are you using?
N.B: By frame size(s) I mean the sizes of the sample frames processed by each RNN tier, by default = 64 and 16.

There are good explanations of the SampleRNN architecture in the following:
https://www.duo.uio.no/bitstream/handle/10852/63734/thesis-160518-03.pdf
https://upcommons.upc.edu/bitstream/handle/2117/117980/GeorginaDorca_Final_Report.pdf?sequence=1&isAllowed=y
The latter has a very detailed explanation of SampleRNN in Chapter 3, along with some helpful illustrations.

Hey thanks so much for the detailed response, I read the papers and tried to understand as much as I could.  I'm using a frame size of 64, and a chunk size of around 6 seconds at 44100 SR.  I should definitely start working in 16000, it just hit me that the training is probably wasting resources trying to learn patterns in the super high frequencies.
I want to try and create an extremely simple model using Keras that can accept training data formatted in the shape of the "train_dataset" variable that is fed to model.fit in the train script.  What is the easiest way I could set something like that up, in regards to creating a model who's input shape would accept this data type
Thanks for your help

Thank you very much


Implement gadget to inspect tcp retransmissions

From #1199
Implement a new gadget to trace tcp retransmission events. BCC has a tcpretrans tool (https://github.com/iovisor/bcc/blob/master/tools/tcpretrans_example.txt).

BCC's tcpretrans tool reports events for:

TCP retransmissions
a. with the tcp/tcp_retransmit_skb tracepoint when supported (since v4.15, 2018, see https://github.com/torvalds/linux/commit/e086101b150ae8e99e54ab26101ef3835fa9f48d)
b. with a kprobe on tcp_retransmit_skb()
TCP TLP (Tail Loss Probe) with a kprobe on tcp_send_loss_probe()

I'll initially implement this gadget without TLP support and using the tracepoint (Linux >= v4.15).


Fix logout

Logout button is not working

the logout button was not working as i forgot to link the logout.php to the button and instead the index.php was linked. It will be fixed and pushed now.


The "fetch" method returns data till the first "None" value in OHLS cande

How to check it: try to fetch data by GTX stock with 15m interval and 1 month history. It returns about 30 ohls values.
I propose to skip None values in returning data like this (api.py):
if close != None:
                candles.append(
                    {
                        "datetime": time,
                        "open": float(open),
                        "high": float(high),
                        "low": float(low),
                        "close": float(close),
                        "volume": float(volume),
                    }
                )

else:
continue

OK interesting thanks.
Seems we could do with a fix to the parse module to pass things through and either return the parsed value or the raw value if the parse fails.
Your suggestion is good but i think we can be even a bit smarter and pick up any exceptions.

Looks good and it depends by your decision.
I just want to add some info: I use your module to calculate technical indicators (ema, macd, rsi etc). And for them don't need any None (on Null) values. They need only known values.

And I'd like to show, how looks GTX stock in tradingview (picture below): look at the vertical white lines. It's the trading day borders. Some days are "narrow". It means that tradingview skips empty values in the graph.

OK here's the solution I am suggesting.  Like you say, we can skip candles that have values that cannot be parsed (None values).  But doing that silently is probably unhelpful for some people as it can just drop candles without people realising it.  So I've added in a warning that is raised when that happens.  It doesn't stop the flow but does raise the issue.
And of course if someone wants that original info they can still go back and use the OHCL.raw_fetch() method instead which does not put it through the parser.
Here's the code.  I am making the changes now and adding some tests.
           for time, open, high, low, close, volume in zip(
                timestamps,
                indicators["open"],
                indicators["high"],
                indicators["low"],
                indicators["close"],
                indicators["volume"],
            ):
                try:
                    candles.append(
                        {
                            "datetime": time,
                            "open": float(open),
                            "high": float(high),
                            "low": float(low),
                            "close": float(close),
                            "volume": float(volume),
                        }
                    )
                except TypeError as e:
                    warnings.warn(
                        f"Unable to parse some of the candle values at time period {time} - Skipping this candle and continuing."
                    )

            return candles, meta

OK I have released version 0.1.3 now on PyPI with the fix.  Also updates now pushed up.
Thanks for your help.  Closing this issue now

That sounds good    The pandas-ta library is very good for these sorts of
indicators too.  Providing you are comfortable with pandas.
On Thu, 19 May 2022 at 09:58, DmitrySSidorov @.***>
wrote:

And I'd like to show, how looks GTX stock in tradingview (picture below):
look at the vertical white lines. It's the trading day borders. Some days
are "narrow". It means that tradingview skips empty values in the graph.
[image: image]
https://user-images.githubusercontent.com/40357124/169254226-a2977bd7-6f4a-4d87-8949-b34c86d2af4b.png
—
Reply to this email directly, view it on GitHub
https://github.com/ttamg/yahoo-finance-async/issues/2#issuecomment-1131430827,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2ZJETE6KU2UX6676ZASBTVKX7ERANCNFSM5WE7OWFA
.
You are receiving this because you commented.Message ID:
@.***>


Discard binary dir and use what your Homebrew install uses?

Since we will be merging with Homebrew rather then separating further, keeping a separate binary directory starts to become nonsensical.
I propose we get rid of binarydir, and for CLI binaries we read directly from the user’s Homebrew installation and use whatever they use.

If accepted, we should close https://github.com/caskroom/homebrew-cask/issues/7750.

Agreed

Seems like a great idea 👍

FWIW frequent user of both, infrequent contributor to both, and I agree.

Seems like we all agree on this, so I went ahead and implemented it: https://github.com/caskroom/homebrew-cask/pull/23238


How to setup 404 page?

I setted the 404 page in the configuration like so
fof: {
        page: "78b0d54f81124f6584c0aa3d73431963",
        slug: "404", // default
    },

the page is a published page where the slug work correctly https://majestico.dev/404
but if I put a non existing url it show the notion 404 page
https://majestico.dev/asdfasdfa

How can i show the created 404 page?

The latest version of notehost (1.0.14) should fix the fof issue.
Please update your notehost package and redeploy your website.

Thanks @velsa! Can confirm in fact that it works


Add circleci testing configuration

Get started with circleci.
Change-Id: I3c90a6448503b243f3dd2e902a0e5863f21a1114

Oops, not supposed to go here.


In scrypt remove the check that N < 2^(128 * r / 8)

This bound is given in RFC 7914, and would imply that scrypt could not make use of more than 16 MB of memory. This bound is contradicted by the RFC itself, which includes tests which use up to 1 GB.
An errata was filed for the RFC in 2020 regarding this issue, but never acted upon by the authors.
See #24650 for background

looks like maybe you need to modify the appropriate ci builds such that they compile with a higher SCRYPT_MAX_MEMORY limit defined on the command line?

This PR is waiting for the creator to make requested changes but it has not been updated for 30 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).

Sorry about the delay, should be ready for review now

Something seems off here. https://github.com/openssl/openssl/issues/24650 cites N=1048576, r=8, p=1 tests in the RFC as evidence that the restriction is wrong. It further cites other implementations...

Golang x/crypto and BoringSSL both include the N=1048576 test from RFC 7914 (though in both cases commented out since it takes a while to run). Tarsnap/scrypt (written by the designer of scrypt and co-author of RFC 7914) also includes this test, as does the original scrypt paper (Appendix B).

However, BoringSSL includes this check:
https://github.com/google/boringssl/blob/master/crypto/evp/scrypt.c#L152-L153
And indeed, using those parameters, 2(128 * r / 8) = 2128, which is much larger than N = 1048576. So it seems this check is perfectly consistent with that tests and also with inputs that use lots of memory.

hmm, @davidben you're right.  I took the pkcs8 key in #24650, and ran it through gdb:
tarting program: /home/nhorman/git/openssl/apps/openssl pkcs8 -inform PEM -in /home/nhorman/key.pem
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Enter Password:

Breakpoint 1, scrypt_alg (pass=0x552180 "", passlen=0, salt=0x5521a0 "", saltlen=0, N=1048576, r=8, p=1, maxmem=33554432,
    key=0x0, keylen=0, sha256=0x552c20, libctx=0x7ffff7e0ec40 <default_context_int>, propq=0x0)
    at providers/implementations/kdfs/scrypt.c:449
449	    int rv = 0;

So we can confirm N = 1048576 , r = 8 and p =1
gdb) n
456	    if (r == 0 || p == 0 || N < 2 || (N & (N - 1)))
(gdb) n
459	    if (p > SCRYPT_PR_MAX / r) {
(gdb) n
469	    if (16 * r <= LOG2_UINT64_MAX) {
(gdb) n
483	    Blen = p * 128 * r;

So we can see that we skip the bounds check entirely, as 16 * 8 > LOG2_UINT64_MAX (63).
Continuing:
488	    if (Blen > INT_MAX) {
(gdb)
497	    i = UINT64_MAX / (32 * sizeof(uint32_t));
(gdb)
498	    if (N + 2 > i / r) {
(gdb)
502	    Vlen = 32 * r * (N + 2) * sizeof(uint32_t);
(gdb)
505	    if (Blen > UINT64_MAX - Vlen) {
(gdb)
514	    if (Blen + Vlen > maxmem) {
(gdb)
515	        ERR_raise(ERR_LIB_EVP, EVP_R_MEMORY_LIMIT_EXCEEDED);

We're just tripping over the maxmem sizing of 16MB that is fixed inside the scrypt code, which we had discussed here:
https://github.com/openssl/openssl/issues/24650#issuecomment-2168806510
It seems the test is fine regardless, we just need to settle on the best method for adjusting that sizing

Sounds like the erratum is invalid and should be marked as such.

Ah, nevermind, I see. The erratum wasn't filed because of this misdiagnosis but something else.

This PR is waiting for the creator to make requested changes but it has not been updated for 30 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).


Using SCNRecorder to record a video of a specific number of seconds.

Hi there and thank you for this awesome library,
I am trying to record a video of a 3D scene with a specific duration of a specific number of seconds, but I am not able to achieve a precise timing to the order of 10 millisecond. In some cases there's difference of 10 millisecond in the output video.
My approach is to observe the duration property of  the VideoRecording object and call the finishVideoRecording when the specific amount of frames has been recorded. This seems to be working for short videos (3s, 5s, 15s).
However when duration of video is set to 60 s I get an output of 60.01 s or even 60.03 s depending on the device.
Can you please help me to understand what I am doing wrong. Is there another way to achieve this kind of precision and make independent from the device?
I have pushed in my repo an example app that's using the logic I described in this issue. The repo uses the latest SCNRecorder library but you are free to use a local development version of the library by changing the Podfile and running pod install again.
This is the link to the repo. https://github.com/giomurru/SCNRecorder-SampleApp
Thank you.

This is a really late reply 😄 .
I think it is impossible to get accurate precision with the current implementation.
The buffers processing and the pause action happen on its own thread.
When you pause you can't predict how many frames left in the queue.
So, the implementation should be changed to achieve high precision, I just didn't design the processing for this purpose.


Sale Tax

Hi there, can you please give me an example of how can I charge a tax amount?

I don't believe this driver supports VAT, unfortunately. Most drivers support the cart object that allows a breakdown of payments to be included (and even that does not support VAT out of the box, though some drivers extend it to add VAT support.
The APIs in this driver (AIM, CIM, SIM, DPM) are all deprecated by Authorize.Net anyway, so are unlikely to get much attention. There is now a single REST API that supports multiple ways to integrate.


Documentation lss

Changes proposed in this pull request:

Added documentation to the LSSsurvey submodule

Thank you, @santiagocasas. I reviewed the changes


auro-loader: support additional sizes xs and xxs

Is your feature request related to a problem? Please describe.
auro-loader needs to support smaller sizes for use in small elements such as auro-button.
Describe the solution you'd like
auro-loader should be able to scale all the way down to effectively appear inline with button text.
Describe alternatives you've considered
Could force auro-loader to scale using CSS transforms but it would be preferred to implement decorators for all sizes.

Please open a DRAFT PR with this feature branch.

@jason please remember to update the labels when the work status changes.


adding doc and diagrams for composition

Draft of a doc to clarify how to use proof composition & how it works -- largely extracted from Victor's study club talk.
Marking as draft until I get clarity on this detail:

A good start! It'll be helpful to explain this!

Just realized this should supersede-ish #1992 , as the blog will no longer be referenced. #1978

Just realized this should supersede-ish https://github.com/risc0/risc0/pull/1992 , as the blog will no longer be referenced. https://github.com/risc0/risc0/issues/1978

I think we'll still want #1992 -- that PR is about "coprocessors" rather than "composition."
I don't think #1978 is related to either this PR or #1992.


[SourceKit] Guard DependencyStamps with a lock

We might run into situations where matchesSourceState reads DependencyStamps while they are being written in buildASTUnit, causing a crash.
Guard DependencyStamps by a mutex to avoid this problem. We don’t need to provide any ordering guarantees about whether DependencyStamps have been computed in are accessed because we already assume that the dependencies shouldn't change (much) in the time between an ASTBuildOperation is created and until it produced an AST.
rdar://92748564

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci Please smoke test