perf(core) use native modules to compose query strings and MD5 hash

No third-party dependencies
Better performance

original ix x 38,501 ops/sec ±2.61% (89 runs sampled)
native ix x 56,758 ops/sec ±2.47% (87 runs sampled)
Fastest is native ix

Nice!
Question: some browser-based environments do rely on this plug-in via bower. Is there a way to elegantly handle that, while deferring to crypto/url in the NodeJS/io.js environment?

@kellysutton yes, I think it is possible. Browserify supports both crypto and url modules (https://github.com/substack/node-browserify#compatibility). So, this can be compiled to down to browser version without any issues (theoretically).

Cool. Before I merge this in I'll try to integrate browserify into the build process for the file exposed via the bower interface, dist/imgix-core-js.umd.js.

@kellysutton I used babelify as transformation plugin for browserify and added this to compile_umd npm script. Check this out and let me know if it works for you

It looks like it works, but it's bloating the UMD output to be 1.5MB. Can you figure out a way to only include crypto and  url?
It looks like dropping the debug flag will also remove the source map from the end of the file as well, which cuts down the file size.

@kellysutton crypto on its own adds about 570kb after browserification + source map of about 700kb.. Uh, at this point I don't have an idea how to make it efficiently, but I could came up with something later.

@kellysutton I replaced browserify with webpack. Webpack does better job - generated UMD file is 10 times smaller

With -p param webpack produces minified file (around 60kb)

Alright, I think this is definitely moving in the right direction, but there's still some ways to go.
I think deferring to NodeJS for the includes for crypto and url is a good idea. Increasing the page weight of the bower component will not work, since it's originally 4.7 KB and this change will bring it up to 60 KB. We always prefer to defer to dependency managers when possible and keep our unique bytes of code small.
So with that in mind, would it be possible to do a conditional include? The npm package reads out of the lib/ directory, which is created from src/. The UMD file located in dist/ will not be used in the NodeJS/io.js environment at all.
Would it be possible to not change (or minimally change) the UMD file, while switching the npm packages over to use crypto and url?

@kellysutton some ideas, that came to my head are - use dependency injection provided by webpack http://webpack.github.io/docs/list-of-plugins.html#dependency-injection or use gulp or grunt to cut off chunks of code before transpilation. DIworks (tried this already), but it requires a bit of restructuring of the codebase, a lot of conditionals (kinda macros) likeif(BROWSER) ...` and revisiting of the tests

@oaleynik Both of these seem like less-than-ideal solutions, as it brings configuration code into the actual code base itself. I think the thing to do here is probably to shim uri.js and md5 into namespaces that map to crypto and url. This is done in Ember at times to transform globally-style packages in the ES6 namespace. (Here's how you do it in the Ember environment: https://github.com/imgix/ember-cli-imgix-core-js-shim/blob/master/imgix-core-js-shim.js)
What do you think about that?

@kellysutton I'm totally fine with shimming. js-md5 module is kind of shim already (more like umd) - it exposes md5 function on the global context when it is in browser environment and exports module in commonjs style when it runs in node environment as well as falls back to crypto module. The bottleneck is URI-js. I will have some time on weekends to play with it and figure out how we can fallback to wrap url and shim it on browser environment.

Sounds good. Let me know if I can be of any help!

@kellysutton I came from another side - in last commit I use md5 instead of crypto (as it falls back to it in commonjs environment) and removed dependency on url or URIjs by using simplified version of query "stringification."
Cons:

Doesn't support nested objects or arrays as query string parameters.

Pros:

Performs better
Doesn't require third-party libs

Also I have an idea of passing {encode: false} to toString method, which will let me bypass very expensive calls to encodeURIComponent and 4-5x times faster URL generation than original implementation.
Let me know what do you think about all of this.

Side note: it is questionable to use secure key on the client side. Probably, will be better to dedicate this lib just for Node/io.js (which will be the same thing again pretty soon...) or use some kind of public key. Maybe it will be my next PR :)

@oaleynik We don't recommend using imgix-core-js on the client-side when using the secure URL tokens. That removes any security benefits you might gain from secure URL tokens.
Swapping in a custom-built query method is not going to work. We see a lot of issues around hand-rolled URI libraries out there, and we make the best effort to standardize around those. A majority of user errors we see are due to that exact issue.
Let me try to make a shim for URI.js that falls back to url in the NodeJS/io.js environment.

Alright, so I've been doing a bit of research here, and we might be at an impasse. URI.js is the only full featured URL parser/builder that I was able to find that is still being actively developed. We could shim things and defer to document.createElement('a') in the browser, but that is not a recommended solution for a few reasons, performance being one of them.
Although we take performance seriously at imgix, this is not something we are willing to optimize at the sake of maintainability. Put another way, we haven't come up with a situation where building imgix URLs should be constrained by performance. (If we are wrong, please let us know.)
That being said, we do need to search for ways of slimming down our bower dependencies to reduce the total payload that we push down to the browser.
I will close this for now, but please reopen if you think we're misguided. I appreciate the effort you put into this, but we think this adds too much complexity for the benefit it provides.

@kellysutton thanks for letting me know. In my case I need to build hundreds (thousands) of urls almost instantaneously, so performance is essential. For now I will go with my fork in conjunction with aggressive caching strategy.


Comment URL is incorrect

The comment URL field in the CSV matches that of the issue URL. It should be an anchored link. See the CSV attached to this task as an example of the problem.

Just to clarify, currently a sample commentURL is as follows: https://github.com/q-optimize/c3/issues/74
But it should instead be: https://github.com/q-optimize/c3/issues/74#issue-835058056
which anchors us to the specific comment for the result that we are looking at? (in the case of this issue, there's only 1 comment)

Just to clarify, currently a sample commentURL is as follows: "https://github.com/q-optimize/c3/issues/74"

Yes.

But it should instead be: "https://github.com/q-optimize/c3/issues/74#issue-835058056"
which anchors us to the specific comment for the result that we are looking at?

Yes.

(in the case of this issue, there's only 1 comment)

If that is the case, there should still be an anchor. I am just going off what I expect to see per CSV column name. My assumption is that you wouldn't deliberately have two columns with the same data.

Yup, agreed. I will look into this to see if the API provides any way to append comment ID's to the end of the URL to anchor us to the specific comment.

I would think that this information is given in the response JSON.

https://docs.github.com/en/rest/reference/issues#comments

Hi Professor, it seems like I'm already anchoring the comments. I think for issues with just one comment, it somehow shows up as the same URL as the issue URL. Per their API docs, the html_url field that I am using for the column should have an #issue-12345 pattern, but however the API seems to just return the main issue URL without the anchor. Below is the API call for the issue above that I mentioned:
https://api.github.com/repos/q-optimize/c3/issues/74
As you can see the html_url field does not contain the #issue-... anchor as the docs indicate. But for the comments found in the comments_url API call, I believe the tool is anchoring them accordingly.
Please let me know if my explanation is clear, happy to walk through this over a call if needed.

Hi Professor, it seems like I'm already anchoring the comments.

At a quick glance, I didn't see any such anchoring. The ones I saw did not include anchors. Do you have any counter evidence?

I think for issues with just one comment, it somehow shows up as the same URL as the issue URL.

But not all issues will have only one comment. If this is the case, we should have at least one example of an anchored URL, right? Another examples of evidence would be the location in the code where this field is being populated.

Per their API docs, the html_url field that I am using for the column should have an #issue-12345 pattern, but however the API seems to just return the main issue URL without the anchor.

In all cases or just cases where there is only one comment?

Below is the API call for the issue above that I mentioned:
https://api.github.com/repos/q-optimize/c3/issues/74

There are no comments in this issue. Do we process issues with no comments?

As you can see the html_url field does not contain the #issue-... anchor as the docs indicate.

That's because it doesn't have any comments. In other words, https://api.github.com/repos/q-optimize/c3/issues/74/comments gives a empty array.

But for the comments found in the comments_url API call, I believe the tool is anchoring them accordingly.

My impression is that the dataset is a list of issue comments. Why are we examining an issue that has no comments? Or, do you treat issue descriptions as comments?

Please let me know if my explanation is clear, happy to walk through this over a call if needed.

I think it makes me more confused :). Sure, let's do a call. Please send me a calendar invite when you have a chance. Thanks @y3pio.


Add macOS Support

Should be pretty straight forward as it should be very close to what is done for iOS. Same I'll try to make a PR if you're ok with that :)

Hum in fact might be harder, just see that jitsi doesn't have a mac SDK at all as they rely on an electron wrapper... bummer but let's keep that open in any case to keep it on the radar

I've integrated Jitsi by web for desktops: a new window that it's closed automatically when the user ends his session.
@saibotma do you consider it could be a friendly solution for this plugin?

Sounds very interesting. Do you have any implementation to share? Could be a good candidate for this package.

Yep, it is simple, with desktop_webview_window:
var room = '$domain/${meet.hash}';
room += '#userInfo.displayName="${user.name}"';
room += '&userInfo.email="${user.email}"';
room += '&config.subject="$subject"';

room = Uri.encodeFull(room);

Webview desktopWebview = await WebviewWindow.create(
  configuration: CreateConfiguration(
    title: subject,
    titleBarHeight: 0,
  ),
);
desktopWebview?.addOnUrlRequestCallback((url) {
  if (!url.contains(meet.hash)) {
    desktopWebview?.close();
  }
});
desktopWebview?.launch(room);

Jitsi is configured by URL parameters and the window is closed when the meet ends (when the redirection is done).

Wow, this looks good, thanks. Will think about how we can include this into this package.


Adding event to after callbacks

Hello,
I came across your excellent jQuery plugin, and while it was really cool, there were a couple of things I needed to tweak in order to get it working on my site. I figured other people might want these changes too so I created a fork and a pull request.
Essentially, what I wanted to do was to load the modal with the results of an AJAX call. In order to do that I had to have access to the event object for the callbacks. I also had to remove the href == idConc requirement (not 100% sure it is necessary).
I also noticed that on my mobile site that setting overflow to 'auto' on close was not setting things back to what they were so I changed it to 'initial' instead.
Thanks
Anthony Breckner

Ok, I will have a look. Thanks!

hello,
I fixed the event is not defined error for Firefox.
Thanks
Tony


core: upgrade buildkit dep to commit w/ trace log support.

The new commit adds support for trace logs which, if enabled, log every acquire+release of every cache ref. This should be very useful for debugging cache leaks.
https://github.com/moby/buildkit/pull/3873

Failures are due to the fact that something changed in the structures of the oci spec types? Looking into it, most likely an easy fix


Replace regex pattern for value parsing with postcss-value-parser

This is a follow-up for #26
For a more robust hex value detection and replacement this PR replaces the regex patterns and include() calls with the value parser of postcss-value-parser.
Also included:

Prevent PostCSS warning during tests.
Move the regex patterns for rgb values to constants so they are only initialized once.
Move hexRgb() and ruleHandler() out of the plugin function.

Thank you!


feat: remove the need of #import comments in favor of parserOptions.operations

fix https://github.com/dotansimha/graphql-eslint/issues/472

@B2o5T just a small rebase and you can merge :)


