L2 projection after non-uniform refinement

Hi all,
The question here is similar to #1072 .
Given a Gridfunction u_gf , I want to project u_gf to new finite element space, where the mesh is refined.
Unlike #1072, the refinement is not performed to the whole mesh using UniformRefinemen,
but only at certain regions using the Thresholdrefiner.
I wonder if L2ProjectionGridTransfer can still project u_gf to space that is not refined uniformly.
Thank you

Hi @jchan192,
after a mesh refinement (uniform or not) you need to call FiniteElementSpace::Update(). This updates the FiniteElementSpace but also creates internally the transfer operator (the embedding)  from the old FiniteElementSpace to the new one. If you then call u_gf.Update(), this  transfer operator is used to map the u_gf to the new FiniteElementSpace.
Hope this helps.
Best,
Socratis

Thanks for the reply!
Yes. My current code is using u_gf.Update() after refinement.
However, the new problem that I am solving now requires using  projection operator, L2- projection more specifically.
Please let me extend my question here.
What kind of interpolation scheme does u_gf.Update() adopt? Is it nodal interpolation or projection?

Hi @jchan192,
The Update() uses nodal interpolation. I still fail to see the need for the projection. If you are doing a refinement then the coarse space is a subspace of the fine space, hence the solution already belongs to the fine space. A Projection would give you back the same thing, i.e., the embedding of u_gf in the fine space.
Unless you are doing LOR, where the refined space is of lower order, then I don't see the need for a projection. is that the case?

Just to add to @psocratis's answer, the general intent of the GridTransfer classes is to be used for transfer between say a high-order space on a high-order mesh and a low-order space on a low-order refined mesh, see https://arxiv.org/abs/2103.05283.
That being said, one can consider using them with AMR, e.g. for derefinement. Do you need to do something like this?
If the answer is no, you are much better off with the built-in AMR interpolation and restriction algorithms.

Thanks @psocratis @tzanio  for the reply.
I am not doing a transfer from HO space and mesh to LO space and refined mesh.
So looks like I actually don't need GridTransfer. Thanks for clarifying.
I am implementing a modified Crank-Nicolson solver. In pointwise form, it looks like this

where U^n is the approximated solution at timestep n and π is the projection/ interpolation from space V^{n-1} to V^{n}. Literature applied L2 projection for π, which is why I brought up the topic here.
So looks like Update() is all I need, since Im not dealing with LOR. The problem is the RHS term with π * Laplacian U^{n-1}.
In finite element, does it mean I will need to perform an Update() after applying the DiffusionIntergrator?
This is a short demonstration of my plan. Do you think the implementation look correct?
  // U is actually complex valued, but lets assume real here for simplicity
   K = new ParBilinearForm(&fespace);
   K->AddDomainIntegrator(new DiffusionIntegrator(KCst));
   K->Assemble();
   K->Finalize();
   Kmat = K->ParallelAssemble();

   Kmat->Mult(U,Utmp); // Laplacian U^{n-1}
   RHS_gf.SetFromTrueDofs(Utmp); // vector cant be interpolated, but gridfunction can

   // After refinement....

   fespace.Update();
   RHS_gf.Update(); // interpolated Laplacian U^{n-1}?
   fespace.UpdatesFinished();
   Utmp.Update(fespace.GetTrueVSize());
   RHSU_gf.GetTrueDofs(Utmp); // Utmp now is π * Laplacian U^{n-1} ?

I will close the issue here, because the question is answered. I will open a new issue regarding the question above.
Thank you all

@psocratis
sorry for coming back. I have consulted with an FE analysis expert regarding my problem. I now have a better understanding but still couldn't implement it correctly in MFEM....
We suppose to compute the following L2 projection of ΔU from a mesh to a refined/derefined mesh (same order of FE space).

You suggest that interpolation from Update will give the same effect, because the refinement is performed hierarchically, I think. But How should I interpolate ΔU  correctly? I have an example above, where I get the interpolation of ΔU from

multiplying U with the stiffness matrix
then put it into the gridfunction
do an update.

Does this approach sound good?
One more last question. I am actaully also derefining. Do we expect Update  in the case to give same result as L2 projection?
Thank you for your time. I really appreciate it if there is any comment.

@psocratis Thanks for the reply!
My problem requires specificlly applying the laplacian on the coarse space first then interpolate on fine, instead of the reverse.  So 1) may not be what I want.
I think the other two solutions seem to be what im looking for!

I am computing a laplacian, but the GradientInterpolator only computes the 1st derivative.
For this method, I don't understnad which step acutally computes the laplacian.

I think I have tried this method, partially. Let me clarify that U is  a primal vector.
you suggested me to
3.1- first solve the projection problem based on the dual vector, which is the stiffness matrix^{n-1} * U^{n-1}.
3.2 - Update the projected primal vector to fine space
3.3 - multiply stifness matrix on fine space, to get RHS
My quesiton is why would 3.3 be neccessary , when we already did stiffness matrix * U at step 3.1?

Thanks again for the help.

Hi @psocratis
According to your suggestion, I implemented the following code.
I didn't show the full code, because its too complicated,
but do you think below is what you suggested?
I still don't understand why we will need to do step 3.3, multiplying the updated
vector by mass matrix.
   // prepare Mass matrix for projection
    Mproj = new ParBilinearForm(&fespace);
   Mproj->AddDomainIntegrator(new MassIntegrator(one));
   Mproj->Assemble();
   Mproj->Finalize();
   Mpmat = Mproj->ParallelAssemble();

   // prepare stiffness matrix
   K = new ParBilinearForm(&fespace);
   K->AddDomainIntegrator(new DiffusionIntegrator(KCst));
   K->Assemble();
   K->Finalize();
   Kmat = K->ParallelAssemble();

   //  Step 3.1: To do on coarse grid    //
   Utmp.Update(block_toffsets);
   Kmat->Mult(U,Utmp); // laplacian U^{n-1} but dual vector

   // l2 projection to obtain primal vector
   CGSolver *l2projection = new CGSolver(MPI_COMM_WORLD);
   Vector Uprim(Utmp);
   l2projection->SetRelTol(1e-12);
   l2projection->SetAbsTol(1e-12);
   l2projection->SetMaxIter(150);
   l2projection->SetPrintLevel(-1);
   l2projection->SetOperator(*Mpmat);
   l2projection->iterative_mode = false;
   l2projection->Mult(Utmp,Uprim); // get primal vector Utmp2

   RHS_gf.SetFromTrueDofs(Uprim);   // vector cant be updated, so put it into Gridfunction RHS_gf

   ////////////////
   //    Step 3.2: After refining and derefining mesh, Update RHS.........  //
   ///////////////

   //     Step 3.3: To do on fine grid    //
   Vector Uproj(Uprim);
   RHS_gf.GetTrueDofs(Uprim); //  Get Projected laplacian U^{n-1}. Done?
   Mpmat->Mult(Uprim,Uproj); // Why do we need this step?

Thank you for your time.


CLOUD-50744 TestNG output directory can be set by environment variable

@bbihari or @biharitomi pls review

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1968/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1969/


[Service layer] Improving the service implementation API

In the application architecture, the SPA service layer purpose is to publish services for the SPA views.
To keep thing clear and organized, we maintain this bijection :

one SPA service method (identified by service type + method name)
= one HTTP request (identified by route + verb + parameters)
= one server controller action (identified by controller + action name)
= one server service method (identified by service type + method name)

If a view needs a method that makes several HTTP requests, an "application level" service can be used, on the top of regular services. Each regular service makes a single HTTP request.
That being said, the regular SPA service purpose is clearling identified :

A SPA service method role is to make the bridge between the SPA and the server services, via HTTP request.

Therefore, the SPA services implementation should be linear and consistent to reflect this single responsability, that is :

A SPA service method implementation is making a HTTP request, to a given URL, with a given verb, and given parameters.

Potentially, the method can also handles stuff like wrapping parameters or returned values.
Currently, SPA services implementation is quite complex :

Implementation is different according to the CRUD nature of the operation

CRUD operations uses an intermediate object (Promise object)
non-CRUD operations uses a PromiseAjax which make an explicit HTTP request

Implementation is different according to the return type of the service

A single item uses a PromiseModel
A collection uses a PromiseCollection

Implementation is different according to the verb of the request

GET is made by a fetch/fetchData method
POST/PUT is made by a save method
DELETE is made by a destroy method

Moreover, it is a bit cryptic :

The words model and collection used in the API imply eponymous Backbone concepts, which is misleading :

The purpose of Backbone.Model and Backbone.Collection is to store a REST resource url and publish CRUD methods to request the REST resource
The purpose of a service is to make one single request (independently from the REST paradigm)

The words PromiseModel and PromiseCollection imply that those objects are promises, which they are not

They encapsulate a URL and publish methods which will return promises

My point being that using those REST-oriented objects bring an extra level of abstraction in the service implementation, which is not necessary.
Finally, storing the routes URL in seperate files might be counterproductive, because it hides the URL from the developper.

On one hand, one can say that as routes are shared by several services methods, this strategy avoids common data to be stored at several places.
On the other hand, if we consider that each service method is independant and autonomous (according to SOA principles), we can choose to put the hard-coded URL in the service method.

This allows to inject the route parameter value directly instead of using cascading verbose string replacement.

Extract of URL file, where the root is manually concatened to each route :
var root = require('../config').apiroot;
var urls = {
	administration: {
          usrResultCollection: root + '/api/usrList',
          usr: root + '/api/usr'
	}
}

Here is some examples with the current Focus API.
For all examples we use these dependencies :
var Promisify = Fmk.Helpers.promisifyHelper;
var URL= require('../config/url');

Loading an object with an ID
function loadUserById(userId) {
  var url = URL.administration.user
  return Promisify
        .model(url, { id: userId })
        .fetch();
}

Saving an object
function saveUser(jsonUser) {
  var url = URL.administation.user;
  return Promisify
        .model(url, jsonUser)
        .save();
};

Loading a list of object
function listApplication() {
  var url = URL.administration.application.listApplication;
  return Promisify
        .collection(url)
        .fetch();
};

Non-CRUD operation
function quickExploitationSearch(text) {
  var url = URL.exploitation.quickExploitationSearch;
  return PromiseAjax({
    url: url,
    type: "POST",
    data: JSON.stringify({
      critere: text
    })
  });
}

New service implementation suggestion
Taking into acount all the previous remarks, we could use a new consistent and basic HTTP oriented API :

A single entry point to make HTTP request

For instance, a server variable of a HttpServer type, configured with the root