Filter feature & ExpenseDate (String to LocalDate data)

Change the field for ExpenseDate so that more appropriate and valid date and be added (e.g. 30 Feb will be rejected). In addition, it facilitates future usage of ExpenseDate class.
Feature to allow users to filter by date or month so that user can have a clearer view of expense of specified date or month.
close #78
close #87

Codecov Report

Merging #88 (8402507) into master (9a3a38a) will increase coverage by 1.30%.
The diff coverage is 81.48%.

@@             Coverage Diff              @@
##             master      #88      +/-   ##
============================================
+ Coverage     68.44%   69.75%   +1.30%
- Complexity      394      427      +33
============================================
  Files            73       76       +3
  Lines          1255     1329      +74
  Branches        119      131      +12
============================================
+ Hits            859      927      +68
- Misses          359      366       +7
+ Partials         37       36       -1

Impacted Files
Coverage Δ

...eedu/address/logic/parser/ExpenseExpertParser.java
84.21% <0.00%> (-4.68%)
:arrow_down:

src/main/java/seedu/address/ui/ExpenseCard.java
0.00% <0.00%> (ø)

...eedu/address/logic/parser/FilterCommandParser.java
55.55% <55.55%> (ø)

...va/seedu/address/logic/commands/FilterCommand.java
100.00% <100.00%> (ø)

...ain/java/seedu/address/logic/parser/CliSyntax.java
85.71% <100.00%> (+2.38%)
:arrow_up:

...in/java/seedu/address/logic/parser/ParserUtil.java
80.00% <100.00%> (+20.00%)
:arrow_up:

.../java/seedu/address/model/expense/ExpenseDate.java
90.00% <100.00%> (+10.00%)
:arrow_up:

...odel/expense/ExpenseDateIsParsedDatePredicate.java
100.00% <100.00%> (ø)

...java/seedu/address/storage/JsonAdaptedExpense.java
100.00% <100.00%> (ø)

.../expense/DescriptionContainsKeywordsPredicate.java
100.00% <0.00%> (+14.28%)
:arrow_up:

... and 1 more

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 9a3a38a...8402507. Read the comment docs.


outline: 0.66.3 -> 0.67.0

Description of changes
Upgrade to version 0.67.0.

Changelog
Diff

Given the non-pre tag I'd assume this version to be stable.
cc @cab404
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Yay!

yeah, appears to be working


Possible unnecessary styles/attributes not being cleaned

Hey there,
First off, thanks for the fantastic tool, I've been using it for years (through front-ends, so not direct experience).
While hand optimising some files after running them through I noticed a couple of things relating to styling / attributes that were left over after optimisations.
I'm still pretty new to the ins and outs of the SVG format standard, but would it be accurate to say that some special paths / shapes make some attributes redundant and candidates for automatic removal?