Sub-objects for handling item and list separetely

For instance, server.item and server.list

A method for each HTTP verb simply named after the verb

Server module declaration :
var root = require('../config').apiroot;
module.exports = new Fmk.Helpers.HttpServer({ root : root });

Server module require in services module :
var server = require('server');

Loading an object with an ID
function loadUserById(userId) {
  return server.item.get('api/user/' + userId, { id: userId });
}

Loading a list of object
function listApplication() {
  return server.list.get('api/application');
};

Saving an object
function saveUser(jsonUser) {
  return server.item.post('api/user/', jsonUser);
};

Non-CRUD operation
function quickExploitationSearch(text) {
  return server.list.post('api/quickExploitationSearch', { critere : text });
}

fetch APi should be a good choice for focus improvment


fix: missing react import

Motivation
After migration to new version, I found missing import in TypeDefinitions.js :

Test plan

I wonder why the CI didn't catch this :(

After opened in this error shows immediately in my editor :D


Path segments are not properly imported in python modules

Iteration over path segments creates paths that imply that there is an iteration over the characters of a single path segment leading to intermediate nodes for each character. This requires a fix, ideally with a library function for creating intermediate nodes in a uniform manner for all python modules.

Fixed in acc6bb798db1d5e2edf43cc6bab18e7ba98a792a


Commenting-out code in cells does not work after last update

Commenting-out code does not work after last update
Cannot comment-out code using CTRL+/ nor CTRL + K, CTRL + C. There is no possibility to comment-out code other than typing // manually.
Also auto closing brackets stopped working.
Tested for both C# and JavaScript cells. It worked perfectly before update to the last version.
Version

Version: 1.0.360602+9bf026dabac44a6256a65168fa93dcb7e2edcca4
Library version: 1.0.0-beta.22606.2+9bf026dabac44a6256a65168fa93dcb7e2edcca4
Build date: 2022-12-08T07:51:24.4686906Z

OS

Windows 10
Windows 11

Frontend

Jupyter Notebook
Polyglot Notebook
Visual Studio Code

Same issue here.
And it works everywhere else in VS Code.

This version also breaks code color, and auto closing brackets.

(I presume all of these issues are probably related, so I thought I'd post it here)

This issue seems merged at 2023-01-07, but the latest Polyglot Notebooks still has this issue.
Why in VSCode it's v1.0.3? But in marketplace.visualstudio.com it's 1.0.4? I had tried uninstall and reinstall from marketplace website. It still show me v1.0.3.

Same for me - still waiting for update...

This is fixed in VS Code Insiders.


Please update the package on NPM?

The package on npm is quite outdated, could you please publish updates there?

Updated the version on NPM.

Cool, thanks :)


Add token refinement

@luxxxie there is conflicts between version of Rmarkdown. Can you solve them first?


davidcthomas pull request

more changes based on feedback.  Thanks to @dholmer for being persistent :)

Please sync to master and make sure the result is what you expect.


settings: Saved alert position is not proper as before.

before alert-msg position in settings (some different changes in gif are from my current not merged work).

**before**

current alert-msg position in settings.

**current**

should I remove gif's then.

We should fix the regression, separate from any discussion of potentially moving these somewhere else.
The design for the component is to put the "Saving..." notice in the header area -- we know that won't be long. We also put error messages there; in practice they're very rare, and usually short, but I'd like revisiting where we place those to be a separate issue from a "This looks totally broken" regression.

@zulipbot claim


added the correct docs for the glossary to the readme

Pull Request Template
Description
Updated the read me file to include a link to the proper glossary for the project
Commits Checklist
commits have clear title names
commit has descriptive message of what has changed
Loom Video:
https://www.loom.com/share/f6da1a2d7eaf46fa8283dc6ec5083988
Trello card:
https://trello.com/c/BF4zR3uW/500-add-glossary-information-to-readme-frontend
PRs needs to be reviewed by at least 2 team members
TPL is the 3rd reviewer
Pull Request Rubric

Thank you for doing this Gabby! This is going to reduce any confusion for future cohorts surrounding terminology. I marked as ready for review, as draft PRs cannot be merged.


feat(Travis): Adding travis ci

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix a crash when converting a plain 'return' statement

If a plain (no expression) return statement was used, an access violation was triggered trying to access a null pointer. Just added a null check.

Could you please move the second if-condition into the first one to reduce the amount of scopes and indentation?
Like this: if (InsideEntryPoint() && ast->expr != nullptr)
I only have these single condition if-statements when they have a variable declaration in it,
like if (auto castExpr = ...).
And could you then please squash your two commits to one?

Done.


Add my Common Lisp solution repo

Added it alphabetically by language name - not sure if there is a correct ordering.

Perfect! Thanks @verdammelt


Improvements for authentication flow

I would like to propose some improvements to the API for initializing Spotify Users.
Currently, as of my pull request from a few days ago there are multiple ways to create an authenticated User object:
User.from_code, User.from_token, and User.from_refresh_token.
There is two improvements I'd like to make. First combine the from_token and from_refresh_token methods into one, e.g. from_token_info that takes a tuple of optional parameters, access_token,  expiry_time, refresh_token and then correctly instantiates and authenticates the User depending on what tokens it got.
The second improvement is the option to add a cache path to store the access and refresh tokens and later on reinitialize the User by just providing the cache path. This would make it easier to have persistent applications where one does not want to go through the oauth flow every time and does not want to bother with storing the tokens themselves.
I have the changes ready and will make a pull request soon, just wanted to open this issue to allow for discussion about the changes.

@mikonse I'm working on a local v0.8.0 branch that I'll be pushing later, could you make your changes off the current master HEAD off a separate branch?

Apologies for the delay, I've just pushed and merged v0.8.0.

Alright, i'll get my changes integrated and then open a merge request.


node-gyp rebuild error

Node Version: 8.11.2
Platform: win10    x_64
Module: workerpool

electron_project\TMAPConvertSDK\x64\node_modules\shmmap>if not defined npm_config_node_gyp (node "E:\nvm\v8.11.2\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "E:\nvm\v8.11.2\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成，请添加“/m”开关。
  memory.cpp
  win_delay_load_hook.cc
..\src\memory.cpp(6): fatal error C1083: Cannot open include file: 'sys/mman.h': No such file or directory [E:\electron_project\TMAPConver
tSDK\x64\node_modules\shmmap\build\shmmap.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\nvm\v8.11.2\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "E:\\nodejs\\node.exe" "E:\\nvm\\v8.11.2\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd E:\electron_project\TMAPConvertSDK\x64\node_modules\shmmap
gyp ERR! node -v v8.11.2
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

I have spent 2 full days last week figuring out what was going wrong. I had the same error as you are showing here.
Tried uninstalling node, changing versions of node, reinstalling Visual Studio and reinstalling Visual Studio Build Tools. No success.
The thing that made the rebuild error disappear for me was
npm config delete msvs_version and npm config delete msvs_version -g

Thanks for reply! I have tried,but I still meet the same error.

sys/mman.h is a Linux thingy, it is not available under Windows. You should report this to the repo of whatever module you are trying to compile.

agreed, looks to me like you're trying to build an addon in Windows that is designed for Linux or *nix in general. better report it upstream to the addon author.


[Task] Publish style guide on Ballerina.io

Description:
Need to publish ballerina guide line on ballerina.io website.

[x] 1st Review Pre-Release
[ ] Publish guideline on ballerina.io

1st Review Meeting notes
Readme.md

[ ] swap the parentheses points
[ ] Explain the Line break point 2 and 3 more to a point that user can understand it..
[ ] Update line break point 4  example to have more example like function to explain it more
[ ] make info in to a point in the line break
[ ] spell check 4th point and fix
[ ] Add parameter annotation example in annotation formatting section
[ ] indent the documentation example to be under the point
[ ] fix 2nd rule to say "after the #"
[ ] fix 2nd rule spell "symnbol"
[ ] in the example it should be "description" in the place of description
[ ] fix rule 4 in documentation "Addonly" to be "add only"
[ ] in rule 4 name the + to be "parameter marker" and - to be "divider"
[ ] in documentation shorten the example to explain only what you are trying to say
[ ] remove this "For more information on how to document Ballerina code, go to How to document
Ballerina code." for now

Top Level.md

[ ] Remove "do not indent top level def" from the readme.md and add it to top-level-definitions page
[ ] Import formatting section in rule #2 remove the "front" and replace it to say before
[ ] Remove align from the 2nd rule of the function definition
[ ] Remove "front" with the related suitable word
[ ] Fix the rule "Add a single space before the , comma, which separates the parameters." to say
"space after the comma"
[ ] Add line break scenarios of each definitions inside the section belongs to each definition
(discussion point)
[ ] remove Service definition rule 1
[ ] How a comma behaves in a list should be a common rule under line spacing section
[ ]  Merge point 1 and point 2 of the resource definition
[ ] Shorten the 3rd point of the resource definition
[ ] Service definition there should be a rule to explain the new http:Listerner (9090) formatting
[ ] Remove 2nd rule of the service def
[ ] Move the global variable rule to line spacing section in readme.md and remove the global variable
section.
[ ] Shorten  3rd rule of the object definition
[ ] Fix the seal record example in Record definition example
[ ] Add a rule to service to say follow object def guide lines for function and field definition formatting
[ ] Add a rule to service to say resource function should be formatted as functions
[ ] remove resource definition section
[ ] remove the linking rule of type referencing from object and record definition

Statements.md

[ ] fix spelling mistake in if statement rule 3 (statemnt)
[ ] fix if statement rule 4 replace "previous" with matching and remove the symbol of closing brace
[ ] Remove redundant rules from the if statement rule 4 (remove key word related formatting as it is
common rule)
[ ] edit rule 3 to say if, else if ,and else's statement formatting and remove rule 4 subrule 2
[ ] Remove rule 5 in if statement
[ ] change the order of keyword to say "if, else if and else" in if statement empty section rule 2
[ ] Simplify the if statement empty section rule 2 to say "if empty add an empty line between the
opening and closing braces"
[ ] remove info and the example in the if statement empty section rule 2
[ ] Remove the first rule of the match statement as it is already define in the block formatting in the
readme.md
[ ] Ask in the ballerina dev google group whether the if statement can be written without the curly braces when the if has only one statement in the body
[ ] Simplify the 4th rule of the match pattern to say "patten should block indent its statements" also simplify the example. (remove the function ... only match is enough)
[ ] simplify the last rule of the match pattern to say if empty keep it as a empty block
[ ] in transaction edit 2nd rule to say "if onretry, committed and aborted blocks are empty, add an
empty line between braces"

expression.md

[ ] in record literal expression simply the 1st rule to say if empty keep it as an empty block
[ ] remove 2nd rule of the record literal expr
[ ] remove field section in record literal and merge the rules to record literal expr
[ ] 1st rule in the field section should be "In a record literal, fields can be arranged on a single line.
Then, add space after the comma and leave no spaces between braces and fields."
[ ] You can define the fields in new lines if so make sure all the fields are in a separate line and they
are block indented.
[ ] merge 2nd and 3rd rule of the record literal
[ ] remove the last rule of record literal
[ ] put a example for map literals (inline map and multiline map)
[ ] in tuple literal if it exceed the line limit move the whole tuple to a new line and indent with four
spaces relative to the parent
[ ] add how to handle function parameter line break
[ ] Bring function invocation section to the top of the expression.md
[ ] remove the first rule of function invocation
[ ] rule 3 should say "argument separating comma should only have a single space after the comma"
[ ] Order of linked titles should be "top level, operators, statements and expressions"
[ ] move the 4th rule of the function invocation to the operators
[ ] remove sub rules of the last rule of the function invo
[ ] In array literal make subrules of rule 1 to be new rules and remove 3rd subrule and merge 1 and 2
subrules.
[ ] fix "Exampole" spell in array literal
[ ] remove comma related rule from the subrule of the second rule and write second rule to be similar
to the function scenario
[ ] Fix "be be" in the type casting
[ ] Make the table literal formatting to be same as the record literal. just refer to the record literal

Operators.md

[ ] operator 1st rule should be a generic so bring it to readme.md. (keyword always should be
followed by a single space.)
[ ] remove 2nd rule and add dos and don't to the 1st rule modification
[ ] move rule 3 and 4 as a exception to the modified 1st rule
[ ]  "pipe should be surounded  by  single spaces if it is a union type"

Finalizing review part 1

[ ] Main description

Ballerina Style Guide aims at maintaining a standard coding style among Ballerina community.
Therefor Ballerina IDE plugins and tools follow this guide when providing code formatting and other features.
If you want you can follow your own coding style when writing Ballerina source code. And plugins and tools can be configured to match your coding style.

[ ] Change “Indentation and length of the lines” to “Indentation and line length”
[ ] Remove “Spacing” and rename “inline spacing” to “line spacing” and move both this and blank line as main titles
[ ] Add a simple example like a function and a vardef inside it and Add do and don’t to that  in inline spacing 1st rule
[ ] Add a note to Blank lines rule saying tools and plugins can be configured to change the number of min and max blank lines. Add a note to the indentation and line length section also.
[ ] Switch opening and closing rules in parentheses rule 1
[ ] Edit separator example of the line break rule 2 to match the rule
[ ] Simplify the rule 3 in line breaks section
[ ] Line break rule 6 .. sub-rules should start with capitals and simplify the subrule 2
[ ] Create a new page to include annotations, documentation, and comments and link it to the main page
[ ] Replace the unnecessary code with “…” in annotation rule 2 example
[ ] Change the rule 3 to say “Indent each annotation attribute (i.e., key-value pairs) should block indent on its own line.”
[ ] Last rule in Annotation - Change inline annotation to say “if you are annotating a parameter or a return the annotation should be added inline to parameter or return.”
[ ] Remove unnecessary example descriptions in last rule in the annotation
[ ] Top level first rule example shouldn't be more descriptive to see the difference.. Add a comment
[ ] Remove rule 2 in the Import section
[ ] Remove separation parentheses for the symbol in first and second rule in the function definition
[ ] Remove 2nd rule
[ ] Remove 3rd rule
[ ] Add symbol name in rule 4 of the function def
[ ] Remove 5th rule from function def
[ ] Change 1st rule of service def to say “Keep the listener inline to the service signature.”
[ ] Change rule 2 example replace unnecessary codes with …
[ ] 3 rule should be “When indenting function definition, resource definition, and field definitions inside service def should follow block guideline”.
[ ] Object def - merge rule 1 and 2
[ ] Add a rule saying “Init function should be defined first” in object def
[ ] Remove rule in spacing about union type pipe operator
[ ] Simplify the example in the 1st rule in the keywords and types
[ ] Add a proper example for the 2nd rule in the keywords and types
[ ] Change rule 1 of operators to keep spaces around =
[ ] Add example for rule 1 and 2 separately and remove int a= 0 from the example of rule 3
[ ] Remove 2nd rule of keywords and types

Finalizing Review Phase 2

[ ] Add a rule for Blocks in ReadMe.md to say block opening brace should be inline and spaced with single space. And add dos and don’ts.
[ ] In statements 1st rule of if def add dos and don’ts.
[ ] Remove 2nd and 3rd rule.
[ ] Simplify the match example string var def in the 4th rule.
[ ] In expression.MD function invocation 1st rule change “Do not keep spaces between the function name and opening parentheses (.”
[ ] Remove 2nd rule in function invocation.
[ ] Add dos and donts example for the record literal last rule.
[ ] Remove rule 7 in line break and move it to typecast example.
[ ] New rule import def should be sorted first by the org name then the alias and sorted alphabetically.

Doc review of the style guide is done in https://github.com/ballerina-platform/ballerina-lang/pull/16350.


Documentation Meta Issue

Beginning with the Wiki section on "What can CosmJS do fo me?" thought it would be good to keep track of various documentation topics that are currently missing or might be good to have somewhere. This issue can also be a place to include links to snippets of code that might already be available in various capacities.

[ ] Create various unsigned Cosmos Hub transactions?
[ ] Sign an unsigned transaction when I have a mnemonic phrase? (12 word? 24 word?)
[ ] Sign an unsigned transaction when I have a private key?
[ ] Submit a signed transaction to a Cosmos Hub endpoint?
[ ] Create a multi-sig signature on an unsigned transaction?
[ ] Query state from a Cosmos Hub module using the legacy REST endpoint?
[ ] Query state from a Cosmos Hub module using the gRPC endpoint?
[ ] Query state from a custom module using the legacy REST endpoint?
[ ] Query state from a custom module using the gRPC endpoint?

Would be great to see if some of this could be supported by aib as mentioned on a previous call.

cc @lukitsbrian @Tosch110


Monitor documentation missing targetPort property

Is your feature request related to a problem? Please describe.
Missing documentation for a property
Describe the solution you'd like
In the https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/3.32/refguide/schemaref/Monitor.schema.json.html?highlight=monitor page, the "targetPort" property is missing but shown in exemples in other documentation pages like https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/3.32/declarations/health-monitors.html.
Describe alternatives you've considered
na
Additional context
na

thanks @joseph-9924 i will have the tech writer fix this. Create Jira AUTOTOOL-3136 for PM tracking


Submit to Open VSX

This looks great! We use Gitpod, which means our VS Code extensions need to come from the Open VSX Registry. Any chance of publishing there as well?

Hi, thanks, will look into this.

Hi, I've published the extension to open-vsx.org. https://open-vsx.org/extension/davis-are/drupal-sdc-helper

Hi, I've published the extension to open-vsx.org. https://open-vsx.org/extension/davis-are/drupal-sdc-helper


chore: enable sourcemaps in CI

…so we don't have to decipher stack frames like packages/vite/dist/node/chunks/dep-366647c2.js:63014:17

I think we could still do a sourcemap build only for tests, but given this slows down the CI, I agree that we should probably hold back for now.
It could be worth checking later why the sourcemaps would make things slower. It might be Vitest using Vite that processes the sourcemaps.

Yes, maybe worth enabling to push us to check sourcemps perf. Let's hold for a bit more then. Alec, I'll close this one as we should use an env only affecting our tests. @dominikg something to think about, if we enable this later, would we want to also have it when bundling Vite in ecosystem-ci?


doc: add Mike Liu mikeliuu.com website

Portfolio Author
@mikeliuu

Portfolio Link?
mikeliuu.com

GitHub Link:
GitHub

Tech Stack
NextJS, TypeScript, Tailwind CSS, HTML, CSS, Vercel

Hey @mikeliuu Thanks for adding your portfolio. The image size is quite huge; please compress it using https://compressnow.com or another tool so that I can merge it.

@israelmitolu I updated the image size, thanks a lot!


Share memory between linked modules

I've tried to experiment with linking several wasm modules together (https://github.com/bytecodealliance/wasmtime/blob/master/examples/linking.rs). It works but it seems the memory isn't "shared". For instance it is impossible to send a string between modules. Am I missing something? Thanks!

WASI modules export their memory. They don't import it. This means that every WASI module has it's own memory that it gives access to others to. It never accesses memory of other modules.

It never accesses memory of other modules.

Is there any way to send data between different modules except "by value"?

You need to make all modules except for at most one import the memory instead of export. This means that you will have to use wasm32-unknown-unknown instead of wasm32-wasi and then use I think -Clink-arg=--import-memory to tell LLD to import the memory instead of export it.

have to use wasm32-unknown-unknown

but in this case the module wouldn't be able to use any system/wasi call.

Btw, what is the usecase of merging multiple wasms into a single instance?

Today it's somewhat difficult to set this up. Wasm modules today can have at most one memory, which means you can't natively, in wasm, copy between memories (since you can only reference at most up to one). This means that there's two ways you can set up modules which "share" a linear memory:

The host itself can copy between memories. On the host you can reference all the memories you want, but you'd have to implement the boilerplate of marshalling messages between modules. Eventually with interface types it's intended that the runtime can do this for you.

You can compile all wasm modules to import a memory, and then the host provides a single memory to each module. This is a form of "dynamic linking" in the wasm world, but AFAIK the support is somewhat limited here in toolchains. I believe it's technically possible to get things working but you're sort of on your own in the way of documentation, examples, etc.

I don't think you're currently missing anything about wasm, this is sort of just about how the state of toolchains are today. We're working to improve things with interface types, though, as well as the module linking proposal which will guide toolchains towards wasm modules which are easily linked together.

Is there any way to send data between different modules except "by value"?

Functions can only pass integers around at this time. With interface types you'll be able to pass richer types. Passing a pointer, however, will only work if the modules reference the same memory or know which memory the pointer is pointing to.

Btw, what is the usecase of merging multiple wasms into a single instance? Does this feature has any limitations?

Wasmtime doesn't do this and this sounds like more of a toolchain question? There's various reasons you might want to do this but why is this question coming up? Do you have a use case in mind you'd like to game out?

We're working to improve things with interface types

Interface types are are defined by IDL (WebIDL), correct?

A previous iteration of the proposal worked with WebIDL but they are no longer based on WebIDL (although there will be a definition of a translation from WebIDL to interface types). Currently interface types are not implemented in Wasmtime.

A previous iteration of the proposal worked with WebIDL

That's interesting! What the new iteration is based on?

That's interesting! What the new iteration is based on?

The most important part is the encoding in the binary and text formats for WebAssembly itself, as described in the explainer. See also the section on WebIDL integration in that explainer.
In the explainer, you can see snippets that include extensions to the wat text format. I've seen people call this wit, and WASI uses an extended form of it, called witx. Developer tools will probably use something along these lines to define interfaces, as described by @radu-matei in a recent blog post.

Will wasmtime support "dynamic linking" (https://webassembly.org/docs/dynamic-linking) in the future?

Wasmtime should "support" that today actually, in the sense that the dynamic linking as proposed there is purely an embedder construct building on core wasm building blocks. AFAIK C/Emscripten have at least basic support for that style of linking but I don't think that it's super widely used at this time. The module linking proposal may become a new foundation for dynamic linking.
In any case Wasmtime will support dynamic linking of wasm modules, it's mostly just a question of how exactly that will look like in the ecosystem.

Wasmtime should "support" that today actually

could you point out some example of dynamic linking. I don't see dlopen implemented by WT.

I don't currently know of any examples of dlopen and/or that scheme of dynamic linking. I believe it's mostly just a description of how it could work rather than a working system. The purpose of that explanation, however, is how it can be built on the MVP of wasm and doesn't need runtime support, so for that scheme of dynamic linking you won't find it in Wasmtime.

Thanks for the reply.
I managed to import the same memory for both modules and this looks "almost" to work if I don't mess too much with the memory allocation :D
There is no way to tell a module to use the allocator from another module?
Like this is not very useful linking modules for my project :disappointed:

There is no way to tell a module to use the allocator from another module?

Maybe if you only link a single wasm module against the allocator and then let the other link against the allocator functions of the first? As for how to achieve this, I have no idea.

Hi there. I'm interested as well :)
Preamble:

I have a two modules, A and B, and I like to use B as a shared library.
A is tiny and contains only the code that implements the application business logic.
B is huge and contains all the std library functions and utilities

In particular, I'm trying to:

share the memory between two modules => DONE

call a function of module A from module B => DONE

prevent A from statically link the std library stuff, eg. allocator code => NOT DONE (how we can do that?)

prevent that an allocation in module A clash with an allocation in module B => NOT DOVE (I suppose that can be resolved by the point 3 by letting B using the allocator in A.

Any ideas?
Thanks for you awesome work, David

It seems that there is a tool convention for dynamic libraries1, but it is a work in progress and requires either using emscripten, which only runs on the web, or parsing a "dylink" section when loading to determine which dynamic libraries to load and then some additional code to actually link them. 2 gives some more information on how to make it work. At the time of writing of that article there were a couple of bugs in LLVM and lld. I don't know if they are all fixed yet.

I'm going to close this since this issue is quite old at this point and in general the problems here are toolchain-related rather than Wasmtime related.


ref: Refactor DomainList component to separate API calls from Domain view

The refactoring of the specified component may require to rename said component, since it will transition to perform an action. Instead of being called "DomainList", it would be referred to as "ListDomain".


Cannot issue Dcn-NewClone command when running powershell in admin

Current set up:
Running from source using the debug script found here: https://github.com/sqlcollaborative/dbaclone/issues/138#issuecomment-921797360
I am attempting to run Dcn-NewClone from my local machine, to create a clone on a remote sql host. The SQL host has dbaclone installed already and we utilize it, but we have to remote in to issue the commands directly.
When running the following command locally, I get a bunch of errors:
new-dcnclone -database keylime -latestimage -clonename keylime_new -sqlinstance whsqldev01 -destination z:\sql_clones
Join-Path : Cannot find drive. A drive with the name 'z' does not exist.
At C:\Program Files\WindowsPowerShell\Modules\PSFramework\1.6.205\PSFramework.psm1:11474 char:21
+ ... $resultingPath = Join-Path -Path $resultingPath -ChildPath $childItem
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (z:String) [Join-Path], DriveNotFoundException
    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.JoinPathCommand

Cannot bind argument to parameter 'Path' because it is an empty string.
    + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
    + PSComputerName        : WHSQLDEV01

Cannot bind argument to parameter 'Path' because it is an empty string.
    + CategoryInfo          : InvalidData: (:) [New-Item], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.NewItemCommand
    + PSComputerName        : WHSQLDEV01

Join-Path : Cannot find drive. A drive with the name 'z' does not exist.
At C:\Program Files\WindowsPowerShell\Modules\PSFramework\1.6.205\PSFramework.psm1:11474 char:21
+ ... $resultingPath = Join-Path -Path $resultingPath -ChildPath $childItem
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (z:String) [Join-Path], DriveNotFoundException
    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.JoinPathCommand

Cannot bind argument to parameter 'Path' because it is an empty string.
    + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
    + PSComputerName        : WHSQLDEV01

The term 'New-VHD' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
    + CategoryInfo          : ObjectNotFound: (New-VHD:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    + PSComputerName        : WHSQLDEV01

z:\sql_clones exists on the SQL host, and the same command works when issued on that host.
I've tracked it down to the following line in Dcn-NewClone:
$accessPath = Join-PSFPath -Path $Destination -Child $mountDirectory
Join-PSFPath does not seem to work correctly when running in admin (which the script forces  you to do). It seems to check to make sure that the drive exists on the local machine instead of just... well, doing it's job and concatenating into a path.
I know Join-PSFPath isn't part of this project, but I'm wondering if there's an alternative that should be used for instances like this.
A workaround (untested, will check soon) may be to symlink z drive onto a drive that is shared by both local machine and host (ofc, this would be c drive), but this is ofc hacky.

Looks like [System.IO.Path]::Combine($Destination,$mountDirectory) would work, I'll make a PR, however I don't know how prevalent it is. I'll keep poking around as I test things

Instead we can also use Join-Path if Join-PSFPath is a problem

 Join-Path had the same issues. Seems ridiculous to me, but it is what it is. This is the reason I use Combine as it doesn't validate the existence of a drive


obj instanceof stamp

My colleagues complain that they cannot ducktype objects. One of them really insisted on the syntax:
var Stamp = stampit(bla, bla, bla);

// Somewhere deep inside the app
obj = Stamp(ble, ble, ble);
if (obj instanceof Stamp) {
 // true
}

I implemented it. This would works too.
obj = new Stamp(ble, ble, ble);
if (obj instanceof Stamp) {
 // true
}

This is easily achievable without breaking the existing API and without performance penalties. I actually already implemented this on my machine.
Sounds like good feature?

Here are the changes. Please, take a look at the three new unit tests.
https://github.com/ericelliott/stampit/compare/v2_0...instanceof
All the tests pass.

Don't trust instanceof in JavaScript. It does not do what the name implies that it does. It does not work across execution contexts. It doesn't work if the fn.prototype property gets changed after the object was instantiated. Basically, it's a completely broken concept in JS. It doesn't remotely make the guarantees that Java people expect it to make.
Never require new (or suggest it, or imply that consumers can use it).
http://ericleads.com/2013/01/javascript-constructor-functions-vs-factory-functions/
http://ericleads.com/2012/09/stop-using-constructor-functions-in-javascript/
https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3

I appreciate the effort and enthusiasm, but I'm not going to encourage users to make mistakes.

I see.
Any recommendations on how to ducktype objects made by particular stamp?

Yeah. Ducktype. Checking instanceof is the opposite of ducktyping.
Ducktyping means that you check the object instance, and if it has the stuff you expect to have, you just assume it's a compatible type and use it.

Found a reference to this on gitter and I am just curious if duck typing is sort of a same thing as type checking? I mean there things like flow-runtime which can turn static types to runtime checks.

Looking at the amount of code flow-runtime has and at the the code example it's probably implemented somehow different to just instanceof proposed above.

I don't care about instanceof, I agree with @ericelliott that it's misleading. The flow-runtime just turns static typings into runtime code.
const MyStamp = methods({
    convert(input: string): number {
        return Number(input)
    }
})
...
function myFunctionExpectingStamp(obj: { convert: (string) => number }) {
    // everything is cool, the `obj.convert` is what we need
}

You can try here what is produced: https://codemix.github.io/flow-runtime/#/try

Flow mostly relies on structural type checks, which is like automatic duck typing. I think Flow uses nominal checks in some situations, which is bad and not like duck typing. TypeScript uses all structural checks, AFAIK.

Flow uses structural typing for objects and functions, but nominal typing for classes.
https://flow.org/en/docs/lang/nominal-structural/

These are new terms for me :)
Anyway in the example above it's clearly a structural check, so it can be considered same thing as duck typing. From my understand the duck typing is something like this, right ?
function myFunctionExpectingStamp(obj) {
    if (!(obj && typeof obj.convert === 'function') {
        throw new Error('missing convert method');
    }
}

With static typing it looks much more clean, readable and reusable in my opinion. So my question could be: "Is duck typing obsolete?"


Fix for WFCORE-3074, replaced Path matching

Replaced Filesystem based matching with PathAddress/PathElement based matching.
Added unit test for path matching. Added unit test to cover the case that was failing with Filesystem based matching (with a possible provider address's value containing a ":" character).

take into account multiTargets when matching, updated javadoc, removed stream usage.


Releasing to maven repository

Hi! For easier development i am trying to release the Build to Maven repository.
I will also update the Documentation about Build & Install some time in the future.
Ticket for requesting a repo at sonatype: https://issues.sonatype.org/browse/OSSRH-28498
I added @nkolban and @sovcik  to the developers in metadata of the parent pom.xml.
If i can do something else, please tell me!
Thank you very much for developing this project so far!

PS: Due to currently working on master, i cannot guarantee a working base each second, but you may checkout https://github.com/computerlyrik/jpigpio/tree/8757603b34168f5fa677da7946eddb84d48be627 and type in mvn clean package after installing maven (and java jdk8).
All relevant Files should be outputted inside the target/ Folder (.h .so and .jar).
I would be happy if you test this on your raspberry pi!

I am no longer actively maintaining this project ... would you like to take ownership?

@nkolban I can try keeping it alive :-) For my own selfish reasons :-) So, unless @computerlyrik is not willing to take ownership, then I can.

Can I ask you @sovcik to chat with @computerlyrik and sort out between you who wants it?  From there we'll transfer ownership.

@sovcik You took ownership? Thank you! :)

I don't think so ... once ownership is decided ... the repository will move to under the new owners domain in Github.

@computerlyrik, as I said, if you do not want to take over, then I can try maintaining it further. So, would you like to maintain or shall I?
I'm no Java professional - only started with Java some year ago, so I might be not the most competent :-)
But the fact is, that I'm using this library in one of my live projects, so I've got real interest in keeping it alive.

@sovcik I am still not sure, wether this lib makes it into one of my projects. Still in progress.
I think you are more destined to take over the project.
And i do not have the time to maintain this project accordingly.
I feel glad if i can just present some pull requests to you for possible integrations :)

@computerlyrik OK, understand.
@nkolban Neil, if it is fine for you, then I can take over. J

@sovcik Perfect ... let us now study on what it takes to "move" a repository

@computerlyrik will you still attempt to release this to a maven repo?

tl;dr: No.
Long version:
@Xeli Since recently, i think it is the project maintainer who controls, which release, features etc. gets published. I may help @sovcik with release process if needed. Templates are available.
Personally, i am still investigating possible bugs in GPIO and Java-OSGI and trying to concentrate to solve these. As soon as possible i will step in with a helping hand.

@computerlyrik that's a shame, but I understand it's better if the project maintainer has control over the maven repo.
I used your pom.xml's for compiling jpigpio though, perhaps you could add it to this repo for future use?

Hi there!
Something new?

I have published this library (or more specifically my fork) to the maven central repo: https://mvnrepository.com/artifact/eu.xeli/jpigpio_2.12
It does not contain the native api and uses the namespace eu.xeli.jpigpio but otherwise is identical to this library.

FYI I've developed something similar that supports both local and remote socket access using pigpio, see https://github.com/mattjlewis/pigpioj
I am actively developing this as part of my diozero Java library at https://github.com/mattjlewis/diozero.
Matt

Matt,
New users should most likely go with your project.  Great stuff.


Not able to use it with my app icon.

Error:Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute application@icon value=(@mipmap/sample_app_icon) from AndroidManifest.xml:9:9-47
is also present at [com.github.kibotu:android-utils:1.0.0] AndroidManifest.xml:23:9-45 value=(@drawable/ic_launcher).
Suggestion: add 'tools:replace="android:icon"' to  element at AndroidManifest.xml:6:5-20:19 to override.

add 'tools:replace="android:icon"' to element at AndroidManifest.xml:6:5-20:19 to override.


converting reference entries to bibtex files

Before you start, read CONTRIBUTING.md and the guide for diagnostic developers.
Please discuss your idea with the development team before getting started, to avoid disappointment later. The way to do this is to open a new issue on GitHub. If you are planning to modify an existing functionality, please discuss it with the original author(s) by tagging them in the issue.

Tasks

[x] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[ ] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[ ] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[ ] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[ ] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[ ] Please use yamllint to check that your YAML files do not contain mistakes
[ ] (Only if really necessary) Add any additional dependencies needed for the diagnostic script to setup.py, esmvaltool/install/R/r_requirements.txt or esmvaltool/install/Julia/julia_requirements.txt (depending on the language of your script) and also to meta.yaml for conda dependencies (includes Python and others, but not R/Julia)
[ ] If new dependencies are introduced, check that the license is compatible with Apache2.0

New recipe/diagnostic

[ ] Add documentation for the recipe to the doc/sphinx/source/recipes folder and add a new entry to index.rst
[ ] Add provenance information

Modified recipe/diagnostic

[ ] Update documentation for the recipe to the doc/sphinx/source/recipes folder
[ ] Update provenance information if needed
[ ] Assign the author(s) of the affected recipe(s) as reviewer(s)

New data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Add the new dataset to the table in the documentation
[ ] Tag @mattiarighi in this pull request, so that the new dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

Modified data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Tag @mattiarighi in this pull request, so that the updated dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

If you need help with any of the tasks above, please do not hesitate to ask by commenting in the issue or pull request.

Closes (It is related to https://github.com/ESMValGroup/ESMValCore/issues/91)

A few bibtex snippet are not correctly formatted.
Some of them may not be available on doi2bib and needs to be generated manually.
I can have a look tomorrow at the ones I used for my paper and add them.

A few bibtex snippets are not correctly formatted.
Some of them may not be available on doi2bib and needs to be generated manually.
I can have a look tomorrow at the ones I used for my paper and add them.

@mattiarighi thanks a lot. For references with doi information in config-reference.yml, the bibtex entries are retrieved using doi2bib. However, some references are without doi, like emmons00jgr . It is not possible to split them to bibtex entries because they don't follow the template [Last name] et al., [journal abbr.], doi:[doi], [year]. please see my comment here ESMValGroup/ESMValCore#91 (comment)

Would it be possible to add those references manually?
There are quite many entries without a doi (reports, etc.).
The problem is that having a @article entry with only title would not work in a Latex document.

Would it be possible to add those references manually?
There are quite many entries without a doi (reports, etc.).
The problem is that having a @article entry with only title would not work in a Latex document.

@mattiarighi thanks. I added the missing dois. For entries without a doi, the bibtex is made manually. If you think that the tag list is now final, please let me know. Then, I can update the tags in the recipes that use those tags.

Thank you!
I've spotted two more typos, I'm adding the comments...

I can't add the comment since the line has not been changed, but taylor12 should be taylor12nature.

I can't add the comment since the line has not been changed, but taylor12 should be taylor12nature.

Thanks, Done.

Thank you for this nice addition!
If you could solve the conflicts it is ready to go.
The reference list in config-references.yml still has some minor formatting inconsistencies, it would be good to stick to:
[first author] et al., [journal abbreviation], doi:[doi], [year]

But we can also fix this in another PR.

The recipes should be updated with the new reference tag names (see failing tests).

Some of the diagnostic scripts might also be affected.

Thank you for this nice addition!
If you could solve the conflicts it is ready to go.
The reference list in config-references.yml still has some minor formatting inconsistencies, it would be good to stick to:
[first author] et al., [journal abbreviation], doi:[doi], [year]

But we can also fix this in another PR.

I fixed this template for the entries with doi. However, for those without a doi, we need to make another template. As you suggested, it can be fixed in another PR.

Some of the diagnostic scripts might also be affected.

Done.

The recipes should be updated with the new reference tag names (see failing tests).

Done.

I fixed this template for the entries with doi. However, for those without a doi, we need to make another template. As you suggested, it can be fixed in another PR.

Please open an issue (or the new PR), so that we won't forget.

I fixed this template for the entries with doi. However, for those without a doi, we need to make another template. As you suggested, it can be fixed in another PR.

Please open an issue (or the new PR), so that we won't forget.

I made the issue: https://github.com/ESMValGroup/ESMValTool/issues/1513


"Unable to retrieve routing table" error in single instance mode

Neo4j version: Community 5.12.0
Neo4j Mode: Single instance
Driver version: Go driver 5.12.0
Operating system: Debian 11, baremetal server (Ryzen 7700, 64Gb RAM, SSD)

I have a modest database with just 226 nodes and 322 relationships. Most of the time my queries work fine, but sometimes, with the difference in just using different parameter values, hang up and I see the following error in my log:
TransactionExecutionLimit: timeout (exceeded max retry time: 10s) after 5 attempts, last error: ConnectivityError: Unable to retrieve routing table from localhost:7687: context deadline exceeded
On the 5.10.0 driver version it looked like this (I want this version go to search index as well):
error error could not acquire router lock in time when invalidating reader occurred after previous error could not acquire server lock in time when cleaning up pool occurred after previous error could not acquire router lock in time when getting routing table
Actually, usually it happens rarely and sporadically, but recently I hit a query (or rather it's parameters) which trigger it 100% of the time.
As far as Googling goes, I found "routing table" term referring only to the cluster configurations, so I'm confused.
Relevant settings in my app config:
connect_timeout = "2000ms"
max_connection_lifetime = "5m"
max_connection_pool_size = 100
connection_acquisition_timeout = "2000ms"
max_transaction_retry_time = "10s"
query_timeout = "3s"
transaction_timeout = "5s"

And settings I've changed in the neo4j config:
server.memory.heap.initial_size=16g
server.memory.heap.max_size=16g
server.memory.pagecache.size=16g

Other than Neo4j, that server has PostgreSQL and Redis, both similarly memory constrained, and as you might imagine from my DB size, the app that uses all of this has nearly 0 load. It's an early development prototype.
I don't think there is a point in publishing my query without my full database, but if it is required, let me know, I'll try to do both.

Also seeing similar behavior using Neo4j Aura.

The team will into the issue ASAP.
For clarification, the driver will always a routing table when the neo4j:// scheme is used, even against single instances (since Neo4j 4.0).

Thanks @fbiville ... to give a-bit of an update.
It turns out that in my case at least my request the deadline (supplied when calling via http) had been exceeded the driver was called and session was being created.
Changing my code so that no time out was present removed this issue for me... I then went and fixed the root cause of the high latency and I'm back to working okay.
So my gut feeling might be that the error might be confusing for the end user?
Thought I would add some context if it helps.

@skaurus did you manage to resolve your issue in the meantime?
If not, it'd be really helpful if you could provide driver debug and bolt logs so that we can see what the driver is doing before the failure. To achieve this, simply configure a ConsoleLogger when creating the driver and a ConsoleBoltLogger for every session you create (or with ExecuteQuery, if you're using that API).

Hey @robsdedude!
I stopped working on this project, so I don't know... I think I remedied it back then by increasing timeouts and rewriting my queries a bit, don't remember if that fixed the problem completely or just made it much more likely.
Probably the issue can be closed then?

Yep, I'll close it. Thanks for reaching out @skaurus


Explain task_level structure in docs on Actions and Tasks

The Action and Tasks document introduces the concepts that provide eliot with a tree structure (i.e. actions), but doesn't illustrate that tree structure. To get an illustration, you have to follow the link to the Message Fields in Depth. As a newcomer, it's easy to think that a document with "in depth" in the title isn't for you.
The next document after Actions and Tasks is about Logging Across Processes and Threads. That document assumes that you know what task levels are and how to read them.
#178 would mitigate this a little.

OK, PR up for review, let me know what you think.


Add stats to calculate the embedding quality

Below little code to implement inside LPhant\Embeddings\Distances\CosineDistance or new Class called Statistics for example
Same thing can be done for Euclidean.
Let me know what do you think ?
`
  /**
   * Calculates the mean (average) of the values in the given array.
   *
   * @param array $values The array of values to calculate the mean for.
   * @return float The mean of the values.
   * @throws \InvalidArgumentException If the input array is empty.
   */
  public function calculateMean(array $values)
  {
    return array_sum($values) / count($values);
  }

  /**
   * Calculates the variance of the values in the given array.
   *
   * @param array $values The array of values to calculate the variance for.
   * @return float The variance of the values.
   * @throws \InvalidArgumentException If the input array is empty.
   */
  public function calculateVariance(array $values): float
  {
    $mean = $this->calculateMean($values);
    $sum_of_squared_diff = 0;

    foreach ($values as $value) {
      $sum_of_squared_diff += pow($value - $mean, 2);
    }

    if (empty($values)) {
      throw new \InvalidArgumentException('The array should not be empty.');
    }

    return $sum_of_squared_diff / count($values);
  }

  /**
   * Calculates the standard deviation of the values in the given array.
   *
   * @param array $values The array of values to calculate the standard deviation for.
   * @return float The standard deviation of the values.
   * @throws \InvalidArgumentException If the input array is empty.
   */
  public function calculateStandardDeviation(array $values): float
  {
    $variance = $this->calculateVariance($values);

    if (empty($values)) {
      throw new \InvalidArgumentException('The array should not be empty.');
    }

    return sqrt($variance);
  }
`

    test
 $values = [1, 2, 3, 4, 5];
echo "Mean: " . $this->calculateMean($values) . "\n";
echo "Variance: " . $this->calculateVariance($values) . "\n";
echo "Standard Deviation: " . $this->calculateStandardDeviation($values) . "\n";

@ClicShopping What is the use case for these methods?
Please note that this is not a critic to your suggestion, I just want to have a better understanding of the problem.

The goal is to understand the quality of embedding. The value is not so big but can be interesting if you think your embedding is suspect. Just a proposition.

@ClicShopping you want to compare two vectors from the same text?
Assessing the quality of an embeddings model is really interesting, I guess there are other project dedicated to that complex problem. There are open source evaluation like leaderboard on HF: https://huggingface.co/spaces/mteb/leaderboard.
It should be on a dedicated project because it's very special.


Added support for JUL

Handles #11
Adds a new setting to the filter config to load a logger handler. Will attempt to load SLF's JUL bridge as well if no handler is specified. Finally, if all else fails, it will switch to Java's ConsoleHandler.

@leleuj please review. Would like to cut a maintenance release after this change.

So, everything ok with this one then? Eager to cut a release.

+1


add metrics grafana dashboard usage to README.md

add metrics grafana dashboard usage to README.md

I think it's better to provide a Kubernetes-based example:

The manifests for deploying this example on Kubernetes.
The introduction of how to deploy Grafana and Prometheus on Kubernetes(something that can be shared with samples on apache/dubbo-samples).


Uncaught Error: Patch does not apply in files with DOS line endings on Linux

Description
As discussed in this comment on #15827...
The issue is an uncaught GitError when attempting to stage a hunk in a file. In particular, I have narrowed the issue down to a problem with DOS line endings in an Linux environment.
Steps to Reproduce
Start by setting up a git repository:
mkdir testproject && cd testproject && git init

Add a file with multiple lines & commit it:
echo -e "The first line\nAnother line\nAnd one more line\n" >README.md && git add README.md  && git commit -m "initial commit"

Open atom and open the testproject folder, then open the README.md file.
First, we'll show the correct behaviour:
Insert a new line somewhere in the middle of the file.
Open the Git Tab and click on README.md in the "Unstaged Changes" window.
Click "Stage Hunk" for the hunk containing the new line.
The change is staged and README.md moves to the "Staged Changes" tab, ready to be committed. This is the expected behaviour.
Reset the repository with
git reset --hard HEAD

Now for the incorrect behaviour:
Convert the line endings in README.md to DOS line endings & commit the change:
sed -i "s/$/\r/" README.md && git commit -am "change to DOS line endings"

Insert a new line somewhere in the middle of the README.md.
Open the Git Tab and click on README.md in the "Unstaged Changes" window.
Click "Stage Hunk" for the hunk containing the new line.
The change is not staged and the console displays an uncaught GitError with the following message:
Uncaught (in promise) GitError: git -c color.ui=false -c color.status=false -c color.showBranch=false -c color.diff=false -c color.branch=false apply --cached - in /home/kryten/dev/testproject exited with code 1
stdout:
stderr: error: patch failed: README.md:1
error: README.md: patch does not apply

    at new GitError (/usr/share/atom/resources/app/node_modules/github/lib/git-shell-out-strategy.js:104:24)
    at /usr/share/atom/resources/app/node_modules/github/lib/git-shell-out-strategy.js:372:33
    at Generator.next (<anonymous>)
    at step (/usr/share/atom/resources/app/node_modules/github/lib/git-shell-out-strategy.js:92:197)
    at /usr/share/atom/resources/app/node_modules/github/lib/git-shell-out-strategy.js:92:367
    at <anonymous>

This problem occurs every time when attempting to edit a file with DOS line endings in a Linux environment. It also occurs when running atom --safe, which suggests that it's a core package causing the problem.
This comment suggests that the issue is related to a package which "modifies the editor text outside of 'the normal flow' (keystrokes)" (which seems like a plausible explanation).
Versions
Ubuntu 18.04 (a fresh install, just done last week)
Atom --version
Atom    : 1.26.1
Electron: 1.7.11
Chrome  : 58.0.3029.110
Node    : 7.9.0

apm --version
apm  1.19.0
npm  3.10.10
node 6.9.5 x64
atom 1.26.1
python 2.7.15rc1
git 2.17.0

The following community packages are installed:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

/move to atom/github


Added class based version of Transformer

#187

This kind of refactor might be appropriate for a minor version increment instead of a patch. Thoughts on 2.1.0 for this change?

Yes, I agree.  I'll go ahead and release 2.0.2 today.

@jswhit if the tests pass & you are happy with the changes, it should be good to merge in.

Looks great to me!  How about a version bump to 2.1.0 and an entry in history.rst?
After I merge this I'll do the repo move to pyproj4.

Sounds good. I will do that this evening 👍

Should I rebuild the docs as well?

Sure

Should be good to go now.

Thanks @snowman2 - this is really nice.

Glad you like it.


Return All Genres?

Hi Jonathan - I hope you're well.
I wondered if your Spotify Web API code has any provision to return all Genres?
I have used this:
$api->getGenreSeeds();
But the full list of Genres returned by e.g. https://discoverquickly.com/ (which I think also uses the Spotify API) is much larger - screenshot extract here:
https://snipboard.io/KekrMI.jpg
Full extract list also attached in text file.
full-genre-list.txt
Thanks!
Jim

Hey Jim!
I don't think there's an Spotify API endpoint to fetch the genres. But your question got me intrigued so I did some digging on https://discoverquickly.com/ and it looks like they're getting their data from https://everynoise.com/ (a request to https://discoverquickly.com/static/media/everynoise-genres.3d03bd3b.csv is made everytime you view the Genres page)
Hope this is of some help!
Cheers,
Jonathan

Hi Jonathan - thanks for your quick reply!
That's very interesting about the CSV file that contains the list of genres.
Out of interest - how were you able to confirm that discoverquickly's "Genres" link extracts the data from that CSV file?
I tried a View Source, and an Inspect Element, and also checked on the browser Console for the XHR request when the Genres link is clicked but couldn't see the CSV bit.
Was curious what method(s) you used to find that?
Thanks again
Jim

I tried the same methods you did, without any luck. Then I saw the small "reload" icon on the genres page, clicking that I found a request for the CSV file in the browser's network tab 😄

Thanks Jonathan - that's very useful to know!
Thanks again for your help
Jim


No results when I query anything

I installed by doing:
go get -u github.com/ciehanski/libgen-cli
go install github.com/ciehanski/libgen-cli

Then, running the example results in:
./libgen-cli search kubernetes
++ Searching for: kubernetes

No results found.

So I was playing around with this today and realized that there are times when the Search query will return with the page still loading and thus no results are present.
It's a very intermittent error but I was able to catch it in the debugger with this screenshot.

Is this still maintained? I'll try to submit a PR but would like the author to confirm that they will review it.

Some of the mirrors just need to be updated. Made a PR here, can also just clone the fork and run it yourself if you still need it.
https://github.com/ciehanski/libgen-cli/pull/59
Note, I haven't checked the download mirrors yet but will follow up here if they are dead.

Thank you for reporting this. Could you try release v1.0.8 and report back if you are successful or not? I updated the search and download mirrors and some of the functions to determine if a mirror is operational or not which should lead to some better results for you as it has in my testing.

Hi @blakat360 please try release v1.0.11 and re-open this issue if this is ongoing. Thanks!


fix(dashboard): enable toggle when settings are filled in

Fixes #1526.

Codecov Report

Merging #1531 (31abbe5) into main (268b461) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1531   +/-   ##
=======================================
  Coverage   85.97%   85.97%
=======================================
  Files          83       83
  Lines        9236     9236
  Branches      516      516
=======================================
  Hits         7941     7941
  Misses       1295     1295

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


zstd-sys for wasm32-unknown-unknown is broken

zstd-sys version is 2.0.10 and error.
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit code: 101
  full command: "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"

I set
zstd-sys = "=2.0.9"

and build successed.

Thanks @oligamiq . I just ran into this today too via https://github.com/vectordotdev/vector/issues/20325#issuecomment-2076045810


Add testdata for 1.20, 1.21 and 1.22

Built on top of #269.
This PR adds integration test data for newer versions, namely 1.20, 1.21 and 1.21.

Closing this as @paologallinaharbur will take care of generating static data for all versions.


provide examples for current use cases based on terraform

zdbs
machines

multiple machines on the same node
multiple machines on multiple nodes
with disks

can find them in more examples here
https://github.com/threefoldtech/TFGRID/blob/development/wiki/zos_specs/grid_terraform.md#more-examples


fix bug in krun frontend

Fixes #946

An easy way to make sure we have a top cell in the configuration is to make the start symbol Cell.
Maybe the error message is not going to be as pretty, but it's going to work and point exactly to the problem area.

Please add the example in the linked issue as a regression test.


question about the function shift

Steps to reproduce
iex(4)> {:ok, dt} = Timex.parse("2017-08-31 21:50:49.000000Z", "{ISO:Extended}")
{:ok, #DateTime<2017-08-31 21:50:49.000000Z>}
iex(5)> dt2 = Timex.shift(dt, months: 1)
#DateTime<2017-10-01 21:50:49.000000Z>
iex(10)> Timex.shift(dt2, months: -1)
#DateTime<2017-09-01 21:50:49.000000Z>

Description of issue

What are the expected results?
2017-09-30 21:50:49

maybe I misunderstand how the shift should work, but why the result is 2017-10-01 21:50:49, not 2017-09-30 21:50:49?

I noticed the same thing and raised issue https://github.com/bitwalker/timex/issues/360
I have submitted a PR to resolve it.  Hopefully it will get merged.
In the meantime, I believe you will get the result you expect if you use a Native Date structure instead of DateTime.

Closed via #360


Torch module not found

Hi!
I keep getting the '' module not found : torch '' error.
However Pytorch 2,2 is well installed in my system python folder. I'm wondering if I have to install pytorch in the blender python folder but I don't know how to do that.
Windows 10,
Python 3.11
Blender 4.0 (portable zip version)

I have the same problem as you


Using a !If on and Event Timer for Enabled is always True

SEE ALSO in aws-sam-cli https://github.com/awslabs/aws-sam-cli/issues/2150

Description
I have a Condition in my SAM Template to check the ENV Parameter it True.  I am trying to pass that into a Timer Event to either be true or false under Enabled.  It always sends it as true. Setting that value to either true or false works as expected, but using Enabled: !If [ProdEnv, "false", "false"] or Enabled: !If [ProdEnv, "true", "false"] always sets it to true and enabled.
Steps to reproduce
SAM CLI, version 1.0.0
snipped template:
<SNIP>
Parameters:
  ENV:
    Type: String
    Default: prod
    AllowedValues:
      - prod
      - stage
  ProdDbKMSKeyID:
    Type: "AWS::SSM::Parameter::Value<String>"
    Default: "/db/prod/KMSKeyID"
  NonProdKMSKeyID:
    Type: "AWS::SSM::Parameter::Value<String>"
    Default: "/db/nonprod/KMSKeyID"
  VendorsKMSKeyID:
    Type: "AWS::SSM::Parameter::Value<String>"
    Default: "/vendors-prod-lambda/KMSKeyID"

Conditions:
  ProdEnv: !Equals [!Ref ENV, prod]
 Environment:
        Variables:
          app_env: !Ref ENV
          dbhost: !Sub "{{resolve:ssm:/db/${ENV}/edw/hostname:1}}"
          dbuser: !Sub "{{resolve:ssm:/db/${ENV}/edw/lambda_user:1}}"
          dbname: !Sub "{{resolve:ssm:/db/${ENV}/edw/dbname:1}}"
          <SNIP>
      VpcConfig:
        SecurityGroupIds:
          - <removed>
        SubnetIds:
          - <removed>
          - <removed>
      Events:
        Timer:
          Type: Schedule
          Properties:
            Schedule: cron(00 16 ? * MON,WED *)
            Description: sFTP
            Enabled: !If [ProdEnv, true, false]
      Policies:
        - AWSLambdaExecute
        - VPCAccessPolicy: {}
        - KMSDecryptPolicy:
            KeyId: !If [ProdEnv, !Ref ProdDbKMSKeyID, !Ref NonProdKMSKeyID]
        - KMSDecryptPolicy:
            KeyId: !Ref VendorsKMSKeyID
<SNIP>

Observed result
The ENV is set to be stage, other !If work as expected above however the Timer is set to be Enabled.
Now if I skip the !If and just pass a true or false to Enabled it works as expected.  So I am not sure if this is just not supported for the Timer or if there is a problem with the transform.
Expected result
I expected the Timer to have been set to false.
      Events:
        Timer:
          Type: Schedule
          Properties:
            Schedule: cron(00 16 ? * MON,WED *)
            Description: sFTP
            Enabled: !If [ProdEnv, true, false]

Also tried a !Ref ProdEnv to see if that would pass the True/False it was also always True.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: macOS 10.15.6
sam --version: 1.0.0

Add --debug flag to command you are running

This is a duplicate of #1329.
Closing


Vim plugin can use Windows filepaths with spaces

This is an update on my previous PR for Vim plugin on Windows #785.
This PR enables terminal Vim and Gvim to run fzf on filepaths with spaces.
It uses noshellslash on both s:cmd() and fzf#run()  for strict filename expansion on both.
It ensures that shellescape() works as expected for fzf.
For the launcher, the fzf command is double-quoted for cmd.exe.
Tested on Windows 8.1, (g)vim 8, and Con Emu + Powershell (to run terminal vim).

Thanks for the follow-up. Can you elaborate on the reasoning behind the changes?
A few questions:

You added set shellslash in the previous PR, but changed it to noshellslash here. Can you tell me why?
Does let escaped = '"'.(escaped).'"' work when escaped contains double-quote characters?
Do we need temporary switching of shellslash in s:cmd when it's already handled in fzf#run()?

It would be much helpful if you can give some examples, such as steps to verify the correctness of the implementation. Thanks.

Thanks for the follow-up. Can you elaborate on the reasoning behind the changes?
A few questions:

You added set shellslash in the previous PR, but changed it to noshellslash here. Can you tell me why?
Does let escaped = '"'.(escaped).'"' work when escaped contains double-quote characters?
Do we need temporary switching of shellslash in s:cmd when it's already handled in fzf#run()?

It would be much helpful if you can give some examples, such as steps to verify the correctness of the implementation. Thanks.

We need noshellslash in s:cmd and fzf#run for consistency on shell escaping.
I use shellslash in my vim config so shellescape() behaved the same in fzf#run and s:cmd() but
noshellslash is default even on Windows Vim.
Having temporary switches of shellslash  in s:cmd and fzf#run guarantees the behaviour.
Examples:

C:/  (working directory, set shellslash)

[X] FZF
[X] FZF Program\ Files/
[ ] FZF 'Program\ Files/'
[ ] FZF "Program\ Files/"

C:/ Program\ Files/ (working directory, set shellslash)

[X] FZF
[X] FZF C:/Program\ Files/
[ ] FZF 'C:/Program\ Files/'
[ ] FZF "C:/Program\ Files/"

noshellslash forces double-quoting shell arguments such that cmd.exe can read it
In this PR, If escaped contains double-quote characters, the command breaks.
Double-quoted shell arguments have to escaped by wrapping them in single-quotes
but the command to pass to cmd.exe has to be double-quoted.
The Windows launcher for fzf is 'cmd.exe /C %s'
The string specifier does not have to wrapped in double-quotes because it can work without it.
Examples:

C:/  (working directory)

[X] cmd /C fzf
[X] cmd /C cmd /C cmd /C fzf
[ ] cmd /C 'fzf'
[X] cmd /C "fzf"
[ ] cmd /C "'fzf'"
[X] cmd /C "cmd /C fzf"
[X] cmd /C "cmd /C fzf --prompt '"C:/Program\ Files/"'
[X] cmd /C "cmd /C fzf --prompt '"C:\Program Files\"'

We need noshellslash in s:cmd and fzf#run for consistency on shell escaping.
I use shellslash in my vim config so shellescape() behaved the same in fzf#run and s:cmd() but
noshellslash is default even on Windows Vim.
Having temporary switches of shellslash  in s:cmd and fzf#run guarantees the behaviour.
Examples:

C:/  (working directory, set shellslash)

[X] FZF
[X] FZF Program\ Files/
[ ] FZF 'Program\ Files/'
[ ] FZF "Program\ Files/"

C:/ Program\ Files/ (working directory, set shellslash)

[X] FZF
[X] FZF C:/Program\ Files/
[ ] FZF 'C:/Program\ Files/'
[ ] FZF "C:/Program\ Files/"

noshellslash forces double-quoting shell arguments such that cmd.exe can read it
In this PR, If escaped contains double-quote characters, the command breaks.
Double-quoted shell arguments have to escaped by wrapping them in single-quotes
but the command to pass to cmd.exe has to be double-quoted.
The Windows launcher for fzf is 'cmd.exe /C %s'
The string specifier does not have to wrapped in double-quotes because it can work without it.
Examples:

C:/  (working directory)

[X] cmd /C fzf
[X] cmd /C cmd /C cmd /C fzf
[ ] cmd /C 'fzf'
[X] cmd /C "fzf"
[ ] cmd /C "'fzf'"
[X] cmd /C "cmd /C fzf"
[X] cmd /C "cmd /C fzf --prompt '"C:/Program\ Files/"'
[X] cmd /C "cmd /C fzf --prompt '"C:\Program Files\"'

Thanks for the explanation. Hmm, so whenever we use shellescape function to build command-line options for fzf, we have to guarantee that shellslash is unset, so that single-quotes are not used as they are not compatible with cmd.exe, right?
:FZF is just one command built with fzf#run. It's a bummer that one should be aware of the above fact whenever writing a function or a command based on fzf#run. I think it makes sense that we provide a helper function fzf#shellescape that can be used instead. Let me look into it.

Thanks for the explanation. Hmm, so whenever we use shellescape function to build command-line options for fzf, we have to guarantee that shellslash is unset, so that single-quotes are not used as they are not compatible with cmd.exe, right?
:FZF is just one command built with fzf#run. It's a bummer that one should be aware of the above fact whenever writing a function or a command based on fzf#run. I think it makes sense that we provide a helper function fzf#shellescape that can be used instead. Let me look into it.

Squashed and merged your commits and slightly updated in 6c0fd7f. Let me know if you see any issues. Thanks.

Squashed and merged your commits and slightly updated in 6c0fd7f. Let me know if you see any issues. Thanks.

cmd.exe internally uses single-quotes to escape commands so we have to resort to double-quotes
and escape the double-quotes if necessary.
>cmd.exe /C 'dir'
''dir'' is not recognized as an internal or external command, operable program, or batch file
>cmd.exe /C "'dir'"
''dir'' is not recognized as an internal or external command, operable program, or batch file

Commit https://github.com/junegunn/fzf/commit/6c0fd7f9ca663f2057a114f1aa86bfe5f6a78c68 works for me on terminal Vim and GVim.
The last issue remaining for Windows filepaths w/ brackets such as C:\Program Files(x86).
Terminal Vim is fine but GVim is not because of the escaped string to pass to the launcher.

cmd.exe internally uses single-quotes to escape commands so we have to resort to double-quotes
and escape the double-quotes if necessary.
>cmd.exe /C 'dir'
''dir'' is not recognized as an internal or external command, operable program, or batch file
>cmd.exe /C "'dir'"
''dir'' is not recognized as an internal or external command, operable program, or batch file

Commit https://github.com/junegunn/fzf/commit/6c0fd7f9ca663f2057a114f1aa86bfe5f6a78c68 works for me on terminal Vim and GVim.
The last issue remaining for Windows filepaths w/ brackets such as C:\Program Files(x86).
Terminal Vim is fine but GVim is not because of the escaped string to pass to the launcher.

I see, would it help to create a temporary batch file that contains the command and use it to avoid escaping issue?

Executing cmd.exe outside of the terminal causes Windows to make a new terminal for cmd.exe
Since launcher and the shell are both cmd.exe, we can do one of the following:

add another if condition on s:execute() to check if running on Windows Vim.
if running Windows Vim, then let escaped = command
if running Windows Vim, then let s:launcher = "%s" and remove the double-quoting for escaped

Code for Option 2 in Commit https://github.com/janlazo/fzf/commit/4572bdcf7d710d8dcc4460319c0ac0f0a1878216

@janlazo Thanks, the code looks good to me. Please send me a pull request.


Fix BigInt.toString with "%x"

Partial fix for https://issues.dlang.org/show_bug.cgi?id=14503.
Make BigInt.toString() distinguish between "%x" and "%X".
In addition, make toHex() return explicitly in upper case, for compatibility.

This seems to make one extra pass for converting to lowercase. Would it be more natural to just emit lowercase digits in the first place?

This seems to make one extra pass for converting to lowercase. Would it be more natural to just emit lowercase digits in the first place?

Applied the way.

LGTM

Other than that, LGTM.

Thanks for the prompt response! LGTM.

Auto-merge toggled on


Show pre-built charts in Grafana dashboard

This is a follow up from https://github.com/arun-gupta/kubernetes-aws-workshop/issues/123

Here some charts that are worth importing:
Kubernetes cluster monitoring (via Prometheus): https://grafana.com/dashboards/1621
Kubernetes App Metrics: https://grafana.com/dashboards/1471
All of these charts use Prometheus as the source.
Import process is explained at http://docs.grafana.org/reference/export_import/.


data storage is not visible in unit converter and conversion facor is also wrong

Describe the bug

data storage is not visible in unit converter
as  well as conversion are also wrong

Possible solution

Describe the solution you thought of.

Screenshots

If applicable, add screenshots to help explain your problem.

 function datau(a) {
      switch(a)
       {
          case "1":
            return 0.125;
          case "2":
               return 1;
          case "3":
               return 1000;
          case "4":
            return 1000000;
          case "5":
            return<PHONE_NUMBER>;
          case "6":
             return<PHONE_NUMBER>000;
          case "7":
            return<PHONE_NUMBER>000000;

       }
 }

the conversion need to correctify
 function datau(a) {
      switch(a)
       {
          case "1":
            return 0.125;
          case "2":
               return 1;
          case "3":
               return 1024;
          case "4":
            return 1024*1024;
          case "5":
            return 1024*1024*1024;
          case "6":
             return 1024*1024*1024*1024;
          case "7":
            return 1024*1024*1024*1024*1024;

       }
 }

Go ahead
Deadline 4 April,2021 (11:59 PM IST)


[Suggestion] Compatibility with visual Workbench (1.18 >=)

It would be great if you could add VisualWorkbench Mod support.

To add to this, in the 1.19.2 latest version most crafting tables work with the VisualWorkbench mod, apart from some such as Biome Makeover tables, Enlightend tables, Colorful azelea tables, windswept tables and a couple random one offs like one from twilight forest and another from quark
Would be great if they all worked equally!

yes please


FluentTheme ignores TopLevel.ActualTransparencyLevel

Describe the bug
Transparency is not guaranteed to be provided by the target platform. Even by modern 2024 Linux distro, even when there is a GPU and compositing window manager available (composition can be auto-disabled when a resource-intensive app is currently running).
We should never rely on transparency being available in our default themes.
To Reproduce
Run the app in software rendering mode on Windows or use a non-compositing VM with Linux.
(reported from https://github.com/AvaloniaUI/Avalonia/issues/15845):

Expected behavior
No response
Avalonia version
All versions with fluent theme
OS
No response
Additional context
No response

Just to be clear, you mean that we need to fallback to 0 radius when transparency is not available, right?

I think it makes sense to implement it like this. Hope this problem can be improved.


SAMSUNG FLASHING IS SUPER DELAY THAN OTHERS DEVICES

I need your help.
I have tested the plugin, I love it.
However, I tested into many devices, including samsung devices and other devices.
I will set the flashing on, then set a timeout delay about, 300ms, then it will turn off automatically.
Other devices work very well, however, the SAMSUNG type doesn't work very well.
I have tried debugged it for about 2-3 days, but still don't know what's wrong.
Thanks for your help.

Could be internal to the device.. can you try with other apps and see if they have a similar delay?

I tried with LG and ASUS, they blink with a reasonable speed.
However, with Samsung, it blinks very slow and has an app crash all the time.
It said the camera is used after released, then the app crash.
The app crash sometimes happened in LG and ASUS.

Can help?

No not really if it's down to the hardware..


ConstrainedTriangulation class missing

First error that occurs when I clone and run in Godot4.2.1

  var cdt: ConstrainedTriangulation = ConstrainedTriangulation.new()

It's not listed in the assetlib, so is it a file you forgot to check in?

https://github.com/Nitwel/Immersive-Home/tree/main/app/addons/godot-cdt is the extension that adds this functionality. It seems that it doesn't come with builds for mac (and a few other native extensions I'm using neither sadly, so if that's the case you would have to build the extensions for mac first.
Sorry for the hassle!


pull requires redundant content-type header for manifest

Description
I have a use case to serve all content in a repository from a static file service. This is a powerful use case that gives the deployer a lot of flexibility. The file store does not know which files are manifests, let alone which manifests are schema 2, so it cannot add the Content-Type: application/vnd.docker.distribution.manifest.v2+json header when responding with a schema 2 manifest.
When the correct files are served via a basic http server, docker pull fails when that header is not present. It retrieves a perfectly-good schema 2 manifest, but fails due to the missing header, as seen here:
$ sudo docker pull localhost:8080/busybox
Using default tag: latest
Trying to pull repository localhost:8080/busybox ...
unsupported schema version 2

The manifest itself contains a schemaVersion field that could be used to determine that the manifest is schema 2. I propose that when the Content-Type header is not the expected docker-specific value, but a manifest is returned, that field should be checked to determine the schema version of the manifest.
Steps to reproduce the issue:
I prepared an image that demonstrates the issue. You can see the details here:
https://hub.docker.com/r/mhrivnak/staticreg/
$ sudo docker run -d -p 8080:80 mhrivnak/staticreg
$ sudo docker pull localhost:8080/busybox

Describe the results you received:
Using default tag: latest
Trying to pull repository localhost:8080/busybox ...
unsupported schema version 2

Describe the results you expected:
The pull should succeed, because a valid schema 2 manifest gets returned. I also prepared an image that has a 1-line tweak to enable the expected header, via an httpd .htaccess file. It would be impractical for normal use to this end, but it effective for a PoC.
Here is the change: https://github.com/mhrivnak/dockerstaticpull/compare/withheader?expand=1
And the results using that image:
$ sudo docker run -d -p 8080:80 mhrivnak/staticreg:withheader
$ sudo docker pull localhost:8080/busybox
Using default tag: latest
Trying to pull repository localhost:8080/busybox ...
sha256:2efce9f5b0cb8815d192ae634b4c87943d0f0b873d98487ee98f8ed0504bd572: Pulling from localhost:8080/busybox

9db6bc3045a3: Pull complete
Digest: sha256:2efce9f5b0cb8815d192ae634b4c87943d0f0b873d98487ee98f8ed0504bd572
Status: Downloaded newer image for localhost:8080/busybox:latest

Output of docker version:
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-common-1.12.6-6.gitae7d637.fc25.x86_64
 Go version:      go1.7.4
 Git commit:      ae7d637/1.12.6
 Built:           Mon Jan 30 16:15:28 2017
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-common-1.12.6-6.gitae7d637.fc25.x86_64
 Go version:      go1.7.4
 Git commit:      ae7d637/1.12.6
 Built:           Mon Jan 30 16:15:28 2017
 OS/Arch:         linux/amd64

Output of docker info:
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 10
Server Version: 1.12.6
Storage Driver: devicemapper
 Pool Name: docker-253:2-1048710-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 3.515 GB
 Data Space Total: 107.4 GB
 Data Space Available: 44.06 GB
 Metadata Space Used: 3.428 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.144 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.136 (2016-11-05)
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
 Volume: local
 Network: host null bridge overlay
Swarm: inactive
Runtimes: oci runc
Default Runtime: oci
Security Options: seccomp selinux
Kernel Version: 4.9.9-200.fc25.x86_64
Operating System: Fedora 25 (Workstation Edition)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 4
Total Memory: 11.44 GiB
Name: dhcp129-40.rdu.redhat.com
ID: 672G:G3GP:AOOG:6VF7:XXBS:RX3U:PLHB:2XNU:6WF2:TRD3:CDSL:WLOJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 26
 Goroutines: 34
 System Time: 2017-02-23T23:52:29.293657013-05:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8
Registries: docker.io (secure)

Additional environment details (AWS, VirtualBox, physical, etc.):
Fedora 25 on bare metal

ping @stevvooe ptal

@mhrivnak Unfortunately, the schemaVersion field is used for all objects in the schema. This is actually left over from the original, ill-conceived manfiest (schema1). As we expand into OCI, these mediatypes will become more important, so using the content type to identify it will be critical.
I would suggest placing all manifests of the same type into a given directory when assembling the static registry. Anything served out of that directory would get the correct content type.

Let me close this ticket for now, as it looks like it went stale.


Promote Prevent over-posting section to be the main section

I understand that this may seen as opinion based, but exposing db models is bad practice. By a db model I mean a class that is used by the DbContext to interact with the db;
I believe that using DTOs from the start produces better solutions, even when the mapping is one to one to the db model (i.e. all properties match). (One of the advantages of this is that the DTOs can be immutable.)
I think that the official documentation showing exposing db models encourages bad practice and the fact that the article contains Prevent over-posting section confirms that DTOs are the way to go. It also may be confusing to new readers that two approaches are shown.
I suggest making the article use DTOs in the main part and maybe just mentioning that DTOs are not technically needed.
This way the article will be shorter and will tip readers into the pit of success.

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

ID: 583ae3e7-5915-f22b-e54c-6c100cf2a7da
Version Independent ID: 95f2549e-29f9-e31a-b4d0-432b971643ff
Content: Tutorial: Create a web API with ASP.NET Core
Content Source: aspnetcore/tutorials/first-web-api.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thanks for the suggestion.