Circle having stroke-linejoin, stroke-linecap (As it's one contiguous path without corners or ends)
Rectangle having stroke-linecap (As it's one contiguous path with corners, meaning linejoin is valid, but no ends)
Continguous paths that terminate at their starting node would also not need stroke-linecap (I get this might not be computable easily, and just checking the start/end wouldn't work because some paths may be missing lines between nodes along the way)
Any styling of clipPath (I think I read in other issues here that SVGO can't tell if a path is inside a clipPath element to work out what it should and shouldn't clean, so this one might already be covered).

At the moment I'm getting around these by just running some RegEx replaces over my files which work fine, but wondered about these things (if they are simple) being integrated. I also apologise in advance if these are done already I was just misusing the plugins that handle them.
Thanks!

For number 3: If every continguous path in a d attribute ends with the z command, stroke-linecaps should be omitted. But as of the version currently running on SVGOMG, this isn't done. For strokes returning to their starting point without using the z command stroke-linecaps but also and stroke-linejoins attributes can make an actual difference.
[Technical detail:] Wether or not they look the same, depends on the stroke-linecaps and the angle:

For stroke-linecaps:round, z and non-z returns look the same if stroke-linejoins is also round.
For any other stroke-linecaps and stroke-linejoins, z and non-z returns can also look the same depending of combinations of the two attributes, the departure and arrival directions (angles) and on the stroke-miterlimit.

Hi, could you please provide svg which are broken by svgo?

I don't get that question. This thread is not about SVGs getting broken.

Yeah, sorry. Not broken but not optimised. Need input and output of what you expect.


Add optional + nullify

Change-Id: Iab7257237cba6826daea108c9a07e475c7160a5a

I understand what you want to do, but i'm not sure with the naming.
IMO the method nullify means you want to nullify the object, or it's the opposite, you want to keep the object if it verifies a condition.
I would rather imagine a method like this (btw i do not see the point of using static method here, nor flatMap instead of map):
extension Optional {
    func verifying(_ test: (Wrapped) -> Bool) -> Optional<Wrapped> {
        return (map(test) ?? false) ? self : nil
    }
}

Considering the two alternatives, I think the second one is more legible:
guard let value = .nullify(input, failing: { !$0.isEmpty }) { ... }

guard let value = input.verifying({ !$0.isEmpty }) { ... }

When using a static method over Optional, the object to be verified is a parameter, allowing to provide a non-optional implicitly casted as Optional.
This let the method work for both Optional and non-Optional objects.

Indeed, but what's the advantage of using .nullify on a non optional object ?

to nullify it if it doesn't pass the test.
it simplifies both:
let validatedValue = optionalValue.flatMap { $0.passTheTest ? $0 : nil } (or (optionalValue?.passTheTest ?? false) ? optionalValue ? nil
and
let validatedValue = value.passTheTest ? value : nil

Ah ok. I thought the use case was for guard and if let (which would be nice!)
If you want to stick with the static function anyway, you could rename it verifyOrNil maybe, to better understand its purpose.
And I'm not convinced with the static approach, maybe a free function will work better to avoid forgetting about the dot when you want to type .verifyOrNil. Because you have to remember that the function is on an optional value, which is not convenient.
As a side note, did you consider throwing instead of nillify when validating multiple inputs ? (maybe there is inspiration here https://github.com/pointfreeco/swift-validated)

Well, I guess in most cases it will be used inside if let and guard let, but its not required.
Indeed going with free function simplify the code.

Can you add the optional extension as well ? If the major use case is if let / guard it will be helpful


avoid racing with kernelspace in LookupAndDelete

superseded by https://github.com/netobserv/netobserv-ebpf-agent/pull/283


What is the default authentication mechanism from Event Grid against Azure Service Bus

It is clearly documented how to setup Event Grid topics and subscriptions to use managed identities to deliver events to certain destination. But there is a crucial part missing that explains what are the actual benefits in contrast to the default authentication (without MSI). Of course the use of managed identities seems the proper and explicit solution here. But we need to understand how the default mechanism internallty works to justify the decision to go MSI or not.
Lets assume the following example:
Storage Account --> System Topics For Blob Created Events --> Event Handler --> Azure Service Bus queue.
Without MSI enabled this simply works without any additional access configurations. This is why the following question arised:

How does the Event handler automagically gets access to write data into the service bus queue? What are the exact preconditions that this works (same subscription, same region, ....)?
How can we prevent that an event grid simply can send events to certain queues or topics in the Azure Service Bus?
Does the event handler use a Shared Access Policy of the Service bus in order to get access? If yes, what impact has a regeneration of the keys?

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

ID: 8800d1da-15d0-df91-3ed3-f1655ccd2db8
Version Independent ID: 34bb3375-27d1-c44c-7e24-d5b7b57816fc
Content: Add managed identity to a role on Azure Event Grid destination - Azure Event Grid
Content Source: articles/event-grid/add-identity-roles.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

@LoW0lf Thank you for your feedback! We will review and update as appropriate.

@LoW0lf I'm pretty sure the default auth is SAS. I have reached out to the Event Grid team internally for confirmation, and once I hear back, I will update you here.

Hi @LoW0lf - I confirmed with the Event Grid team that the default authentication method is Shared Access Policy and the RootManageSharedAccessKey which has both read/write permissions.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


PHP 7 and redis session caching: Session object destruction failed.

We have been caching sessions with Redis in our Zend Framework 2 project (using zend-session 2.5.2) on PHP 5.6.
After upgrading from PHP 5.6 to PHP 7.0.4, we get PHP warnings like session_regenerate_id(): Session object destruction failed.  ID: user (path: tcp://host:port?weight=1&timeout=3) and session_destroy(): Session object destruction failed when users are logged out.
When discussing the issue on stackoverflow here, it was suggested that this might be a bug in zend-session.

Are you using the dev branch of the Redis PHP extension, because there is no "stable" version released yet for PHP 7? How have you installed the Redis PHP extension?

I just checked, in our dev environment (laravel homestead), we are using the phpredis 2.2.8-devphp7, and we don't get these warnings. In staging (platform.sh), we are using phpredis 2.2.5, which seems not to be fully compatible with PHP 7. I wasn't aware that there is no stable phpredis version for PHP 7, feel free to close this issue.

We have upgraded to PHP 7.1, zend-session: 2.7.3, and are running phpredis 3.1.0-rc1, but this problem still occurs. I think this issue should be reopened...

As of zend-session 2.8.0, the issues seems to be resolved, thanks!


async: ignored EBADF in uv__async_send

Fixes: https://github.com/nodejs/node/issues/37874

Yeah, no - this is not a proper fix. That "test case" is closing random file descriptors, it gets what it deserves. Suppressing the EBADF error just means the program will hang later on.


Fix plurality of items / categories, etc

Fixed by https://github.com/patbeagan1/ProtocolRSS/pull/11


Cache ENS lookups

Maybe a simple one, in-memory from (name, networkId) to address. So when user make simple edits, we don't get repeated lookups?

@hboon you mean for when the user is sending to ENS multiple times within a short timeframe (i.e. when the app is running a process), like simply putting it into a var?

When the user types or paste "boon.thisisme.eth" hits backspace to become "boon.thisisme.et" then types a "h" or paste immediately again so it becomes "boon.thisisme.eth" triggering a second lookup in the same screen. Then they might cancel and then repeat again with the same address. Not too urgent I suppose :)
Can probably have a static var in GetENSOwnerCoordinator that is just a dictionary? If the key is (name, networkId), then we don't have to do any clean up when the user switch wallet or network. And because it's in-memory only, we don't have to worry about expiry (well, if it expires while the app is running... but that's a super low chance I suppose?)

@James-Sangalli bump


rmv unnecessary file prefix with conversion name

fix #5

I think we had it this way for the same reason DANDI attaches sub-<subject_id> and ses-<session_id> to the names of files in a dandiset even when they're already nested in folders with that naming pattern; if those files ever get accidentally moved or copied elsewhere, trying to figure out where they belong can be a real pain
Also specific to the nwbconverter.py and behaviorinterface.py, the name of those files is intended to follow the convention where the filename matches the class defined inside, and those classes really ought to be named specific to their experiment type unless they're super general to the lab (in which case they should still be named in a way that makes that clear)

I think we had it this way for the same reason DANDI attaches sub-<subject_id> and ses-<session_id> to the names of files in a dandiset even when they're already nested in folders with that naming pattern; if those files ever get accidentally moved or copied elsewhere, trying to figure out where they belong can be a real pain

That makes some sense for data, where you might imagine the user moving files around, but not really for code. I am not aware of any software libraries that follow this kind of naming convention. Are you?

It's analogous to how DataJoint appends modality identifiers to shared node names across their pipelines: https://github.com/datajoint/element-array-ephys/tree/main/element_array_ephys vs. https://github.com/datajoint/element-calcium-imaging/tree/main/element_calcium_imaging for no_curation, pre_process, and report.
Even though they have the code for each pipeline in a different repo it would be possible for a user/lab to have multiple pipelines nested relatively close together which would produce a structure similar to what we see here

I don't think this is that close. In our case, you have prepended each of the files in a directory with the name of the folder they are contained within. In their case, they have a naming convention for modules that is {modality}_{type}, so there is some commonality among files that have the same modality.

I did not see this before. While doing the current conversion I realized that the past structure I was using is too verbose. I also prefer the more concise standard that Ben is proposing here. The folder structure and class names are enough for disambiguation I feel.
I hear what @CodyCBakerPhD says about having identical files across the repo being more prone to confusion but I also feel that as long as the classes inside are prepend with the name of the conversion like:
{{cookiecutter.conversion_name_camel_case}}BehaviorInterface

It should be all right as no file in the wrong place will run (that said, this structure is still annoying for me in my IDE as makes navigation a bit more difficult but that's probably a problem with my IDE that should have no bearing on the organization of a file system).
Another point that @bendichter has not brought up is that this makes documenting package usage a bit easier when everything inside of each (simple) conversion looks more or less the same and is only the directory / folder that varies for conversion and project.

OK, since it is me and Ben who have this preference and no one else on the team jumped in I will merged this after I fix the errors.


git2git: remove some more things from the OS build

This will result in the deletion of the following directories from the OS tree, under onecore/windows/core/console/open:

doc/
src/tools/MonarchPeasantPackage/
src/api-ms-win-core-synch-l1-2-0/
src/tools/ansi-color/
src/tools/ColorTool/

We have gotten some PoliCheck flags on doc/ (thanks to Niksa.md), but also the OS build just doesn't need these folders :smile:

There is one more directory that is unused in the OS build, src/internal, but I believe its existence is useful to indicate to OS-side developers that they need to add stubs when they add internal functionality.

@msftbot merge this in 1 minutes

We have gotten some PoliCheck flags on doc/ (thanks to Niksa.md)

To the surprise of no one


Feature/move out torrent files preview

When viewing the files inside a torrent (prior to downloading, inside upload modal) it could often get cluttered when you're uploading many files. This PR moves the content explorer into the side so it's more easily viewable.
Example:

Also addresses an issue where the file tree explorer wouldn't keep already opened nodes on the DOM, so whenever a user collapsed/re-opened it would have to re-render.
Also:

small issue where upload button/user icon would overlap modal content
update README & screenshots


.Net: Python: Align AI Response with KernelContent in .NET

All of the input and response metadata should be included in the Metadata field in KernelContent.

Working on it, WIP: #4491


[PLAT-1194] [PLAT-1196] WebGL Transform Widget

Summary
Adds initial support for a vertex-viewer-transform-widget. This component expects a position vector that represent the location to draw the widget, and dragging the X/Y/Z axis arrows will perform a world-delta translation of any selected items. This component internally uses regl, and regl-shape to draw the
Additionally, as a small change with this PR, the default selection material has been updated to have an opacity of 255.
Below is an example setup to start using the widget - this will update the widget with the hit result's position, then select the item at that point. Afterward the widget will transform the part selected (or multiple selected).
async function main() {
  await window.customElements.whenDefined('vertex-viewer');

  const viewer = document.getElementById('viewer');
  const widget = document.getElementById('widget');

  viewer.addEventListener('tap', async (e) => {
    const scene = await viewer.scene();
    const raycaster = scene.raycaster();

    const results = await raycaster.hitItems(e.detail.position);

    if (results.hits.length > 0) {
      widget.position = results.hits[0].hitPoint;
      scene.items(op =>
        op.where(q => q.withItemIds([results.hits[0].itemId.hex])).select()
      ).execute();
    } else {
      widget.position = undefined;
      scene.items(op => op.where(q => q.withSelected()).deselect()).execute();
    }
  });
}

<vertex-viewer
  id="viewer"
  config-env="platdev"
  src='urn:vertexvis:stream-key:key'
>
  <vertex-viewer-transform-widget id="widget">
  </vertex-viewer-transform-widget>
</vertex-viewer>

Video:
https://user-images.githubusercontent.com/5252480/167930807-d81b88a8-6d64-420d-824b-b5de7fad8e54.mov
Test Plan

Test the newly added transform widget with a variety of models

Multi-select transforms
Clearing selection
Performing sequential (i.e. x-axis translation => y-axis translation) transforms

Release Notes
N/A
Possible Regressions
Interactions (newly added payload)
Dependencies
N/A

Additionally, as a small change with this PR, the default selection material has been updated to have an opacity of 255.

You didn't end up making this change, correct?

Additionally, as a small change with this PR, the default selection material has been updated to have an opacity of 255.

You didn't end up making this change, correct?

Correct - that's been reverted with 5a64ec6. Forgot to update the description to remove that, but it's updated now


1.19.2 Thermal Systeams has failed to load(server only)

Added this to my server with the latest update and its crashing, it has had no issues client side
crash report: https://pastebin.com/x1ppCMUk
latest.log: https://pastebin.com/VRAbTGcS

Oops, looks like I load something I shouldn't. I'll get a fix out asap

Fixed and released https://www.curseforge.com/minecraft/mc-mods/systeams/files/5744820


Allow empty list as AccountCreateExtension(s).

All other graphene objects accept [ ] as extensions placeholder, so AccountCreateExtension should comply.

Codecov Report

Merging #90 into develop will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff            @@
##           develop      #90   +/-   ##
========================================
  Coverage    67.64%   67.64%
========================================
  Files           51       51
  Lines         4086     4086
========================================
  Hits          2764     2764
  Misses        1322     1322

Impacted Files
Coverage Δ

bitsharesbase/objects.py
77.41% <100%> (ø)
: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 0142dde...b483949. Read the comment docs.


fix: fix QuizActivity restore problem

I signed it!

Please make sure to follow the link and sign the Google CLA. Before this has been done successfully I am unable to accept any contributions from you for this project.

Also please add some more context to the problem you're solving with this pull request.

I signed it!


Consume the new connection string

It's great to see this feature enabled. I've set this up but I'm not seeing the custom domain as primary endpoint. How can I update the connection strings to use the custom domain?

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

ID: a8095f2f-c067-0249-a921-cac24e2a70cf
Version Independent ID: 201fd53d-15a1-765e-a2eb-d6131b3c5d6a
Content: Configure a custom domain for Azure SignalR Service - Azure SignalR Service
Content Source: articles/azure-signalr/howto-custom-domain.md
Service: signalr
GitHub Login: @ArchangelSDY
Microsoft Alias: dayshen

@gjdonkers
Thanks for your feedback! We will investigate and update as appropriate.

@gjdonkers You can just replace the domain in connection string with the custom domain in your app server config. For example:
Endpoint=https://custom-domain.com;AccessKey=xxx

Custom domains don't replace the primary domain. Both are valid to use. The portal Keys page always uses the primary domain as an example.

@ArchangelSDY Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please let us know.

Thanks for the response. Strange to see that I have 1 working day to response, but okay.
I've updated the ARM with the replace, thank you.
"[replace(listKeys(resourceId('Microsoft.SignalRService/SignalR', variables('SignalRName')), '2020-07-01-preview').primaryConnectionString, concat(variables('SignalRName'), '.service.signalr.net'), parameters('softwareDomain'))]"


Warning: normalize

I have this problem because susede ?
Running "ftp_push:sample" (ftp_push) task
Warning: Cannot call method 'normalize' of undefined Use --force to continue.

I'm having this problem as well. Using this package in the same project as usual, so it must be some new update thats causing it.

Hmm, there was an update in september to change path.normalize to path.posix.normalize and all other calls to path to use path.posix.  What system are you guys using?
I wonder if changing the calls from path.posix to path or path.win32 would resolve this issue.
Also, are you running the latest version(0.4.4)?

I'm using Ubuntu, if that helps. JSFTP version is 1.5.3, and I am using 0.4.4 for this. I don't know JS well enough to change the calls you mentioned, but if you point me in the right direction I can figure it out.

Hey @JasonEtco.  I can put up a sample file for you to try using or push a patch version to see if it fixes it for you, might be a day or two before I get the time to make the changes, test, and push a new build .  In the meantime if you want to test something out and see if it fixes it for you, I am including instructions below.

In grunt-ftp-push/tasks/ftp_push.js around line 157, change the following:  basepath = path.posix.normalize(options.dest);  to:  basepath = path.normalize(options.dest);

In grunt-ftp-push/tasks/utils.js do a search or find and look for all cases of path.posix and switch those for just path.  So path.posix.join or path.posix.normalize would become path.join and path.normalize. There should only be 5 cases.

If you don't want to try it out, don't worry, Ill try to push another build out in the next day or two that will check for the existence of this before using it.  Based on the error message provided Warning: Cannot call method 'normalize' of undefined, this is the only thing I can think of that would be causing it.

@Robert-W thanks for getting back. I tried that out, and while I do not get the original error message, I now get: Fatal Error: connect ETIMEDOUT

Hmm, can you post your config that your using and any terminal output you are seeing? That sounds like it is having trouble connecting to your FTP server.

@Robert-W Sure. Here is a screenshot of the full terminal output (fyi I'm using Jekyll and some other Grunt build tasks):
http://i.imgur.com/fbj7ugb.png
The relevant content of my Gruntfile.js:
ftp_push: {
          jasonetcovitch: {
            options: {
              authKey: "key1",
              host: "jasonetcovitch.com",
              dest: "/public_html/",
              port: 21
            },
            files: [
              {
                expand: true,
                cwd: '_site/',
                src: [ "**/*" ]
              }
            ]
          }
        },

If you need anything else, let me know! Thanks again for the help.

I found the solution to my problem . was that had node and npm date. so now I have .
-v nodejs
v5.4.1
NPM -v
3.5.3
Now if it works perfectly and grunt -ftp -push .
In advance thanks for the concern.

I found the solution to my problem . was that had node and npm date. so now I have .
-v nodejs
v5.4.1
NPM -v
3.5.3
Now if it works perfectly and grunt -ftp -push .
In advance thanks for the concern.

Thanks @luisgagocasas.
@JasonEtco Can you verify that you are able to connect to those folders on your server?
Im not seeing any errors from the initial code, the first output should be something like this:
<username> successfully authenticated or Could not authenticate with <username>

If the change fixed the path issue, I may close this ticket and reopen a new one for the timeout error as that seems like a different issue.

@Robert-W
It seems that my original webhost, GoDaddy, changed their login system to require ftp. when connecting to the server. They didn't tell me that -.-
But now I have no problems, everything is perfect.
Thanks so much for your help!

@JasonEtco.
Great, glad to hear.
Im gonna leave this open as a reminder to make those updates to path.posix for the next version, so keep using the one you edited for now, but there will be a new release marked as 1.0.0 coming this week sometime with those fixes.

Note to self:
Use path.posix if it exists, otherwise use path in it's place.

Actually I'm not sure you need to, updating Node also fixed the original issue for me. Might have just been some version issues

Ok, that's great.  I will leave it as is then. Thanks for the update.

I have got same problem.
Debian GNU/Linux 8 (jessie) (Linux 3.16.0-4-amd64)
npm 1.4.21
nodejs v0.10.29
After replaced file.posix with just file all worked for me.

@PatrikValkovic Thanks for reporting this, I will try to take a look this evening and see if I can figure out the issues and push out a patch so you don't have to make those changes anymore.


CNN R package

hi!
is there R packeges about MXNET?  for example , use the R version of MXNET to construct a CNN model for image classification.
thanks for your help very much!

see http://mxnet.dmlc.ml/en/latest/packages/r/index.html


Support Xcode9.1 - Swift 4

Fix 'characters' deprecated warning

Would be great to see this merged - those warnings are annoying!

Merged another one, thanks


Wiki page on state management system is out of date

Looks like @EricPedley fixed it in #410.
Reading the wiki confused me more than a little.

Good catch. I updated the title and added a little explanation at the front. https://github.com/icssc/AntAlmanac/wiki/How-our-state-management-system-used-to-work-(as-of-2021-22-school-year)


pin gitlab so upstream mods don't break nebulous init

targeting the 1.6.0 release for this change


Create README.md

Finalize a direction and primary use case for the project. For now, I like the RAG chat as the main selling point.

The way I see it moving forward is one of two ways:

Chains as an API endpoint. These can be full RAG pipelines with lots of in between steps. These would be targeted towards developers OR as a server interacting with a local UI. I would have to invest some time in making some proof-of-concept workflows before pouring hours into the architecture for the API.

Plug-and-play with a UI like Cohere Toolkit. I really that project and will draw inspiration from it if the project goes in that direction.

Focus solely on studying people's existing workflows and creating custom tools for those. This will not require the same number of hours of polishing/troubleshooting/maintenance, and presents immediate value. I'm leaning towards this one.

I'm going to cross off number 2 from the above list. Definitely having the most fun with a mix of 1 and 3. It definitely seems to be treading into organizing agentic workflows. I'll make a new issue as this is no longer really in the scope of making a README.


Handle ChatAudio

Opening the channel is implemented via:
https://github.com/OpenXbox/xbox-smartglass-csharp/blob/master/SmartGlass.Nano/NanoClient.cs#L150
https://github.com/OpenXbox/xbox-smartglass-csharp/blob/master/SmartGlass.Nano/Channels/ChatAudioChannel.cs#L46
Now, the Producer needs to call nano.ChatAudio.SendChatAudioData(byte[]) to send opus audio samples to the console


Roslyn code generator bug

I found that Entitas.exe does not detect the Entitas.properties at root project instead it detect CodeGenerator folder itself to find Entitas.properties. Then, after I copy Entitas.properties and User.properties to CodeGenerator folderm I run entitas auto import again it gives me "Could not find a part of the path 'C:\Users\cs\Documents\Unity\Project YC\CodeGenerator\Assets\Libraries\Entitas'." error.

Hi, your working directory should always be the same as where the Entitas.properties file is located, which is the root of your project by default. So cd into the root of your project first and then execute Entitas.exe like this
$ CodeGenerator/Entitas.exe

For now, also make sure that the path separators (\) are forward slashes (/). I haven't verified that yet, but other people reported it helped to resolve their issues. I will test this soon, but I can imagine it will cause problems, because \ is a reserved keyword in the properties syntax for multiline declaration

Hi @sschmid. I get "'CodeGenerator' is not recognized as an internal or external command,
operable program or batch file." when I try to run "$ CodeGenerator/Entitas.exe"

Seems like the folder naming cannot have space and for Windows command prompt it need to put the complete path.  Anyway when I run "Entitas.exe auto-import" I get "Could not find a part of the path 'C:\Applications\Unity\Unity.app\Contents\Managed'.". If not mistaken, it's the path for Mac OS. I think you need to do extra care to detect whether it's Windows or Mac OS and feed the correct path.

Update 3:
I get it working by creating a new Unity project but generating code still have issue. The generated code in Roslyn seems different than old code generator. I just create a TestComponent and generate with Roslyn code generator, I get Assets/Sources/TestComponent.cs(11,21): error CS0260: Missing partial modifier on declaration of type `TestComponent'. Another partial declaration of this type exists error. I notice it creates a new additional weird TestComponent script.

Refer #503. Close issue.


Release linux arm64 binaries

Closes https://github.com/cashapp/hermit/issues/191
There may be some additional work to make this support official e.g., in platform, infer, etc., but this allows unsupported installation of linux arm packages
root@1a5f3a9e922a:/hermit-packages# . ./bin/activate-hermit
Hermit environment /hermit-packages activated
hermit-packages🐚 root@1a5f3a9e922a:/hermit-packages# hermit install bazel
hermit: bazel-4.2.2 is not supported on these Hermit platforms: [darwin-arm64], are you sure you want to install it? [y/N]
y
info:bazel-4.2.2:install: Installing bazel-4.2.2
hermit-packages🐚 root@1a5f3a9e922a:/hermit-packages# bazel
Extracting Bazel installation...
                                                           [bazel release 4.2.2]
Usage: bazel <command> <options> ...

Available commands:
  analyze-profile     Analyzes build profile data.
  aquery              Analyzes the given targets and queries the action graph.
  build               Builds the specified targets.
  canonicalize-flags  Canonicalizes a list of bazel options.
  clean               Removes output files and optionally stops the server.
  coverage            Generates code coverage report for specified test targets.
  cquery              Loads, analyzes, and queries the specified targets w/ configurations.
  dump                Dumps the internal state of the bazel server process.
  fetch               Fetches external repositories that are prerequisites to the targets.
  help                Prints help for commands, or the index.
  info                Displays runtime info about the bazel server.
  license             Prints the license of this software.
  mobile-install      Installs targets to mobile devices.
  print_action        Prints the command line args for compiling a file.
  query               Executes a dependency graph query.
  run                 Runs the specified target.
  shutdown            Stops the bazel server.
  sync                Syncs all repositories specified in the workspace file
  test                Builds and runs the specified test targets.
  version             Prints version information for bazel.

Getting more help:
  bazel help <command>
                   Prints help and options for <command>.
  bazel help startup_options
                   Options for the JVM hosting bazel.
  bazel help target-syntax
                   Explains the syntax for specifying targets.
  bazel help info-keys
                   Displays a list of keys used by the info command.
hermit-packages🐚 root@1a5f3a9e922a:/hermit-packages# file  /root/.cache/hermit/pkg/bazel-4.2.2/bazel
/root/.cache/hermit/pkg/bazel-4.2.2/bazel: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=af63af86eb79ed4e8d173d7f8608ad27be03b28a, not stripped

Sorry, I thought I had approved this already!


⚠ Carbubu has degraded performance

In d06f5ef, Carbubu (https://carbubu.fr) experienced degraded performance:

HTTP code: 200
Response time: 5581 ms

Resolved: Carbubu performance has improved in 9a27eb9.


unable to authenticate on spigot server and bungeecord server not working at all

I'm using bungeeguard on a bungeecord server on windows and a spigot server on OS X 10.11. When I connect to the spigot server, it says unable to authenticate - no data was sent by the proxy, and the bungeecord server doesn't even register as a server, how do I fix this, if at all?
EDIT: this also shows up the first time it denies a connection:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.comphenix.protocol.reflect.compiler.StructureCompiler (file:/Users/SEHR/Downloads/plugins/ProtocolLib.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.comphenix.protocol.reflect.compiler.StructureCompiler
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

For the Spigot integration to work, you need ProtocolLib.


Support multiple versions of Kompute Documentation

Currently only the latest version of Kompute is displayed in the documentation under http://kompute.cc. The current theme does support a versioning dropdown, so to avoid breaking changes, the easiest way to support, should be to have http://kompute.cc with the latest stable version of the docs, and then have sub-folders containing each respective previous (and dev) versions.

Exploring to move documentation to readthedocs


Give allocation control to the caller instead of force a clone

Achieved by moving the boxes out of the temporary reference wrappers which are cloneable themselves, i.e. if required the caller can clone them already or consume them to reuse existing allocations.

PreTokenizedStrings is a corner case, which may be removed. Not a candidate for micro optimizations
Related: https://github.com/quickwit-oss/tantivy/issues/2374

I do not consider this a micro optimization but just good API design: Give control to the caller as you do not know how your API is used. Maybe your corner case is their common case.
Especially since doing this does not cost anybody anything because the overall power of the API is the same due to the cloneability of the reference wrappers.
This also does not increase the maintenance burden in any way. If you do remove PreTokenizedString, you can just remove this code as well.


url validator not working properly

Hi,
I would like to report a bug.
The url validator doesn't accept valid urls with localhost or an IP
and it accepts invalid urls (with text before a valid url)
i.e.
"http://localhost/index.html" --> INVALID
"http://<IP_ADDRESS>/index.html" --> INVALID
"sometexthttp://sample.com/index.html" --> VALID
You can find a example here:
https://jsfiddle.net/0mg1v81e/2086/

@nikosalexakis it looks like the url validator is quite broken ...
This validator should probably be extended to support some validation rules, with some sane defaults ...
for example, allowing you to validate against a specific URL Scheme (http, https, ftp, sms, tel, mailto, etc).  This can be done by adding a validation rule to the field, such as urlSchemes: ['http', 'https', 'tel', 'sms'], with a sane default of ['http', 'https'] to default to generic web addresses.  It also should not require the URL to contain a minimum number of domains (http://example.com, vs http://localhost).  However, this limit can be configured as well with something like urlLabels: 2 (requiring something like example.com, and invalidating localhost).  We can also allow/disallow IPv4/6 addresses, etc ... the current validator is a bit too basic.
I recommend using the regex validator in the mean time, and using a custom regex or copy one of the more well-known URL validator regex's ...
I like this one, ^(http|https):\/\/[^ "]+ as it just ensures the string contains "valid characters" for a URL, and does not limit them in any way ...

Thank you @zoul0813 for your recommendations.
I will use a custom validator with a regex as you mentioned.


Update community_connectors.json

Added new data connector for Tableau for exoplanet data from NASA archive.

Coverage remained the same at 98.913% when pulling 92254e303feec7e0d817b95622ed368329fd6ba5 on ZooGorilla:patch-1 into 644881b922da7168efef21dd963ea1a51612b60a on tableau:master.


Added test-id for vcpu_wait and vcpu_sec metrics

Signed-off-by: Kedar Bidarkar<EMAIL_ADDRESS>
What this PR does / why we need it: Add test-id for vcpu_wait and vcpu_sec metrics
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer: Add test-id for vcpu_wait and vcpu_sec metrics
Release note:

NONE

/approve


As a TA, I want to be able to sort students by their particulars (e.g. Name / student id)

... OR to have them sorted in the first place, so that I can have a list of students in a sorted order

Is sorting by tag also needed?


Missing Documentaion for 2FA Callout

Hy!
This "issue", its more a Questions, is related to https://github.com/containous/traefik/issues/593
There is just an example on howto:
--- Traefik ---- > OAuth2---> Backend
but no for (2):
--- Traefik ---> Backend
         |
      OAuth2

The second Solution would be a better approach.
May someone gots an example for swarm and/or kubernetes?
Adding to the Docs would be perfect, cause 2FA is more and more getting "must have"
Thanks in advance. BR Bernd

Thanks for your interest in Traefik !
Every question in the issues means features less 😉.
The issue tracker is for reporting bugs and feature requests only.
For end-user related support questions, refer to one of the following:

Stack Overflow using the "traefik" tag
the Traefik community Slack channel


how to delete another user Git?

Hello, I ran into the problem of how to remove the old user. The fact is that the problem is with VSCode
A new branch of the user is connected, and how to remove the old user?
https://github.com/xekeapp/layout-web/blob/master/Untitled-2.jpg
remote: Permission to xekeapp/layout-web.git denied to appath.
fatal: unable to access 'https://github.com/xekeapp/layout-web.git/': The requested URL returned error: 403

Can you please list the exact steps to reproduce this?


How i can exclude files for synchronise?

Hello!
How i can exclude some types of files for synchronise folders?
On mac any folder has system file ".DS_Store", but how i can exclude it and upload all files without ".DS_Store"?

Some pending PR opened in 2014 and last commit 2 years ago this repo looks pretty dead.
I needed to ignore some files so i created a new PR and a npm package patched, you can install it with
npm i -S @ddoice/s3

then use it
const s3 = require("@ddoice/s3");

const params = {
   ...
   ignoreFiles: ['report.html','stats.json']
};


Different tabulation formating for plugin and ruff command line.

Describe the bug
I use the Ruff Plugin (https://plugins.jetbrains.com/plugin/20574-ruff) and when I do the Format action in the IDE, it produce different results than running uv run ruff format as commnad-line. The only difference is the tabulation of function arguments.
On sreenshot 1 with uv run ruff format, the file on the left (formatted with Jetbrains ruff plugin CTRL+ALT+L) is modified to delete some tabulation.

Here are my plugin settings:

Expected behavior
Same formatting between command line nad Jetbrains plugin.
Environments (please complete the following information):

IDE:  IntelliJ IDEA 2024.2.1 (Ultimate Edition)
OS: Windows 11 23H2 + Git Bash
Ruff Version: ruff 0.6.1
Plugin version: 0.0.35

@koxudaxi is the format support is delegated to LSP?
I wonder if it is an issue for LSP4IJ ?


False alarm "API changes have been detected"

E.g. in https://github.com/Azure/azure-sdk-for-python/pull/21552, it only changes readme. But our tool reports
API changes have been detected in azure-cosmos.

The create api review step lives in analyze.yml and calls into eng/common/pipelines/templates/steps/create-apireview.yml.
However, you're talking about the auto-filer, which lives here.
This is the piece that is prompting APIView to process the PR.


split function needed

@ranvis
Thank you for the great project for php8.*. I have been looking a php8 compatible mecab module for quite a long time, but none of them worked until now.
Is there any way to split the string using current project functions?
if yes, how to do it?
I used your example code snippets, and got the following output.
: BOS/EOS,*,*,*,*,*,*,*,* バナナはおやつに入りますか？: 名詞,固有名詞,一般,*,*,*,バナナはおやつに入りますか?,バナナハオヤツニハイリマスカ,バナナワオヤツニハイリマスカ : BOS/EOS,*,*,*,*,*,*,*,*
Obviously, the text is not split, is this correct?
if not, would you please add a split function? thank you very much.

The output looks correct in a way. The library itself is working.
Either you haven't installed/specified the right dictionary, or the encoding is not in sync between MeCab, dictionary and input.
mecab-ipadic: https://sourceforge.net/projects/mecab/files/mecab-ipadic/
mecab-ipadic-NEologd: https://github.com/neologd/mecab-ipadic-neologd/
You can check Tagger->getDictionaryInfo() output, e.g.:
use Ranvis\MeCab;
use Ranvis\MeCab\IpaDic\FeaturesEn;
...(snip)...
foreach ($tagger->getDictionaryInfo() as $info) {
    $name = $info->getFileName();
    $name = substr($name, strlen(dirname($name, 2)));
    printf("Name: %s, Version: %d, Encoding: %s\n", $name, $info->getVersion(), $info->getCharset());
}
$headNode = $tagger->parseToNode("バナナはおやつに入りますか？");
foreach ($headNode as $node) {
    echo $node->features()[FeaturesEn::READ], "/";
}
echo "\n";

My local output:
Name: \ipadic\sys.dic, Version: 102, Encoding: UTF-8
*/バナナ/ハ/オ/ヤツ/ニ/ハイリ/マス/カ/？/*/

@ranvis  Thanks for the quick response.
my output of $tagger->getDictionaryInfo() is as the following:
array(1) {   [0]=>   object(Ranvis\MeCab\DictionaryInfo)#6 (7) {     ["fileName":"Ranvis\MeCab\DictionaryInfo":private]=>     string(64) "/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/sys.dic"     ["charset":"Ranvis\MeCab\DictionaryInfo":private]=>     string(4) "UTF8"     ["size":"Ranvis\MeCab\DictionaryInfo":private]=>     int(4622888)     ["type":"Ranvis\MeCab\DictionaryInfo":private]=>     int(0)     ["leftAttrsSize":"Ranvis\MeCab\DictionaryInfo":private]=>     int(1316)     ["rightAttrsSize":"Ranvis\MeCab\DictionaryInfo":private]=>     int(1316)     ["version":"Ranvis\MeCab\DictionaryInfo":private]=>     int(102)   } } Name: /mecab-ipadic-neologd/sys.dic, Version: 102, Encoding: UTF8
dictionary path and encoding seem to be fine.
use Ranvis\MeCab\IpaDic\FeaturesEn;
I got an error message:
Uncaught Error: Class "Ranvis\MeCab\IpaDic\FeaturesEn" not found
There are only two files:PosId.php, PosIdEn.php in IpaDic, what should be done to deal with this problem?

Oh I missed something. The encoding should be OK.
",バナナハ...,バナナワ"
"ハ" => "ワ" in the result may indicate that the example sentence itself is registered as a single proper noun in neologd, since it is too famous.
Can you try another sentence, "メカブはおやつに入りますか？"

Uncaught Error: Class "Ranvis\MeCab\IpaDic\FeaturesEn" not found
I'm sorry, it isn't in released versions yet... FeaturesEn::READ = 7.

@ranvis
Finally,I got the output that is correctly segmented. Thank you very much.
`---------------------------
[]
BOS/EOS,,,,,,,,
[メカブ]
名詞,固有名詞,一般,,,*,MeCab,メカブ,メカブ
[は]
助詞,係助詞,,,,,は,ハ,ワ
[おやつ]
名詞,固有名詞,一般,,,*,おやつ,オヤツ,オヤツ
[に]
助詞,格助詞,一般,,,*,に,ニ,ニ
[入り]
動詞,自立,,,五段・ラ行,連用形,入る,ハイリ,ハイリ
[ます]
助動詞,,,*,特殊・マス,基本形,ます,マス,マス
[か]
助詞,副助詞／並立助詞／終助詞,,,,,か,カ,カ
[？]
記号,一般,,,,,？,？,？
[]
BOS/EOS,,,,,,,,`


[Bug report] Following the get started steps don't work out of the box

Bug report
Description

Steps to reproduce
Simply follow the steps here https://v2.vuepress.vuejs.org/guide/getting-started.html#manual-installation and I get the following errors when running yarn:dev
Environment info

Browser:
Output of vuepress info:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Console error
 $ yarn docs:dev
yarn run v1.22.17
$ vuepress dev docs
info Initializing VuePress and preparing data...

  vite v2.9.1 dev server running at:

  > Local:    http://localhost:8080/
  > Network:  http://<IP_ADDRESS>:8080/
  > Network:  http://<IP_ADDRESS>:8080/
✘ [ERROR] [plugin vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:

    node_modules/vue-router/dist/vue-router.esm-bundler.js:6:187:
      6 │ ...inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, nextTick } from 'vue';
        ╵                                                                                ~~~~~

  The original metadata for that path comes from when it was imported here:

    dep:vue:2:14:
      2 │ export * from<EMAIL_ADDRESS>        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  The difference in metadata is displayed below:

   {
  -  "pluginName": null,
  -  "sideEffects": true,
  +  "pluginName": "vite:dep-pre-bundle",
  +  "sideEffects": false,
   }

  This is a bug in the "vite:dep-pre-bundle" plugin. Plugins provide metadata for a given path in an
  "onResolve" callback. All metadata provided for the same path must be consistent to ensure
  deterministic builds. Due to parallelism, one set of provided metadata will be randomly chosen for
  a given path, so providing inconsistent metadata for the same path can cause non-determinism.

✘ [ERROR] [plugin vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:

    node_modules/vue-router/dist/vue-router.esm-bundler.js:7:36:
      7 │ import { setupDevtoolsPlugin } from '@vue/devtools-api';
        ╵                                     ~~~~~~~~~~~~~~~~~~~

  The original metadata for that path comes from when it was imported here:

    dep:@vue_devtools-api:2:14:
      2 │ export * from<EMAIL_ADDRESS>        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  The difference in metadata is displayed below:

   {
  -  "pluginName": null,
  -  "sideEffects": true,
  +  "pluginName": "vite:dep-pre-bundle",
  +  "sideEffects": false,
   }

  This is a bug in the "vite:dep-pre-bundle" plugin. Plugins provide metadata for a given path in an
  "onResolve" callback. All metadata provided for the same path must be consistent to ensure
  deterministic builds. Due to parallelism, one set of provided metadata will be randomly chosen for
  a given path, so providing inconsistent metadata for the same path can cause non-determinism.

✘ [ERROR] [plugin vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:

    node_modules/@vueuse/core/index.mjs:4:111:
      4 │ import { unrefElement as unrefElement$1, useEventListener as useEventListener$1, useRafFn as useRafFn$1 } from '@vueuse/core';
        ╵                                                                                ~~~~~~~~~~~~~~

  The original metadata for that path comes from when it was imported here:

    dep:@vueuse_core:2:14:
      2 │ export * from<EMAIL_ADDRESS>        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  The difference in metadata is displayed below:

   {
  -  "pluginName": null,
  -  "sideEffects": true,
  +  "pluginName": "vite:dep-pre-bundle",
  +  "sideEffects": false,
   }

  This is a bug in the "vite:dep-pre-bundle" plugin. Plugins provide metadata for a given path in an
  "onResolve" callback. All metadata provided for the same path must be consistent to ensure
  deterministic builds. Due to parallelism, one set of provided metadata will be randomly chosen for
  a given path, so providing inconsistent metadata for the same path can cause non-determinism.

✘ [ERROR] [plugin vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:

    node_modules/vue-demi/lib/index.mjs:1:21:
      1 │ import * as Vue from 'vue'
        ╵                      ~~~~~

  The original metadata for that path comes from when it was imported here:

    dep:vue:2:14:
      2 │ export * from<EMAIL_ADDRESS>        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  The difference in metadata is displayed below:

   {
  -  "pluginName": null,
  -  "sideEffects": true,
  +  "pluginName": "vite:dep-pre-bundle",
  +  "sideEffects": false,
   }

  This is a bug in the "vite:dep-pre-bundle" plugin. Plugins provide metadata for a given path in an
  "onResolve" callback. All metadata provided for the same path must be consistent to ensure
  deterministic builds. Due to parallelism, one set of provided metadata will be randomly chosen for
  a given path, so providing inconsistent metadata for the same path can cause non-determinism.

✘ [ERROR] [plugin vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:

    node_modules/vue-demi/lib/index.mjs:27:14:
      27 │ export * from 'vue'
         ╵               ~~~~~

  The original metadata for that path comes from when it was imported here:

    dep:vue:2:14:
      2 │ export * from<EMAIL_ADDRESS>        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  The difference in metadata is displayed below:

   {
  -  "pluginName": null,
  -  "sideEffects": true,
  +  "pluginName": "vite:dep-pre-bundle",
  +  "sideEffects": false,
   }

  This is a bug in the "vite:dep-pre-bundle" plugin. Plugins provide metadata for a given path in an
  "onResolve" callback. All metadata provided for the same path must be consistent to ensure
  deterministic builds. Due to parallelism, one set of provided metadata will be randomly chosen for
  a given path, so providing inconsistent metadata for the same path can cause non-determinism.

8:53:32 AM [vite] error while updating dependencies:
Error: Build failed with 5 errors:
node_modules/@vueuse/core/index.mjs:4:111: ERROR: [plugin: vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:
node_modules/vue-demi/lib/index.mjs:1:21: ERROR: [plugin: vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:
node_modules/vue-demi/lib/index.mjs:27:14: ERROR: [plugin: vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:
node_modules/vue-router/dist/vue-router.esm-bundler.js:6:187: ERROR: [plugin: vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:
node_modules/vue-router/dist/vue-router.esm-bundler.js:7:36: ERROR: [plugin: vite:dep-pre-bundle] Detected inconsistent metadata for the path<EMAIL_ADDRESS>when it was imported here:
    at failureErrorWithLog (/Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:1603:15)
    at /Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:1249:28
    at runOnEndCallbacks (/Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:1034:63)
    at buildResponseToResult (/Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:1247:7)
    at /Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:1356:14
    at /Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:666:9
    at handleIncomingPacket (/Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:763:9)
    at Socket.readFromStdout (/Users/ctw/Sites/github/escience/rsd/vuepress-starter/node_modules/esbuild/lib/main.js:632:7)
    at Socket.emit (node:events:526:28)
    at addChunk (node:internal/streams/readable:315:12)

Oh I got why there is an issue here, VuePress2 is based on Vue3 and<EMAIL_ADDRESS>which means you cannot have vue2 deps in your project.

That's right. You should not use VuePress 2 in a Vue 2 project directly. Consider using a separated docs repository.

That's right. You should not use VuePress 2 in a Vue 2 project directly. Consider using a separated docs repository.

I am not using vue 2 at all. I installed it into a complete new folder. Including yarn in it.. Got in it... So that shouldn't be the problem

Try to provide a reproduction repo, as my npm init vuepress-theme-hope docs is working on my machine.


Password.

Hey, Nice script! I was manually installing openvpn and decided midway to check for an auto installer, and found yours. (top of google)  <--- wew
I've got one concern, how do we add a password for the user? If you explain where it needs to be modified I can add it to the script for you, I am just not sure where it goes.

There are two lines in the script which contain the following string:
EASYRSA_CERT_EXPIRE=3650 ./easyrsa build-client-full $CLIENT nopass
Remove the nopass parameter and you'll then get an interactive prompt for the password during user creation.

It would be nice to be able to add a client with password without modifying the script.
The solution of @ShevT looks good.
Another way would be to just remove the nopass and print a message telling the user he/she can pass 'nopass' to disable password.

Certificates with password are not planned at this time. In most cases, if the certificate is compromised, the password could be too.

Could, yeah. But in most cases not.
For example when I lose my phone with the unencrypted ovpn file on it: the ovpn file is there, unencrypted, nothing to enter to use it. This is bad.
If there would be a password, I would be safe, without having to run home and disable this client, which is not possible in some situations.
Another case would be malware, which steals data. Again, if the ovpn needs no password, anyone can use it.
Just because someone got the ovpn file (which could happen in many ways somehow)
this doesn't mean this person also has the password.
Thats why I think to have a password on such files is very important.

The malware situation was exactly what I was referring to. If the the system is compromised, it's game over regardless of the password.
I can understand that there are some cases where this could be useful, but in my opinion there aren't many and this will not be officially supported for now, sorry.


sourcetrail: fix

Motivation for this change
Fix sourcetrail build. The LLVM headers it wants to copy are in llvmPackages.clang-unwrapped.lib, not llvmPackages.clang-unwrapped.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Marked for backport because it's also broken on 21.05.


Evaluating the posterior

What is the best way to evaluate the posterior for a set of parameters? For example, with
@model gdemo(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end
mf = gdemo([1.5, 2.0])

how do I evaluate the unnormalised posterior, say, at s=1.2 m=0.5?

Hi, the joint is proportional to the posterior. You can compute it the following way
@model gdemo(x,s,m) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end

model = gdemo(x,1.2,0.5)
res = model()
println(res.logp)

Wonderful, thank you. Just to make sure I understand, does this create a model where x, s, and m are all assumed to be observed, right? So in order to sample from this model and evaluate the posterior, I need to create two separate models?

Wonderful, thank you. Just to make sure I understand, does this create a model where x, s, and m are all assumed to be observed, right?
Yes
So in order to sample from this model and evaluate the posterior, I need to create two separate models?
If you just want to sample from the model (by some samplers) and check the posterior, in stead of evaluating the posterior of some given s and m, you only need the first model.

@model gdemo(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end
mf = gdemo([1.5, 2.0])
chain = sample(mf, HMC(100, 0.2, 3)) # sample this model using HMC for 100 sampler with 0.2 leapfrog stepsize for 3 steps in each iteration
print(chain[:s])
print(chain[:m])
print(chain[:lp]) # log posterior

Thank you again, I'm starting to understand how this all works. My only problem now is that evaluating the joint using @emilemathieu's code is 77,000 times slower than hand-coding it:
using Turing
using BenchmarkTools
Turing.set_verbosity(0)

@model gdemo(x,s,m) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end

function gdemo_logp(s, m)
    x = [1.5, 2.0]
    mf = gdemo(x, s, m)
    res = Base.invokelatest(mf)
    return res.logp[1]
end

function byhand_logp(s, m)
    x = [1.5, 2.0]
    sprior = InverseGamma(2,3)
    mprior = Normal(0, √s)
    likelihood = Normal(m, √s)
    lp = logpdf(sprior, s) + logpdf(mprior, m) + logpdf(likelihood, x[1]) + logpdf(likelihood, x[2])
    return lp
end
;

gdemo_logp(1.2, 0.5)

-5.338371361183928

byhand_logp(1.2, 0.5)

-5.338371361183928

@benchmark byhand_logp(1.2, 0.5)

BenchmarkTools.Trial:
  memory estimate:  96 bytes
  allocs estimate:  1
  --------------
  minimum time:     128.658 ns (0.00% GC)
  median time:      135.709 ns (0.00% GC)
  mean time:        159.941 ns (7.77% GC)
  maximum time:     4.977 μs (94.38% GC)
  --------------
  samples:          10000
  evals/sample:     875

@benchmark gdemo_logp(1.2, 0.5)

BenchmarkTools.Trial:
  memory estimate:  197.50 KiB
  allocs estimate:  3362
  --------------
  minimum time:     10.555 ms (0.00% GC)
  median time:      12.032 ms (0.00% GC)
  mean time:        12.424 ms (0.52% GC)
  maximum time:     25.212 ms (41.02% GC)
  --------------
  samples:          402
  evals/sample:     1

Any ideas on how to evaluate the joint in a reasonable amount of time?

I was able to get it down to “only” 100x slower than hard-coded, by manipulating the VarInfo object directly. It's not pretty, and still quite slow, so I'd welcome any suggestions
import Turing: VarName, sym, setval!, vns, setlogp!

@model gdemox(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end
mf = gdemox([1.5, 2.0])
vi = mf()

function gdemox_logp(s, m)
    names = Turing.vns(vi)
    namedict = Dict{Symbol,VarName}()
    setlogp!(vi, 0.0)
    for n in names
        namedict[sym(n)] = n
    end
    logp_before = vi.logp[1]
    setval!(vi, s, namedict[:s])
    setval!(vi, m, namedict[:m])
    mf(vi)
    return vi.logp[1]
end

gdemox_logp(1.2, 0.5)

-5.338371361183928

@benchmark gdemox_logp(1.2, 0.5)

BenchmarkTools.Trial:
  memory estimate:  3.09 KiB
  allocs estimate:  76
  --------------
  minimum time:     12.489 μs (0.00% GC)
  median time:      14.279 μs (0.00% GC)
  mean time:        16.170 μs (2.52% GC)
  maximum time:     4.193 ms (97.26% GC)
  --------------
  samples:          10000
  evals/sample:     1

This is a good question. They main reason the way you evaluate posterior is slow is because the function gdemo_logp also includes the compilation time. mf = gdemo(x, s, m) means compile the model with given observations into mf.
There is another way to do the evaluation, which takes the use of Base.invokelatest(model, vi, spl), where model is the compiled model with only observations, vi is an internal data structure we use to store model variables and spl is the sampler which can be nothing.
This can be done by:
@model gdemo2(x) = begin
  s ~ InverseGamma(2,3)
  m ~ Normal(0,sqrt(s))
  x[1] ~ Normal(m, sqrt(s))
  x[2] ~ Normal(m, sqrt(s))
  return s, m
end

mf = gdemo2(x)

# Generate a VarInfo by sampling from pior
vi = Base.invokelatest(mf)
# NOTE: you can try print(vi) to see what's inside...

function gdemo_logp2(s, m)
    vi.logp[1] = 0         # set log posterior to 0
    vi.vals[1][1] = s      # set s as you want
    vi.trans[1][1] = false # set the value of s as non-transformed
    vi.vals[1][2] = m      # set m as you want

    # Evalute using vi
    res = Base.invokelatest(mf, vi, nothing)
    return res.logp[1]
end

NOTE: on my machine the mean time for this is 12.998 μs which is still higher than they by_hand one on my machine which is 233.460 ns.
However as you can see we don't provide an easy-to-use interface to build vi yet as it is designed to be use internally. Also in the use case we considered, as the posterior is only evaluated internally, the compilation is only done once so it wasn't a big problem.

Well you just figured it our when I was typing...

100x seems a big overhead here. @yebai Do you have any idea on why and how to make it faster? Seems quite significant here.

I found this is interesting. Do you know why?
function gdemo_logp(s, m)
    vi.logp = 0
    vi.logp += logpdf(InverseGamma(2,3), s)
    vi.logp += logpdf(Normal(0, √s), m)
    vi.logp += logpdf(Normal(m, sqrt(s)), x[1])
    vi.logp += logpdf(Normal(m, sqrt(s)), x[2])
    vi.logp
end

BenchmarkTools.Trial:
  memory estimate:  288 bytes
  allocs estimate:  16
  --------------
  minimum time:     11.752 μs (0.00% GC)
  median time:      13.005 μs (0.00% GC)
  mean time:        13.046 μs (0.00% GC)
  maximum time:     59.533 μs (0.00% GC)
  --------------
  samples:          10000
  evals/sample:     1

But
function gdemo_logp(s, m)
    logp = 0
    logp += logpdf(InverseGamma(2,3), s)
    logp += logpdf(Normal(0, √s), m)
    logp += logpdf(Normal(m, sqrt(s)), x[1])
    logp += logpdf(Normal(m, sqrt(s)), x[2])
    logp
end

BenchmarkTools.Trial:
  memory estimate:  192 bytes
  allocs estimate:  10
  --------------
  minimum time:     251.597 ns (0.00% GC)
  median time:      280.504 ns (0.00% GC)
  mean time:        310.580 ns (9.32% GC)
  maximum time:     10.900 μs (96.22% GC)
  --------------
  samples:          10000
  evals/sample:     365

It seems that the slowness is due to the use of logp filed of vi??

@ChrisRackauckas Do you know why the performances in my comment above differs a lot? Is using a filed of a composite type very expensive?

That seems likely to be due to type instability. They’re both type unstable since you’re initialising to an integer (0) rather than a float. Try using the '@code_warntype' to see what the problem might be.

Well I can change the 2nd one to a generic type but the 2nd actually much faster.

How is the first one parameterized? If the type is parameterized or set concrete on that field, then vi.logp = 0 does the conversion when setting so it's actually type-stable. My guess is that field was left to ride as Any. And yes the second code isn't type-stable but the + is such a small amount of the time I don't know if it makes a difference, but do make it logp = 0.0.

Thanks Maxime and Chris, the results above are come from type instability issue.


Launch ms-people:savecontacttask throw an Exception

I used Launcher.LaunchUriForResultsAsync to Launch ms-people:savecontacttask, but it threw an exception.

What value can I set to Property TargetApplicationPackageFamilyName?

This feels not so much like feedback specifically about the documentation, but rather like a support request. Here are all of the developer support resources, for completeness.

The Feedback Hub app is the right place to lobby for a change, a feature, or to make a suggestion.
For community assistance with development questions, there are our forums, and StackOverflow.
The Windows developer support site explains other support options.
The Visual Studio developer community is available, and responsive. The former User Voice feature is now there on the Suggest a feature tab, if you want to lobby for a change, a feature, or to make a suggestion.
For developer issues, or suspected product bugs, there's Microsoft Support; a support engineer will look at the repro and see whether the issue is a Microsoft product bug, or something else. If it's a bug with a Microsoft product then the ticket will be free of charge.

If you receive assistance via any support resource, and you believe that information would help us improve the docs, then please come back and let us know.


pyo3-arrow - support version 53?

Hi, thanks for maintaining this package!
I have a couple questions:

It seems the latest version on crates.io has a dependency on arrow 52, even though the workspace itself seems to support arrow 53.  I'm not a Rust expert, so I'm not sure if this is expected?

The line below in Cargo.toml suggests the version if 0.2.0. However, the crates.io version is 0.2.1.  Does Cargo.toml need to be bumped?
https://github.com/kylebarron/arro3/blob/a81ac6efb89c5c13f058e7821088b020c7cbd5bc/pyo3-arrow/Cargo.toml#L3

Thanks!

Closed by https://github.com/kylebarron/arro3/pull/197
Published pyo3-arrow 0.3.0: https://crates.io/crates/pyo3-arrow


Address missing check for Captain's Hat

Oops, I realized I made this mistake a few hours later. The Oceanside Spider House chest logically requires Captain's Hat, and therefore that location needed to be in the array.

All good 👍


Still works

I just installed from the script and all is still working. Thank you!
Tested on:
Linux Mint 21.3 Cinnamon
Pipewire 1.0.7 (Pulseaudio removed)
EasyEffects 7.1.6

:)


No information on integration of publish with the build

The document provides no information on integration of  the publishing step with the actual build which is quite a big gap.

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

ID: 449b8ce2-80b3-9bfa-6d7f-3e8ac8a86e16
Version Independent ID: 31264b07-1aeb-b3f0-1126-f25e578f6d50
Content: Publish your .NET Core Hello World application with Visual Studio - .NET Core
Content Source: docs/core/tutorials/publishing-with-visual-studio.md
Product: dotnet-core
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Can you provide more information about what you mean? I don't understand what is missing 😦


hierarchical way to address model components

what is the easiest way to address the composite models components and their parameters?

You probably figured out by now... sorry, I missed this issue.
Anyway this is an example:
# A composite model
composite_model = Powerlaw() + Gaussian()

# Now all parameters of the first component
# have a _1 appended, all the parameters of
# the 2nd component have _2 appended

# Normalization of powerlaw
composite_model.K_1 = 2.1

# Normalization of Gaussian
composite_model.F_2 = 2.5

Yes, thanks, that's what I use.
But I mean really hierarchical way, something like:
composite_model.Powerlaw.K=1

otherwise the numbers change often when I change model even a bit, and I have to reassign them manually. That's quite annoying.
if there are many powerlaws, maybe then:
composite_model = Powerlaw() + Powerlaw()
composite_model.Powerlaw_1.K=1

or maybe even, if I imagine:
composite_model = Powerlaw(name="soft_pl") + Powerlaw(name="hard_pl")
composite_model.soft_pl.K=1


Manual upgrade project with JHipster v4.5.1

Use version at 6c3160dc04ece191e5d7c43f1f676a1af88bc981

Codecov Report

Merging #44 into master will decrease coverage by 0.74%.
The diff coverage is 61.9%.

@@             Coverage Diff              @@
##             master      #44      +/-   ##
============================================
- Coverage     84.26%   83.51%   -0.75%
============================================
  Files            71       71
  Lines          1798     1814      +16
  Branches         92       93       +1
============================================
  Hits           1515     1515
- Misses          253      265      +12
- Partials         30       34       +4

Impacted Files
Coverage Δ
Complexity Δ

...lgrimaud/qualitoast/web/rest/TypeTestResource.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...lgrimaud/qualitoast/web/rest/CampagneResource.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...imaud/qualitoast/web/rest/ApplicationResource.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...lgrimaud/qualitoast/web/rest/ResultatResource.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...algrimaud/qualitoast/web/rest/TesteurResource.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...lgrimaud/qualitoast/aop/logging/LoggingAspect.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...calgrimaud/qualitoast/service/TypeTestService.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...grimaud/qualitoast/service/ApplicationService.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...calgrimaud/qualitoast/service/CampagneService.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...scalgrimaud/qualitoast/service/TesteurService.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

... and 4 more

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 ac387d1...295eafa. Read the comment docs.


error when starting daemon

Hello, I'm trying to run the unik daemon on Debian, and I noticed that when building, it uses my /var partition, which has a 1.6 GB disk quota. I'm aware that I need at least 8 GB to build as per the prerequisites, and hence my question is how to instruct the daemon to use the partition with the right amount of space for this.
Attached the log file. Thanks,
error.txt

So this is just a matter of changing the default directory for storage that docker uses. I found what looks like a solution here: https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169


Fix behaviour of min_count in reducing functions

The first commit modifies existing tests to check Dask-backed arrays are not computed. It also adds some specific checks that the correct result (NaN or a number as appropriate) is returned and some tests for checking membership of xarray.core.dtypes.NAT_TYPES. After this commit I get 89 test failures, and they seem to cover the cases reported in #4898.
The second commit fixes these failures:

The checks of the nan mask in xarray.core.nanops._maybe_null_out are changed to use np.where which allows lazy evaluation.

Previously, xarray.core.dtypes.NAT_TYPES was a tuple of datetime64 and timedelta64 instances; I've changed it to a set of the dtypes of these instances. It is only used for the membership check in _maybe_null_out so a set seems appropriate. The previous use of instances rather than dtypes caused a bug -- np.float64 in NAT_TYPES returned true even though it only contained datetime64/timedelta64. This meant that reducing operations over all axes (axis=None or ...) with float64 arrays ignored min_count as the membership check in _maybe_null_out caused it to be skipped.

[x] Closes #4898
[x] Tests added
[x] Passes pre-commit run --all-files
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst

looks like np.where is not yet lazy in dask 2.9.2

We can use the where_method from duck_array_ops instead of np.where

We can use the where_method from duck_array_ops instead of np.where

duck_array_ops.where would be closer to np.where

Changed to use duck_array_ops.where

Docstring updated and entry added to breaking changes of whats new (I assumed this was appropriate). Note its a bit more nuanced than @mathause stated: for an integer array, skipna defaults to False and so xarray.core.duck_array_ops._create_nan_agg_method does not call nansum. This means you have to force skipna=True to see the difference:

master: xr.DataArray([1]).sum(min_count=1).dtype -> int64
this PR: xr.DataArray([1]).sum(min_count=1).dtype -> int64
master: xr.DataArray([1]).sum(skipna=True, min_count=1).dtype -> int64
this PR: xr.DataArray([1]).sum(skipna=True, min_count=1).dtype -> float64

Hopefully this is clear in the docstring changes, suggestions welcome.

Not for this PR but I wonder if xr.DataArray([1]).sum(min_count=2) should actually return NA.

It would make it more consistent, the current behaviour is

xr.DataArray([1]).sum(min_count=2) -> 1
xr.DataArray([1.0]).sum(min_count=2) -> nan

due to the different dtype defaults for skipna. I guess this would require rework of the dispatch logic in xarray.core.duck_array_ops._create_nan_agg_method to make it call nansum/nanprod when appropriate (e.g., should setting min_count imply skipna=True?).

I think we can merge this before the weekend, unless someone objects?

Thanks @bcbnz. I see this is your first PR here - welcome to xarray!


Can I bind a windows by handle ?

Bind a window and send a mouse or keyboard event only in this window in background?

nope~~


Optimism gas on dest too high

Relayer fee is ~$10 USDC to Optimism ($0.37 to arbitrum)
This doesnt make sense https://l2fees.info/

/sad
closing


perf: improve newsletter form

Describe this PR

The newsletter form in the footer was working even if no input is provided. It was showing Thank you to the client after the click event even if no input data. It is fixed now.
Changes

What issue does this fix?

Any other relevant information

@janpio still not reviewed.

Yes, we will get to review this when we have time. This does not sound super urgent, so we will take care of it when it fits.


Add files via upload

Kindly add my school to jet brains list

@FredrickMoshe fip.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Create Slides “test-slide/index”

Automatically generated by Netlify CMS

👷 Deploy Preview for d3mlabtest processing.

Name
Link

🔨 Latest commit
6b046e4cb84b8f7b3b534525a6962c74033042c6

🔍 Latest deploy log
https://app.netlify.com/sites/d3mlabtest/deploys/65179013dd2c110008a79303


⚠ Processors has degraded performance

In f582be7, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 60 ms

Resolved: Processors performance has improved in f778ede.


cover gitlab backend integration

Summary

Opening this early for visibility, discussion, and contribution.
This project's greatest weakness is its lack of testing. The lack of testing is, I think, mostly owing to a general awareness that the backends are by far the most needful of testing, but require considerable effort to test well. Being often busy with features and bugfixes, we tended to put this effort off. That's my theory, anyway. We've only avoided massive failure for the thousands of sites using Netlify CMS through diligence in writing and merging code.
This is not a scalable solution.
The project is now at a place where important and exciting contributions are being delayed to avoid the risk of bugs - a risk that is exponentially higher than it should be because of our lack of testing. This PR aims to get the ball rolling by doing the following:

provide a template for properly testing backends
completely cover the GitLab backend

The plan
Netlify CMS is also difficult to test because it's a complete application. Requirements range from e2e coverage of a fairly complex React app to API mocking for the extensive integrations with services like GitHub and GitLab, and even testing integrations with external applications like the Uploadcare and Cloudinary media library widgets, which are completely external UI's loaded via script tags. Lots of ground to cover.
For this reason, we should keep our tests high level. Not necessarily e2e for everything, but at least at the integration level. For backends this means we don't test the backend directly, but instead sandwich it between backend.js and a fully mocked API via nock, and testing through the backend.js interface. This should help make the tests created here for GitLab maximally reusable for the other backends while avoiding the brittleness that comes with testing implementation details.
Status
This PR is very much a work in progress. Lots of repetitive code that will be reduced once we get closer to the finish line and opportunities for meaningful optimization become more obvious.
How to help
If you love testing and want to get in on the action, start by commenting and we'll get you involved! This is definitely an all-hands-on-deck effort.

Deploy preview for netlify-cms-www ready!
Built with commit b0dff33ea3798375028b5809136c2e9346276487
https://deploy-preview-1968--netlify-cms-www.netlify.com

Deploy preview for netlify-cms-www ready!
Built with commit 145ad73a67199a8601729c2ead8e6d8c480bbfa2
https://deploy-preview-1968--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit fc62a53597b1bd65112f05731d52aa7014b24910
https://deploy-preview-1968--cms-demo.netlify.com

Going to merge this as is for now, at least establishes how backends can be mocked and tested.


Any plans for Vue 2.0 support?

Hi.
Vue 2.0 is almost here, are you going to support it any time soon?

And we may not firstly update N3-components to suit for vue 2.
But, we are going to join or stage the project for building basic components of vue 2, which likes http://react-component.github.io/badgeboard/ and can be programming with any ui framework.

its a good idea


replace acronym with full name if acronym doesnt exist

replace acronym with full name if acronym doesnt exist

Looks good. Do you mind adding just one integration test to cover this carer's allowance scenario and check the benefit name acronym is set to the expected value? Possibly in the 'NotificationIt' file?


can i extract motion vector of H.264 /AVC  from this jar ?

Could you be more specific? Would you like to extract motion vectors in a csv file?


Feature to add trigger type

It should be able to change the trigger type in Tooltips. Popper.js supports trigger types.

Sorry. Found it.


Force Open Draft Issues

The bot should make sure that bounty hunters open new issues as drafts
THIS IS A DEMO IGNORE THIS ISSUE
If its not ready for a review, please make it a draft @starlitnightsky
Originally posted by @0xcodercrane in https://github.com/ubiquity/ubiquibot/pull/386#issuecomment-1584188315

/help

/assign


Add x-LAY3R in Ethereum, Arbitrum, BSC

Description

Type of change

[ ] Docs change / dependency upgrade
[ ] Configuration / tooling changes
[ ] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
Related pull request(s)

FYI addresses should be the xERC20, not Lockbox. Fixed in our whitelisting branch, closing this.


SimdJson upgrade

Updated simdjson to the latest version.
Now fields are identified as json ("x.y") rather than the previous slash method ("x/y"), thus the tests have been updated to accommodate this.
Additionally, added a GitHub workflow to run the tests.

@microsoft-github-policy-service agree

I will do a code review in a week.
Dong

Did a quick pass on the code. LGTM.
@mnorfolk03 Can you run some basic performance regression tests for at least one dataset? For example, run an experiment on a large enough Github dataset and see how it compares with the old version. When it is done, please plot the figure and put it here for reference.
@badrishc Could you please glance over the code as well? Also, we are switching the CI/CD to Github Actions for better integration.

Here is the data requested. This version will perform a bit worse when batchsize = 1, but it makes sense to switch to simdjson::ondemand, because it will perform better with larger batch sizes. Also note, that simdjson::dom, will perform worse than the ondemand.

I think the code looks fine. @badrishc Can you check if it looks good to you? If so, I will merge it back to master.


Make member a user delegate

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
Member is simply an extension of what a user represents. It is a user with guild-specific properties such as roles and thus should be extending the User type. We can accomplish this by using a delegate implementation which forwards user specific methods to the user contained by the MemberImpl type.

Although we could now remove methods like GuildController#ban(Member, int) due to the Liskov substitution principle but I kept them for the sake of readability in the docs.