add: AseanK

Description
added Sean Kim's info
Related Issues
[Include any related issues or pull requests that this PR addresses or is related to. Use GitHub's shorthand syntax to link to them, like #1234.]
Changes Proposed
[Describe the changes you've made in detail. Be specific and include any relevant code snippets.]
Checklist

[X] I have read and followed the Contribution Guidelines.
[X] All new and existing tests passed.
[X] I have updated the documentation to reflect the changes I've made.
[X] My code follows the code style of this project.
[X] The title of my pull request is a short description of the requested changes.

Screenshots
Note to reviewers

@AseanK Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and Star the repo to help us grow even further!


fix hashtable insert

for case when a new pair is being added but the newPair has a value of 0 and is being disposed by the dispose hook (specifically found in mappedGeometryUnref_void)
Issue begins at this line:
https://github.com/FreeRDP/FreeRDP/blob/834fdf0046d8a76a12a66937ff92293b5ac75d6d/winpr/libwinpr/utils/collections/HashTable.c#L344

@alexandru-bagu which issue does this fix?


Aligned Cookie parsing method to ModSecurity2 style

May be it's not a bug, but the behavior is differ from ModSec v2. Here is an example, take a look to this header request:
Cookie: foo
This is invalid, because the RFC allows the Cookie as like this:
cookie-header = "Cookie:" OWS cookie-string OWS
cookie-string = cookie-pair *( ";" SP cookie-pair )
...
cookie-pair       = cookie-name "=" cookie-value
cookie-name       = token
cookie-value      = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )

But ModSec2 interprets this as there is a cookie with name "foo" with empty value.
This patch aligns the behavior of ModSec3.

Note, that this bug triggered by this CRS test.

Hi @airween, I remember that we were discussing this issue over hangout a few days ago. Are the changes ready?

I've merged the newest version from upstream to this branch.
Could we continue the discussion about the patch? First, please review the snippet:
https://gist.github.com/airween/efb8a737193910b5ae893d93e0325902
The C++ code contains the old (current) and the new method of cookie parsing. You can pass the cookie string to the compiled binary as argument (see output.txt).
The first line is the output of current version, the second is the last product. The ^ markers showed, how catches the algorithm the cookie names and its values. You can see, if the cookie string is "not well-formed", the parsing is wrong with the current mechanism, for eg. the parsed cookie value is just a substring(!), eg. ange instead of orange, or a cookie has two values (or I don't know, how interprets  it), eg. bar=a and pple instead of bar=apple.


bitmanip: don't reinvent unsignedToTempString

I confess that I don't understand why this isn't just using std.conv.to, but aside from that, it is kind of weird to be using core.internal.strong outside of druntime, since that doesn't sound very internal then, given that this is Phobos. But if std.conv.to doesn't work here for some reason, and core.internal isn't truly restricted to being internal to druntime, then I guess that this makes sense.

Auto-merge toggled on


Spring 5 MVC Matching Is Disabled in Spring 5.0.0.RELEASE

https://github.com/spring-projects/spring-framework/commit/b1440b681663c4087ca19fdb755598b7c9706c11

Thanks for the note @dgrahn - I'll definitely look into it, as it affects the early plans for one of the new lessons in the course.
Cheers,
Eugen.


abnormal anterior head development

abnormal anterior head development (child of abnormal head development MP:0012176)
DEF: any anomaly in the process in which the anatomical structures of the anterior part of the head are generated and organized
SOURCE: GO:0097065

abnormal anterior head development MP:0030324


Bug in Example A.4

Example A.4 decrements a0 in the instruction after the vle8.v and then uses a0 again in the second vsetvli instruction.  Often the second last iteration of the loop will get a too-small result and the last iteration will get zero that way.  I think the second vsetvli should be written with rd=x0 and rs1=x0 so that vl isn't changed.

Agreed, and the left-shifting of t0, which previously depended on the vsetvli, does the right thing, since t0 still contains vl at that point.


Replace npm package to parse lightning invoices

Is your feature request related to a problem? Please describe.
Seems the invoices package keeps having breaking changes in patch releases:
https://github.com/getAlby/lightning-browser-extension/pull/808
It also comes with heavy dependencies.
We should replace the package with a different more lightweight bolt11 parser.
https://www.npmjs.com/search?q=bolt11
https://www.npmjs.com/package/light-bolt11-decoder
https://www.npmjs.com/package/bolt11

Only checking at the repo bolt11 looks pretty good.
It's JS but comes with TS-types, looks maintained and contributers are well known ;)


An exception on parsing Cloudant http response to SearchResult object

Describe the bug
An exception Expected BEGIN_OBJECT but was NUMBER at line 1 column 65 path $.counts occurred on query a search index with counts, if search results has no findings.
Exception in thread "main" com.ibm.cloud.sdk.core.service.exception.InvalidServiceResponseException: Error processing the http response
	at com.ibm.cloud.sdk.core.service.BaseService.processServiceCall(BaseService.java:515)
	at com.ibm.cloud.sdk.core.service.BaseService$IBMCloudSDKServiceCall.execute(BaseService.java:573)
	at com.ibm.yourlearning.sandbox.Sandbox.main(Sandbox.java:45)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 65 path $.counts.
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
	at com.google.gson.Gson.fromJson(Gson.java:963)
	at com.ibm.cloud.sdk.core.util.ResponseUtils.getValue(ResponseUtils.java:149)
	at com.ibm.cloud.sdk.core.util.ResponseConverterUtils$6.convert(ResponseConverterUtils.java:137)
	at com.ibm.cloud.sdk.core.service.BaseService.processServiceCall(BaseService.java:513)
	... 2 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 65 path $.counts.
	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:384)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:183)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
	... 6 more

To Reproduce

Database "db_for_demo" must have the following design element (updated is indexed as facet;  "analyzer": "keyword" is used ):

{
  "_id": "_design/DDForDemo",
  "views": {},
  "language": "javascript",
  "indexes": {
    "IndexForDemo": {
      "analyzer": "keyword",
      "index": "function (doc) {\n    if (doc.updated && doc.parentId && doc.status === \"Active\") {\n        index(\"updated\", doc.updated);\n        index(\"parentId\", doc.parentId, {\n            \"index\": \"analyzed\",\n            \"facet\": true\n        });\n    }\n}\n"
    }
  }
}

Database "db_for_demo" must have at least one document included in index (has updated, parentId, and status: "Active")

{
  "_id": "DEMO1",
  "status": "Active",
  "updated": "2021-01-19T13:21:13.215Z",
  "parentId": "PARENT_ID_ONE"
}

Perform a call to postSearch endpoint with the following parameters (use addCounts; document doesn't match query - in our case due to updated date the document will not be returned):

Cloudant service = Cloudant.newInstance();

PostSearchOptions searchOptions = new PostSearchOptions.Builder()
    .db("db_for_demo")
    .ddoc("DDForDemo")
    .index("IndexForDemo")
	.limit(0)
	.includeDocs(false)
	.addCounts("parentId")
    .query("updated:[2021-03-20T13:21:13.215Z TO Infinity]")
    .build();

Response<SearchResult> executeResonse =
	service.postSearch(searchOptions).execute();

System.out.println(executeResonse.getStatusCode());

Expected behavior
No exception;
executeResonse.getStatusCode() is 200 (OK)
executeResonse.getResult().getCounts().size() is 0
Must gather (please complete the following information):

SDK Version
com.ibm.cloud:cloudant:0.0.32
Java Version

 $ java -version
openjdk version "11.0.13" 2021-10-19
IBM Semeru Runtime Open Edition <IP_ADDRESS> (build 11.0.13+8)
Eclipse OpenJ9 VM <IP_ADDRESS> (build openj9-0.29.0, JRE 11 Windows 10 amd64-64-Bit Compressed References 20211022_218 (JIT enabled, AOT enabled)
OpenJ9   - e1e72c497
OMR      - 299b6a2d2
JCL      - 2d83aa3b76 based on jdk-11.0.13+8)

Name of service that you're trying to use (if applicable)
com.ibm.cloud:cloudant
Name of operation that you're trying to invoke (if applicable)
Cloudant::postSearch

Additional context
Please, note that Cloudant returns different response for following cases:

No documents in database, or no documents included in index.
(set "status": "Draft", for example)

{
  "_id": "DEMO1",
  "status": "Draft",
  "updated": "2021-01-20T13:21:13.215Z",
  "parentId": "PARENT_ID_ONE"
}

/db_for_demo/_design/DDForDemo/_search/IndexForDemo?q=updated%3A%5B2021-03-20T13%3A21%3A13.215Z TO Infinity%5D&limit=0&includeDocs=false&counts=["parentId"]

{"total_rows":0,"bookmark":"g2o","rows":[]}

There is at least one document in the index, but nothing match to the query (it is the subject of the Issue)

{
  "_id": "DEMO1",
  "status": "Active",
  "updated": "2021-01-19T13:21:13.215Z",
  "parentId": "PARENT_ID_ONE"
}

/db_for_demo/_design/DDForDemo/_search/IndexForDemo?q=updated%3A%5B2021-03-20T13%3A21%3A13.215Z TO Infinity%5D&limit=0&includeDocs=false&counts=["parentId"]

{"total_rows":0,"bookmark":"g2o","rows":[],"counts":{"parentId":0.0}}

There is at least one document in the index, query result contain a few documents (change to "updated": "2021-05-20T13:21:13.215Z")

{
  "_id": "DEMO1",
  "status": "Active",
  "updated": "2021-05-19T13:21:13.215Z",
  "parentId": "PARENT_ID_ONE"
}

/db_for_demo/_design/DDForDemo/_search/IndexForDemo?q=updated%3A%5B2021-03-20T13%3A21%3A13.215Z TO Infinity%5D&limit=0&includeDocs=false&counts=["parentId"]

{"total_rows":1,"bookmark":"g2o","rows":[],"counts":{"parentId":{"PARENT_ID_ONE":1.0}}}

Thank you for the clear and thorough report.
The problem is indeed caused by the HTTP/JSON API response failing to conform to the SDK model in the "no match" case. Unfortunately, this is one of a few places (some others are noted in the KNOWN_ISSUES) where the CouchDB API is relaxed about types and does not operate smoothly with more strongly typed languages like Java.
We will look into what we can do to improve this.
In the meantime it should be possible to avoid the exception by using the postSearchAsStream method and taking the InputStream of the response directly; bypassing the deserialisation into the SearchResult model class.
This gives the option, for example, of deserialising the counts property into a more flexibly typed JSON specific structure (e.g. something like a GSON JsonElement) and checking the type of the property before using it.

https://github.com/apache/couchdb/pull/4704 is a proposal to fix the API types in CouchDB.

There is a server-side correction for this issue from Cloudant version 8442.


React Design System

This is a very well-written, insightful, and helpful article, pointed me in the right direction. Thank you!

Love this, it's the sort of tedious work that you can do at the start of a big project to save you time and headaches in the long run; like an investment.
great article. :+1:

Very insightful article. Thank you 👍


⚠ Minecraft has degraded performance

In 7f28a80, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1137 ms

Resolved: Minecraft performance has improved in b2678ac.


CUDA error after follow solution for [OpenGL] failed to create X11 Window.

Hi, I'm try to run python example with jetson nano and MIPI csi camera but display not show from [OpenGL] failed to create X11 Window

and it also show

then i follow this solution #619 but after I done it this error happen

Thank you in advance for any help.

oh I see, I didn't clone the dev banch but are there any solution to fix it ,
I'm also found sample code from https://forums.developer.nvidia.com/t/video-output-does-not-show-up-because-opengl-failed-to-create-x11-window-imagenet-camera-failed-to-create-opengl-display/68681/10
but i'm still face same error

Hi @Grissanapong27, does video-viewer/video-viewer.py or detectnet/detectnet.py work for you?
In your detectnet2.py script, can you try creating the videoOutput interface first, before the videoSource or detectNet objects?
Also, you have a physical display attached to your Jetson right?

Thank you for your reply. The video-viewer and detectnet are working, but the detectnet.py and other .py script can detect objects but can't displaying the video output. Yes, I have a physical display connected to my Jetson Nano, I don't have my Jetson Nano with me right now, but I will make sure to try creating the videoOutput interface before the videoSource. Once I do so, I will update you on the results. Thanks .

@dusty-nv after I try Video-viewer it work but when i run video-viewer.py csi://0 it pop-up this window

then it shutdown
and here log
video-viewer log.txt

[OpenGL] creating 1280x720 texture (GL_RGB8 format, 2764800 bytes)
[cuda]   cudaGraphicsGLRegisterBuffer(&interop, allocDMA(type), cudaGraphicsRegisterFlagsFromGL(flags))
[cuda]      invalid OpenGL or DirectX context (error 219) (hex 0xDB)
[cuda]      /home/smr/jetson-inference/utils/display/glTexture.cpp:360
[cuda]   cudaGetLastError()
[cuda]      invalid OpenGL or DirectX context (error 219) (hex 0xDB)
[cuda]      /home/smr/jetson-inference/utils/cuda/cudaYUV-NV12.cu:154
[cuda]   cudaNV12ToRGB(input, (uchar3*)output, width, height)
[cuda]      invalid OpenGL or DirectX context (error 219) (hex 0xDB)
[cuda]      /home/smr/jetson-inference/utils/cuda/cudaColorspace.cpp:42
[cuda]   cudaConvertColor(latestYUV, mFormatYUV, nextRGB, format, mOptions->width, mOptions->height)
[cuda]      invalid OpenGL or DirectX context (error 219) (hex 0xDB)

I think there might be something awry with your graphics drivers or X11/display setup.   You aren't trying to view this remotely over VNC or SSH tunneling right?   Can you see if you have the same issue when running the Docker container?   If so, I would probably flash another SD card and try a fresh install.

@dusty-nv I usually remote in from the VNC viewer, but even though I run the script from the Jetson Nano, it still has the same issue. However, when running the Docker container and mounting the example code and my code into the container, the code works fine.Now I'm work on project that work with ROS how can I mount my package in to container?

However, when running the Docker container and mounting the example code and my code into the container, the code works fine.

OK - my guess is that at some point, some package got installed onto your Nano that conflicts with the native OpenGL/X11 graphics drivers.   You can try installing mesa-utils and running glxgears / glxinfo to see if that helps diagnose what is going on, and if you might need to reflash your SD card.

Now I'm work on project that work with ROS how can I mount my package in to container?

What I would do is use one of the ros:*-pytorch-* containers from https://github.com/dusty-nv/jetson-containers . For example, dustynv/ros:foxy-pytorch-l4t-r32.7.1.   These ros:*-pytorch-* containers are based on the jetson-inference container, so they have jetson-inference included in them already.

@dusty-nv Thanks for your advice,After I try to run glxgears can work and here glxinfo
glxinfo.txt


Use docker image of busybox with glibc libraries.

What's the issue ?

The dlang-tour executable uses glibc, but busybox doesn't have it unless you specifically ask for it (which this patch does). It fixes the shorten link button, essentially.
Also the build error is caused by a change in one of the libraries used in the example source codes.
Here: https://github.com/dlang-tour/mir/pull/5

Thanks for taking care of this! Looks like the PR you linked also triggers one of the Vibe.d regression we've been seeing recently... Waiting for upstream to merge it.

Well the LDC build that makes the docker image is passing. The other DMD fails seem to be related to that vibe.d regression.

Let's just see what happens when deployed. Thank you very much!

Well the shorten buttons work as well as Gist (is a bit slow), but the link for gist gives 502 bad gateway.


[.NET] Turkish DateTime initial support

Work in Progress. Including the patterns file for Turkish DateTime.
Supporting code and activated test cases to be included in updates.

@tellarin PR made to get feedback on the patterns. we will include the supporting code as an update to this PR.

The YAML file looks good, thanks!

@tellarin & @STayinloves thank you for the feedback. we are making sure there are no build errors and will update the supporting code tomorrow.

@LionbridgeCS this basic additions seems fine. Please remove 'Draft'.
Will you create a PR for Date soon?

@tellarin this is a place holder for the DateTime type. We can work on solving the merge conflicts if you see fit that this should be merged at the current state.
PRs with the subtypes will be created in the same fashion as Italian, as soon as enough test cases are passing for the said sybtype a PR with the changes will be made.

@LionbridgeCS I have fixed the merge conflicts. If the build passes, we can merge it.
Next time you remove the 'Draft' mark from a PR, please resolve any pending conflicts, ok? Thanks.


No Sensordata but "Numberplate"

Describe the bug
I have a 2019 Corolla. I know this car doesn't deliver as much sensordata as actual cars, but I thought, I get at least the same info as with the Toyota native app.
Expected behavior
The only sensor I get after entering my credentials is the "corolla.nuberplate" with its attributes. I expected to have at least these addtl. sensors (since that is the information the native app shows also):

sensor.corolla_odometer
sensor.corolla_current_week_stats
sensor.corolla_current_month_stats
sensor.corolla_current_year_stats
device_tracker.corolla

BTW: I am using the "new" App from Toyota if this makes any difference.

I have the same problem   Please Help !

Pleased look at:
https://github.com/DurgNomis-drol/ha_toyota/issues/164
We are currently working in supporting the new API Endpoints: https://github.com/DurgNomis-drol/mytoyota/pull/242
For the time being, you can download a version with a hotfix manually from the master branch.
However, this only works for the Numberplate and the statistics sensors. And nobody knows for how long, as the old API endpoints can be switched off at any time.


Fix typo in mlops-maturity-model-content.md

@EdPrice-MSFT
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#Sign-Off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @


refactor(commands): move util function to toolbox

I actually wanted to include this patch into #415 PR, but decided to go separately.
How to Test
N/A
Testing for Regressions
I have tested the following:

[x] Triggering keymaps from legendary.nvim in all modes (normal, insert, visual)
[x] Creating keymaps via legendary.nvim, then triggering via the keymap in all modes (normal, insert, visual)
[x] Triggering commands from legendary.nvim in all modes (normal, insert, visual)
[x] Creating commands via legendary.nvim, then running the command manually from the command line
[x] augroup/autocmds created through legendary.nvim work correctly

What's the purpose of this PR?

@mrjones2014 Refactoring.  That function might be used elsewhere, so it's logical to keep it in tool box.

That function might be used elsewhere

But it isn't currently. We can move it if/when it's needed.

Toolbox is supposed to be more for end-user utilities, this is an internal parser.


'ConnectionSettings' window is a thin line

OS gentoo linux
LimeSuite git clone from yesterday 25Jun.
Need help diagnosing the following.
Output is a sample there were many more lines.
Thanks:
Click Options>ConnectionSetting result main window dims and a thin line opens in the center of the main window. Window is thin and about the size of a title bar.
There are other input windows that have problems also Modules>FFTviewer acts the same as above except it appears out of the main window. Also HPM7 input boxes overrun text. SPI is the same as well.
LimeSuiteGUI is unusable since I cannot set ConnectionsSettings.
Output in terminal:
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkLabel 0x5c003a0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x560ad00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffa40 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffc00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bff6c0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x560ad00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffa40 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffc00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bff6c0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x560ad00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffa40 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffc00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bff6c0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x560ad00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow)
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffa40 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bffc00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
(LimeSuiteGUI:28556): Gtk-WARNING **: Allocating size to GtkButton 0x5bff6c0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

wrong wx-config file. had three versions installed.


Move webpack manifest plugin to prod only

Overview
The manifest plugin has been the cause for our web-pack crashes numerous times now, specifically whenever we make changes to files that have no changes. It's not something we should need in development. This PR moves the plugin to run on prod only.
Checklist
~- [ ] Styleguide updated, if necessary~
~- [ ] Swagger specification updated, if necessary~
~- [ ] Symlinks from new migrations present or corrected for any new migrations~
Testing Instructions

Run the web-pack server locally
Make sure it starts up
Save some unchanged files, be sure the server remains running
Run ./scripts/cibuild and ensure that it can be run successfully

I guess if the build for this branch succeeds, testing the cibuild is superfluous.

I guess I'm unsure of where the proper location for it should be and assumed that where we were putting it before was correct. Should it be put into the dist directory?

Based on the docker-compose.test.yml volume mounts (https://github.com/azavea/raster-foundry/blob/develop/docker-compose.test.yml#L27), I think that putting it in app-frontend/dist when inside the container execution context is the right place. That should automatically route it to the dist directory inside of the parent nginx directory.

Ok, I've updated it. The manifest will be the first file put into the dist directory after it get's rimraf'd


Document find_node()'s owner argument behaviour

Resolves #10595

Thanks!

Cherry-picked for 3.0.7.


UNAUTH_API_GET_LIMIT on every call to GetWatchingAsync

I'm using Trakt.NET to access Trakt and when I use its GetWatchingAsync call, I get
{"name":"UNAUTHED_API_GET_LIMIT","period":300,"limit":1000,"remaining":999,"until":"2024-04-10T03:00:00Z"}

But I'm logging in with a client id and secret, is there another way I should be doing this?
var response = await client.Users.GetWatchingAsync("my-username");

This header is just informational. A 429 status code would be returned if you were hitting the rate limit.

Hmm okay, but I'm getting no value back despite using my username from the URL. Is there somewhere I can check if the call is correct? I'm able to get a show by its slug no problem.

Please pose the full request and response from the API. We'd need to see that to check where the error could be.

Hmm I'll probably run into issues there since I'm using the Trakt.NET package to make the calls. Not sure how to trace it with Fiddler either.
            var response = await client.Users.GetWatchingAsync("rardk64");
            var show = response.Value;

That's all I'm doing, response.Value and anything else on response is null.

To be honest, I'm getting a response from GetWatchedShows, so I'm wondering if no shows are tracking as Currently Watching. I can't find where to check this on Trakt.tv so I'm not sure if I even have them set properly.

There is no response if the user is not watching anything (HTTP 204 - no content). If you want to manually check on Trakt.tv if you're watching something, head to your dashboard and you should see a "red banner" like this:

There is no response if the user is not watching anything (HTTP 204 - no content). If you want to manually check on Trakt.tv if you're watching something, head to your dashboard and you should see a "red banner" like this:

but how do you set something as currently watching?

Checkin or scrobble: https://trakt.docs.apiary.io/#introduction/terminology

For a show I'm currently watching, how do you track that in the app? And how do I query for currently watching shows?


Collapse overview widget cards when entity not configured

Feature Suggestion
The entity page should not look so messy when various annotations do not exist. I have screenshotted an example at the bottom of this issue. We are using the Snyk, Links and SonarQube plugins but they are not configured for this particular entity. I would like the page to look less messy.
There is some value in having the cards appear, even though the annotation is not set for this particular component.

The card can teach the user how to set the annotation, which encourages it to show up.
Snyk (for example) might be a requirement for all components in my org. If so, I want to know that it is not configured.

Possible Implementation
Cards could collapse when the annotation is not set. I could expand them to see the missing annotation content. This would keep them accessible while not being so visually distracting.
I also considered having a magic annotation which would turn off the plugin for a particular component. This, however, would require rolling out across many teams in an org in order to clean up the UI in Backstage.
I'd love to hear other implementation suggestions of course.
Context

Remotely related to https://github.com/backstage/backstage/issues/3781.
What I could imagine is some kind of central warning panel per entity that tells you that you are missing some recommended annotations or features. Or use a system like https://github.com/backstage/backstage/issues/2662 / https://github.com/backstage/backstage/pull/7193 to display it. Something similar to the screenshot that Monzo presented:

Widgets that are not configured would simply be hidden and entities have some kind of "score" in the about card and could also display the most important issue (like a missing required integration) in a prominent warning panel. It could also be part of the home page if it is a critical issue.


Release 0.11.0 proxy-scanner Helm Charts

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Codefresh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Chrome not working deep linking

In iOS, it work on safari, but I open with chrome, deep link not working
How to fix it?
I tried using https://demo.onelink.me/1aBC/123ab45c?af_force_deeplink=true but not working

Hi @amit-kremer93 , @phuocantd , I'm encountering the same issue. The deeplink is working fine on android.
But on ios, it only works if opening via safari, not via chrome.
Might I know how to fix this?
I'm using v6.13.1.
Thanks!

Same issue here - did you find a solution?


polygon network not in ocean.util supported networks

Describe the bug
The polygon network is not in ocean.util variables of supported networks
To Reproduce
Steps to reproduce the behavior:
View variable assignment of supported networks in ocean.util.py
Expected behavior
Expected to see this if polygon network is being used by aquarius to extract data

Done in https://github.com/oceanprotocol/ocean.py/commit/700da80fbdf0e403ace1f23613ed8d4f093c9434


Documentation: Mixed/inconsistent  case paths on MacOS cause dreadful problems

tl;dr Can the documentation for installing on MacOS have the advice to use only lower case letters in file paths?
Steps to Reproduce
We used mixed case in our file paths when we started our project.
lib/src/data/Enums/some_file.dart  Some times that path was referred to as: 'lib/src/data/enums/some_file.dart'
MacOS treats "..../Abcd/" as "...../abcd/" in most cases.  But not all cases, for all software, it turns out.
We started having problems of the form:
A value of type 'OurDartStructure (where OurDartStructure is defined in <path to project>/lib/src/data/Enums/some_file.dart)' can't be assigned to a variable of type 'OurDartStructure (where OurDartStructure is defined in <path to project>/lib/src/data/enums/some_file.dart)'.

We have been through our code, git repositories, file system and made every path element and file name lower case.  Ditto all import paths.
This is no longer a problem but what we learnt should be in the documentation: "On MacOS ensure all path elements are lowewr case/consistent case"
On MacOS the treatment of case in file names causes problems with flutter, but also git (another, similar, horrid saga)

MacOS treats "..../Abcd/" as "...../abcd/" in most cases.

This isn't a function of macOS, but of the filesystem; macOS has full support for case-sensitive filesystems, it's just not the default format on Mac hardware. The situation is similar on Windows.

But not all cases, for all software, it turns out.

Whether specific software (such as Dart in the case of the issues you had) treats paths as case-insensitive depends on the software, not macOS.

On MacOS the treatment of case in file names causes problems with flutter

Can you elaborate on why you want this documented as a macOS-specific issue? On a case-sensitive filesystems the code would have been wrong as well because your import would have been of a file that wouldn't even exist.
It's also not clear that the installation instructions would be the right place for documenting this, since it's about projects, not Flutter installation. And it's already covered in more general docs: https://dart.dev/guides/language/effective-dart/style#do-name-libraries-and-source-files-using-lowercase_with_underscores

Can you elaborate on why you want this documented as a macOS-specific issue? On a case-sensitive filesystems the code would have been wrong as well because your import would have been of a file that wouldn't even exist.

Good point.
The advice should be "use lower case" or "use consistent case" for all paths and file names.  Regardless of OS.
Having spent 30 years exclusively with case sensitive file systems I see "foo/Bar/" as different from "foo/bar" with my mind's eye.  On MacOS (and Windows) that is not guaranteed.

The advice should be "use lower case" or "use consistent case" for all paths and file names.

As I linked above, that is in fact already the advice for Dart code. What specific change are you looking for?

As I linked above, that is in fact already the advice for Dart code. What specific change are you looking for?

That is that then.
I would like you to fix MacOS and Git so they play nice together on systems with mixed  case file names....  A bit outside your remit.

As I mentioned above, if you want case-sensitive file handling on macOS all the support is already there. You just have to format the drive containing those files a with a case-sensitive filesystem.
Git also supports case-sensitive file handling. You just can't check out a git repository that requires it (e.g., by having two files that differ only in case) on a case-insensitive filesystem.

Mēh!
Almost anything is possible.
Moving from the Linux world and file systems to Mac ones is a frightening journey because the handling of case in file paths is inconsistent.
Since anything is possible every problem you have is your fault.  That is unhelpful, true, but unhelpful.
The solution for cross platform development (I have learnt for myself) is to use consistent case for every path element.
Lower case is the easiest thing to do and simply avoids all these problems.
FLW


Change method of upgrading implementation buildpack dependencies

Summary

As seen in failures like this .NET buildpack, sometimes go get -u all fails to upgrade buildpack transitive dependencies. The problems seem to come from an issue with module version resolution. I've had a hard time tracking down a clear explanation of the difference between go get -u all and go get -u -t ./.... I do know that the latter works as expected consistently, doesn't upgrade dependencies to RC versions, and works for buildpacks that have a main.go (aka implementation buildpacks). I've seen all of the above issues with go get -u all. If someone can offer a good explanation of the difference - or make a good case for not making this change, I'd be interested to hear it. Otherwise, I think this will save maintainers a lot of CI toil.
See #508 for historical context on the initial implementation.
Use Cases

Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

@fg-j I do not have any answers to your questions about why that's a better option or an opinion on which we should go for- but I am definitely down to reduce toil related to this workflow. I think updating transitive dependencies is important but the amount I have to deal with the related workflow failures is a lot.
I am open to just trying this change out and seeing how it goes. It's a pretty low-stakes workflow, and we can always roll back the change if we encounter strange behaviour.

@paketo-buildpacks/tooling-maintainers speak now if you have any other opinions!


Secure usage of SAS token for Azure Maps REST API is not clear

For me there's a contradiction in the docs of how to handle the SAS token.
The doc says (I understand, that the SAS token is the key, which should stored securely):

Applications that use SAS token authentication should store the keys securely.

But also:

You can use this generated code snippet in your front-end applications.

Code snippet is
async function getData(url = 'https://us.atlas.microsoft.com/search/address/json?api-version=1.0&query=1 Microsoft Way, Redmond, WA 98052') {
 ...
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'jwt-sas <your SAS token>',
    }
  });
  return response.json(); // parses JSON response into native JavaScript objects
}

If I'd use that code snippet in my frontend application, I would reveal the SAS token to the public as my web application is public accessible.
Would that be ok?
Of course I would take other security measurements such as CORS or rate limits.

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

ID: fd57d1cd-db76-b41e-cfc2-800f315ff27b
Version Independent ID: bb0d826a-fa03-c218-2c7e-4b2db410004f
Content: How to secure an Azure Maps application with a SAS token - Azure Maps
Content Source: articles/azure-maps/how-to-secure-sas-app.md
Service: azure-maps
GitHub Login: @stack111
Microsoft Alias: dstack

Hi Daniel, (@stack111) can you please review the feedback and take appropriate action. Thanks.

@matlion

Would that be ok?
Of course I would take other security measurements such as CORS or rate limits.

Yes, it would be ok.
To be clear, any distribution of the token to client browsers is available to public access. The value proposition is that the SAS token is a more limited or restricted security surface. You already mentioned rate limits. Second notable example is the access is not given an Azure AD Access token to the Azure AD tenant. Which a potentially insecure resource in the tenant could be breached with an Azure AD Access Token. An example could be a Web API setup up incorrectly by not authorizing on claims in access tokens.


Refactoring: Error/exception handling

Dear Danilo,
please find a patch attached which refactors error handling and exception reporting with respect to support Tcl's own try/catch construct. It all goes now through two central functions which makes things easier to change, should later a redesign be needed.
This time it is a very large patch, so please take your time for review.
Other minor things are attemptckalloc() at some places instead of ckalloc() to detect out of memory conditions.
Again, I hope that it's useful,
Christian
tcl-opencv-20210929.diff.gz

Dear Danilo,
here's a small addendum with some error strings and codes fixed plus serialization for cv::TermCriteria added.
BR,
Christian
tcl-opencv-20210930.diff.gz

Thank you.


Add config.around(:all)

RSpec configurator currently allows us to have a config.around(:each) block, which is very useful. But it doesn't support a config.around(:all) which would also be a great addition.
The main reason is test suite performance. Let me explain.
My slowest specs, as usual, are those who touch the database. I've found that truncation is way more expensive in PostgreSQL than beginning a transaction and rolling it back. Also PostgreSQL also supports nested transactions (savepoints).
Sequel only supports the use of transaction through a block usage as
config.around(:each) do |example|
  DB.transaction(savepoint: true, rollback: :always) { example.run }
end

But some example groups need an expensive setup where we need to create several records in the database. Let's say it takes 100ms just to set up all records. If I have 10 examples, the whole group will take 1s just setting up the database.
On the other hand, if RSpec supported config.around(:all) I could perform the group set up in a before(:all) block instead of a before(:each). This way, instead of the whole group taking over a second, it would take just a bit more than 100ms, which is a big improvement of 10x in the suite running time.
I can confirm that because I use a hack over Sequel using non-supported techniques to achieve the same effect and it does improve a lot our suite completion time. But I'm not comfortable in doing so in case this hack stops working with a new Sequel release.
Are there any reasons not to support around(:all) blocks?

Guys, I'm sorry to revive an old discussion, and if there's a new one, point me to it please.
Now I'm puzzled by the apparently biggest obstacle to implementation of this feature: possible misuse. I love ruby community, but sometimes saving the dummies' asses goes a bit too far.
Now I'm working on a video processing gem and I need to generate sample media files — which are quite large for repository storage (and not so fast to produce). The straightforward idea — generate them in an around(:all) block with Tempfiles met this (discussion). before(:each) - check, after(:each) - check, around(:each)- check,before(:all)- check,after(:all) - check, around(:all) - ..not even an error?? Why?
I have an alternative idea, to avoid misuse of anything: let's leave the rspec-core functional and spin off rspec-for-dummies which is safe to use for dummies. Oh, snap, the dummies might suspect something. Another idea then: let's leave rspec-core for dummies and spin off a normal gem: rspec-core-advanced, for people that kinda know what they're doing.

@costa TLDR, your desired effect can be achieved with before(:context) and after(:context).
Longer response, we routinely choose not to add or expand features we think are a bad idea, or simply that aren't in popular demand, not because we're "saving the dummies' asses" but because adding new features creates a maintenance burden upon ourselves which cannot easily be undone. Once a version of RSpec supports something its there until a next major version which could be a long time away, we have several features already that we don't recommend extensive use of (expect_any_instance_of for example, we'd recommend not using it but we know there is popular demand for it so we maintain despite the extra burden it causes) so we're understandably not keen to increase that number.
Additionally I encourage you to read https://github.com/rspec/rspec-core/blob/master/code_of_conduct.md before commenting again, as personally I found your tone to be more than a little aggressive, please remember everyone on the RSpec team has the best interests of the community at heart and are all volunteers. Thanks.

@JonRowe First, I sincerely apologise if anyone might have found my tone inappropriate, it meant to be ironic at best, but apparently I must stick to the formal language — even in the Ruby community nowadays.
That aside, I'm not convinced by your reply, unfortunately. Can you please explain any extra technical difficulties having (and maintaining) around(:all) hook in the presence of before(:all) and after(:all) hooks. It really looks like a few lines of code — https://github.com/seanwalbran/rspec_around_all/blob/master/lib/rspec_around_all.rb — which complete the DSL and make up for those 0.1% of the cases like mine.
Plus, I also think that micro-gems are not always the answer — they might simply be not that efficient in terms of the total community's effort/benefit.
Cheers.

but apparently I must stick to the formal language — even in the Ruby community nowadays.

Not at all, just remember MINSWAN.

That aside, I'm not convinced by your reply, unfortunately. Can you please explain any extra technical difficulties having (and maintaining) around(:all) hook in the presence of before(:all) and after(:all) hooks. It really looks like a few lines of code — https://github.com/seanwalbran/rspec_around_all/blob/master/lib/rspec_around_all.rb — which complete the DSL and make up for those 0.1% of the cases like mine.

If you were to create a PR implementing around(:context) successfully and we were ok with the additional complexity we would look at merging it. Currently we're not interested in doing it ourselves and would rather focus our efforts elsewhere.

Plus, I also think that micro-gems are not always the answer — they might simply be not that efficient in terms of the total community's effort/benefit.

Maybe not, but the total community has more combined effort than the few RSpec maintainers, the more we offload to other gems the more we can focus on core features. This is one of the reasons various parts of RSpec were spun out in RSpec 3 (e.g. rspec-its), similarly we merged in a gem (rspec-fire) we  thought would be useful but we also brought it's maintainer onto the core team to help us with this process.

FWIW, I've been thinking of looking into implementing this in rspec-core, primarily to make the API more consistent (e.g. so that you can combine any scope -- example/context/suite -- with any hook type before/after/around).  The hook implementation was fairy messy when this issue was last discussed but I completely refactored/rewrote their implementation for 3.2 to support some other features and I think it should be considerably easier now.  So I'm planning to look into this in the near future.

FWIW I looked at it at the time of this original issue and it wasn't as trivial as I expected, hopefully you'll have a better time given the refactoring.

@myronmarston Are you still thinking of adding around(:all) to rspec-core in order to be able to create invariant test data inside a database transaction and speed up specs?
If not, I could work on https://github.com/seanwalbran/rspec_around_all next year
Thanks.

It's still on my radar but havent had the time lately.

Hi @JonRowe  and @myronmarston I am going to work on this around(:all) feature. I'll setup a project on github and post my work in progress here. Shall I ping the mailing list to ask for feedback / support?

Sure, or you can just mention us on your github

In the meanwhile, my :baby: was born so I am not going to get back to this issue before a while :)

There is a use-case where this would also be helpful: running benchmarks with Benchmark#ips which requires a block. It's a nice option because the benchmarks build on top of Rack::Test and other layers which helps to make things very simple.

@ioquatix you can run around(:example) for that, anything else wouldn't be particularly useful as you wouldn't be able to exclude RSpecs own run time, clean up etc

@JonRowe Actually, I want to run a limited set of specs and use benchmark.compare!. If you just run it around individual examples you loose the ability to compare them.

@ioquatix that wouldn't be a very reliable comparison as it would take into account our internals and potentially even booting things like rails

@JonRowe well, given that I'm not using Rails, and that all the setup happens outside the benchmark code, I'm not really sure your assertions are correct/logical.
RSpec.describe "Utopia Performance" do
	include_context "rack app", "benchmark_spec/config.ru"

	before(:all) do
		@fiber = Fiber.new do
			Benchmark.ips do |benchmark|
				@benchmark = benchmark

				Fiber.yield

				benchmark.compare!
			end
		end

		@fiber.resume
	end

	after(:all) do
		@fiber.resume
	end

	it "should be fast to access basic page" do
		@benchmark.report("/welcome/index") do |i|
			i.times { get "/welcome/index" }
		end
	end

	it "should be fast to invoke a controller" do
		header "Accept", "application/json"

		@benchmark.report("/api/fetch") do |i|
			i.times { get "/api/fetch" }
		end
	end
end

This is what I ended up with, it works quite okay for now. I may actually add some expectations to validate the benchmark is working correctly before calling report. The other option is to have a single spec that does all the benchmarks but then I can't selectively disable them..

Perhaps it would be nice to have a higher level integrated benchmark, I believe minitest has something like that which can validate constant, linear and quadratic performance.

Your version above doesn't have the issues our implementation would as you have more control over where you're running things and the context :)

We measure group and example run time when --profile is used but we don't really have access to anything else (as we don't use external dependencies), comparison between these things would be possible in a custom formatter

What is wrong with:
    around(:all) do
        Benchmark.ips do |benchmark|
            @benchmark = benchmark
             yield
        end
    end

Nothing particularly with your use case, (as you wouldn't be measuring our internals in this instance) but it doesn't exist currently and none of the core team have been particularly interested in implementing it. It's also not a particularly easy change from memory (I briefly attempted to do it but I didn't and still don't have the time to dedicate to do it properly).

@JonRowe That's cool, I get it, it's unpaid open source work :) I just wanted to mention there was, IMHO,  a valid use case for this. It helps add to the validity of the ticket and the design of the feature.
At least, the Benchmark::IPS library could be fixed to avoid the need of a block, which might actually not be a bad idea.

FWIW, I've changed my thinking on this a bit. I think RSpec should provide around(:context)/around(:all). Not because of any particular use case, but simply for API consistency.  It's much simpler to tell users "there are 3 kinds of hooks (before, after and around) and each can be used with any of 3 scopes (example, context and suite)".  Having some kinds of hooks work with only some kinds of scopes makes the API inconsistent and forces us to add special case code to emit warnings and also write extra documentation for this fact.
So at some point I hope to see RSpec gain this feature.  At the moment my open source time is much more limited than it used to be so I haven't gotten around to it yet.
@ioquatix for benchmarking I don't understand the point of putting it in a spec. What does that gain you over using benchmark-ips the normal way?

@myronmarston
1/ It fits into existing spec based testing infrastructure nicely, including running on travis, code coverage using SimpleCov, switching between generating a profile (RubyProf), a benchmark (Benchmark::IPS) or normal test run.
2/ Some of my benchmarks do have expect clauses to validate that things are working before invoking the benchmark.

I would say that the current behaviour is a bug:
an example file:
require 'spec_helper'

RSpec.describe '' do
  it 'works' do
    p 'example'
  end
  it "bees" do
    p 'exampe2'
  end
end

with spec helper:
# This file was generated by the `rspec --init` command. Conventionally, all
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
# The generated `.rspec` file contains `--require spec_helper` which will cause
# this file to always be loaded, without a need to explicitly require it in any
# files.
#
# Given that it is always loaded, you are encouraged to keep this file as
# light-weight as possible. Requiring heavyweight dependencies from this file
# will add to the boot time of your test suite on EVERY test run, even for an
# individual file that may not need all of that loaded. Instead, consider making
# a separate helper file that requires the additional dependencies and performs
# the additional setup, and require it from the spec files that actually need
# it.
#
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
RSpec.configure do |config|
  config.around(:all) { |ex|
    p 'hi'
    ex.run
    p 'done'
  }
end

prints hi and done as if it was an around(:each) hook, which is about as confusing a behaviour as possible:

"hi"
"example"
"done"
  works
"hi"
"exampe2"
"done"
  bees

Finished in 0.00123 seconds (files took 0.07965 seconds to load)
2 examples, 0 failures

@JonRowe I think we should either make around(:all) show the user an error, or behave more like before(:all). WDYT?

Am I correct to think this applies to to around in a describe block inside a spec file too? I'm not sure if config.around and that kind of around are the same code path -- but the behavior is the same, around(:all) in a describe block in a spec file also seems to do the same thing as around(:each).

@samphippen I think it should how the user an error, as it has never been supported and IMHO it is confusing to make it behave like a before(:all) given thats not the intent.


Add msgpack as library dependency for UNIX systems

..  and also update the requirements documentation.

Ah I didn't know that. I just installed libmsgpack-dev and everything worked besides the missing -lmsgpack parameter. After running submodule update --init everything is working file. Still it would be good to have some kind of check; maybe an exists(...thirdparty/msgpack/) in the .pro file and a meaningful error message that submodules haven't been initialized?


Fragments Not Supported in From Macro

Elixir version
1.14.0
Database and Version
Postgres 14.2
Ecto Versions
3.8.4
Database Adapter and Versions (postgrex, myxql, etc)
0.16.4
Current behavior
According to my understanding of the documentation on Ecto.Query.from/2, I should be able to use Postgres's generate series using the following:
from(f in fragment("generate_series(?, ?) as x", ^0, ^100000), select f.x)
But I haven't been able to make this work:
from(f in "generate_series(0, 100)", select: f)
|> Repo.all()

** (Ecto.QueryError) PostgreSQL does not support selecting all fields from "generate_series(0, 100)" without a schema. Please specify a schema or specify exactly which fields you want to select in query:

Using this:
from(f in fragment("generate_series(?, ?) as x", ^0, ^100000), select: f.x)
|> Repo.all()

Gives me:
** (CompileError) lib/sericin/inventory.ex:1671: cannot use ^0 outside of match clauses
    (ecto 3.8.4) expanding macro: Ecto.Query.select/3

Expected behavior
I'm expecting there to be a list of integers generated from Postgresql's generate_series:
[1,2,3,....]

Hi @allenwyma, thanks for the report. Fragment sources only work for Ecto 3.9+. But also there is a mistake in the docs. Fragment sources need a select statement. Please see here for the correct way to write the query: https://github.com/elixir-ecto/ecto/pull/4025/files.

confirmed works great in 3.9.1 👍


Article about fonts

Question: What would it take to be able to choose any font listed here: http://jf.burnol.free.fr/showcase.html ?
PS
demo for manim https://vimeo.com/435684836
Note - it requires latex, xelatex and lualatex.

It wouldn't take much. Reanimate can use any LaTeX font. I'll write the article about how to use fonts soonish. If you wanna get your hands dirty, see the 'latexWithHeaders' function from Reanimate.LaTeX.

Also, I've never Haskelled before. :-/
The point I was making about http://jf.burnol.free.fr/showcase.html is that it takes much more than just loading some latex packages. Many fonts require their own latex templates along with configuration options like compiler (lualatex / xelatex / pdflatex etc) and output (dvi / xdv / pdf).

Ah, then it might be a bit more involved. But if it can be done in manim then it can also be done in reanimate.


rendering is blurry

Here is text rendered on my screen via rot.js [1] :

Here is text rendered on my screen via some library called malison [2] [3]:

Both use a <canvas> element to display these grids. Is there a way to get rot.js to render text crisply, without this blurring/anti-aliasing? My window.devicePixelRatio is 2.
[1] https://ondras.github.io/rot.js/manual/#display
[2] https://github.com/munificent/malison
[3] http://munificent.github.io/hauberk/

Hi @mreinstein,
first I suggest deciding whether the issue is caused by the higher DPI (Retina) or not. To perform a Retina test, make your font size double (this will make the  double as well) and scale it back to the desired size via CSS, e.g.
fontSize *= 2;
canvas.style.width = (canvas.width/2)+"px";
canvas.style.height = (canvas.height/2)+"px";

...and let us know how does this look like.
However, I believe that pixel density is not the real issue here -- font rendering is. ROT uses vector fonts that are designed to be antialiased (not crispy), Hauberk apparently uses raster fonts. I would suggest looking for suitable TTF/OTF/WOFF fonts that are specifically designed to emulate crispy look (I have no knowledge of these).
Note, however, that roguelike games can look totally okay even with vector/antialiased fonts -- I created several and I was always pretty satisfied with their looks:

https://imgur.com/a/BOmV0U7
https://raw.githubusercontent.com/ondras/goldfish/master/screenshot.png
https://raw.githubusercontent.com/ondras/cafe-havoc/gh-pages/cafe-havoc.png
https://raw.githubusercontent.com/ondras/sleeping-beauty/master/sleeping-beauty.png

Is it possibly to use raster font images natively with rot.js? I know libtcod uses them as its main ASCII-loading tool. I am trying to get super-crispy looking Code Page 437 ASCII characters and that is really turning into pain in the browser lol. I have one working, but it is extremely blurry like the OP mentioned no matter which font type I seem to use.
Thank you!

I wanted exactly this look in my 7DRL entry for 2015:
https://github.com/blinkdog/7drl-2015
So I borrowed a PNG of the CP437 characters from somebody else's 7DRL 2014 entry:
Necromancer Simulator 2014
https://github.com/blinkdog/7drl-2015/blob/master/img/terminal8x8.png
And then used a little bit of code to make a tile map that could behave a lot like text:
https://github.com/blinkdog/7drl-2015/blob/master/src/main/coffee/tiles.coffee
If cheating with a tilemap image isn't desirable, then there may be some help in the techniques here, but I'm not really sure if it applies to canvas text commands or not: https://stackoverflow.com/a/49357655

@TimTCrouch @blinkdog I've been experimenting with my own renderer, which is heavily inspired from malison/hauberk as a starting point. It uses a raster based sprite font.
https://github.com/mreinstein/ascii-diagrams
Right now the renderer itself is coupled to this ascii diagraming prototype tool (which was the inspiration for starting this in the first place.) It could/should be pulled out into a standalone renderer module.
The code for this is pretty minimal and open source (the raster based font renderer is only about 200 lines so far.) It seems pretty efficient. Would be happy to accept PRs, ideas, etc. If you find this useful.

Hi folks,
rot.js's text rendering power is ultimately based on (and limited by) the underlying HTML <canvas> feature. If you manage to get the <canvas> working the way you like, it is very probable that we can fix rot.js to do the same. Keep in mind, however, that the canvas is primarily designed for vector fonts, so we might be out of luck here - and the only way to get a pixel-perfect rendering is to use image tiles. (Nothing wrong with that approach!)
If you find a way to render TTF/OTF/WOFF in a crispy fashion, let me know what CSS/JS properties need to be applied and I will happily mirror those to rot.js codebase.

I deployed a copy of this to the web, you can play with it here if you like. you can draw boxes, connect lines between boxes, label lines and boxes, etc. This looks non-blurry on both retina and non-retina screens:
https://ascii-diagrams-xybsmgbvoj.now.sh/
@ondras I can't speak to rendering ttf/otf/woff, but this demo is the visual behavior I'm after. It uses font sprite images. The code for this is pretty minimal, if there's value in including any of this logic in rot.js I'm all for it! 👍

It uses font sprite images.

Well, image tiles are always an option. They are already supported in rot.js, so anyone is free to use them.

is there a working example of using an image tile? I could evaluate if this is producing similar visual results

is there a working example of using an image tile? I could evaluate if this is producing similar visual results

The official interactive manual shows regular graphical tiles; they are always drawn 1:1, WYSIWYG. If you can give me a proper tileset image, I can throw together a trivial demo for you.

@ondras here is a tileset image: https://github.com/mreinstein/ascii-diagrams/blob/master/font/font_16_20.png
here is the codepage mapping: https://github.com/mreinstein/ascii-diagrams/blob/master/raster-font/unicode_map.js
here is the code that performs the mapping between character glyph and position within the tileset image (sx, sy): https://github.com/mreinstein/ascii-diagrams/blob/master/raster-font/index.js#L161-L163

Okay @mreinstein, a quick demo using your tileset: https://jsfiddle.net/fzeuy3sc/

looks great!

@ondras  a follow up question: besides browser support, is there any benefit to using the rot canvas renderer over webgl? I would think webgl would be more performant with the same amount of setup code.

I would think webgl would be more performant with the same amount of setup code.

Definitely. That is the reason for the WebGL renderer :) Even though Roguelike games are often not that demanding with respect to rendering.
Its code is much newer and less mature, though. I am pretty certain it does not 100% match the feature set of a regular canvas renderer, with respect to tile stacks, colorization and/or opacity.

I am pretty certain it does not 100% match the feature set of a regular canvas renderer,
with respect to tile stacks, colorization and/or opacity.

thanks for clarifying! do you have a sense of what the actual feature gap is?

thanks for clarifying! do you have a sense of what the actual feature gap is?

I skimmed the code and there does not seem to be any incompleteness visible or mentioned. I suggest you try it right away, because you can always switch to the regular "tile" anytime you run into issues.
Also it might be worth mentioning that the WebGL renderer requires your textures to be of a same-origin with respect to the calling page.

I've updated my diagramming tool to use rot.js with the webgl tileimage renderer. Seems to work pretty well!
https://ascii-diagrams-nlrfivgdbe.now.sh
I found 2 issues with the test fiddle that you provided:

the canvas element needs a css property set, to disable interpolation on images:
image-rendering: pixelated; I haven't checked browser support for this particular property but I'm pretty sure there are other vendor extensions too.
special characters don't work in the text field; they're not being mapped correctly. e.g., try typing test 12 ▶ 34 in the text box. Only test 12 appears. I fixed this by creating a proper tilemapping file for the given image font: https://github.com/mreinstein/ascii-diagrams/blob/master/tile-map.js

I think writing up this demo in the main documentation would be really helpful; I suspect a lot of people that are using rot.js are after this kind of rendering. If I can help with this in any way, happy to do so.
Thanks again for your help with this!

I found 2 issues with the test fiddle that you provided:

Right, the fiddle was a proof-of-concept, not a full-blown example covering all features and edge cases.

* the `canvas` element needs a css property set, to disable interpolation on images:

Sounds correct, even though only for cases where the canvas has to be scaled. I suppose this covers the devicePixelRatio > 1 cases, e.g. Retina devices.
On the other hand, enabling/forcing nearest neighbor interpolation (as oposed to the default linear interp) might be a matter of personal taste. I would like to leave this option up to the developer.

* special characters don't work in the text field; they're not being mapped correctly

Right, my mapping was a fast hack. Ideally, the author of the raster font image would provide a mapping as well.

I think writing up this demo in the main documentation would be really helpful

I agree that some kind of a code sample specifically for this case might be useful. Not sure if a good fit for the manual, though -- it does not really showcase a particular rot.js feature. Perhaps a blogpost or a fiddle or a roguebasin wiki page...

Right, the fiddle was a proof-of-concept, not a full-blown example covering all features and edge cases.

Let me clarify; I'm not picking on you or your solution. It's great! My point is that these 2 changes are needed to be made to render crisp, raster based fonts on rot.js :)

I agree that some kind of a code sample specifically for this case might be useful.
Perhaps a blogpost or a fiddle or a roguebasin wiki page.

I think if you were to provide a visual comparison between these 2 rendering strategies (aliased fonts vs crisp raster tileImage fonts) and ask your users "which looks better" you might find that more people than you expect would want the crisp behavior.  and it's not that hard to put a note in one of the main documentation pages. We're talking about 3-4 sentences to enable the crisp rendering.

We're talking about 3-4 sentences to enable the crisp rendering.

Right. Can you please confirm that this only applies to retina-like setups with devicePixelRatio > 1? I do not have currently any of these devices available and my current setup does not show any difference with/without the image-rendering property, as the raster tiles are always 1:1 (always crisp).

Can you please confirm that this only applies to retina-like setups with devicePixelRatio > 1?

confirmed

I added a paragraph mentioning this into the Manual: https://ondras.github.io/rot.js/manual/#tiles

looks good. I'll close this issue, since there is a way to achieve the desired effect and it's somewhat documented in the manual. Thanks for taking the time to work with me on this!


Determine windows config location

And update README with location

Note to self:
The default location on Windows is %APPDATA%\tod.cfg, which expands to C:\Users<username>\AppData\Roaming\tod.cfg on most systems.

Added to docs.


Publish correct version of NPM package

Describe the bug
This repo is on version 0.1.15, but on npm.org the latest version is shown as 0.0.0-alpha.1.

The same info is returned by yarn info @eth-optimism/contracts and npm info @eth-optimism/contracts.
Expected behavior
The package number should be 0.1.15.

Looks like this was fixed.


End with print statement

This fixed an issue I had. Not sure if you can recreate it but my objective was "How can I use up all digits from 1 to 9 only once so that I can subtract a 3-digit number from another 3-digit number, and have a 3-digit sum, without using each number more than once?"

Thank you @ismaelc!


Release Google.Cloud.Retail.V2 version 1.1.0

Changes in this release:

Commit 91fa8df: docs: Put resource paths in code spans and use absolute URLs

Note: no API surface changes, but still a minor version bump due to dependency updates.

Created release for Google.Cloud.Retail.V2-1.1.0


Make available via chocolatey

Is your feature request related to a problem? Please describe.
I see installation via scoop is available. Would it then be possible to add it to chocolatey too? I think it's more widely used than scoop.
Describe the solution you'd like
Make available via chocolatey
Describe alternatives you've considered
No response
Additional context
No response

I don't know about it and I'm not sure how to submit a package to it.

That's fine! They have a great guide to creating package here https://docs.chocolatey.org/en-us/create/create-packages
I would do it but I'm not sure I have the right to.


Settings required for dynamic builds on egui

This adds required file and dependency adjustment for bevy/dynamic Fast Compile started with issue https://github.com/mvlabat/bevy_egui/issues/22 ,
Also adds example targets in the toml, 1 less thing for beginners to have to figure out.

Hi! Thanks for the PR.
I have a question: are you sure that these changes are needed to be able to compile an application with dynamic linking? I'm afraid that it'll force dynamic linking for all bevy_egui users, regardless of whether they want it or not. I believe it shouldn't be done it the library itself.

Yes that would have, I meant to remove the "dyanmic"  in the dependencies & leave a commented out so it should have been.
[dependencies]
bevy = { version = "0.5", default-features = false, features = ["render", "bevy_winit"] }
#use dynamic for  Fast Compile dependencies required , https://bevyengine.org/learn/book/getting-started/setup/
#bevy = { version = "0.5", default-features = false, features = ["bevy_wgpu", "x11", "png", "dynamic"] }
egui = "0.11.0"
webbrowser = { version = "0.5.5", optional = true }
winit = { version = "0.24.0", features = ["x11"], default-features = false }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
clipboard = { version = "0.5.0", optional = true }
thread_local = { version = "1.1.0", optional = true }

[dev-dependencies]
version-sync = "0.9.2"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
bevy = { version = "0.5", default-features = false, features = ["bevy_wgpu", "x11", "png"] }
#use dynamic for  Fast Compile dependencies required , https://bevyengine.org/learn/book/getting-started/setup/
#bevy = { version = "0.5", default-features = false, features = ["bevy_wgpu", "x11", "png", "dynamic"] }

From my experience with the bug, the difference between building and not building was the inclusion of the "dynamic" dependency.  So  I don't think it will build dynamically with that removed.  However the config.toml could be causing some side effect which I'm not fully aware of.  I'll post on the bevy thread where I got my fix to check https://github.com/bevyengine/bevy/pull/2016.

Sorry, I'm still convinced that this shouldn't be a part of the library. The faster build config also implies that every contributor has to have another linker installed. If they don't, they'll have a pretty confusing error in their console. All that can be documented in the README of course, but I believe that it's too much hassle for too little benefit.
If a user wants to use faster builds for every project by default, they can still do that via environment variables. I see this config much more useful for applications, where developers spend most of their time while iterating on them.
I'll close this PR. But feel free to leave additional comments here if you have any. If more developers will show interest in this, I might reconsider it as well.

That makes sense. My main goal was to spare someone else the pain of having
to figure out the windows dynamic build configuration on their project.
The pr and closed issue should pop up for those searching so mission
accomplished.  Thanks for your consideration and work on this!
On Mon, 3 May 2021 at 11:16, Vladyslav Batyrenko @.***>
wrote:

Sorry, I'm still convinced that this shouldn't be a part of the library.
The faster build config also implies that every contributor has to have
another linker installed. If they don't, they'll have a pretty confusing
error in their console. All that can be documented in the README of course,
but I believe that it's too much hassle for too little benefit.
If a user wants to use faster builds for every project by default, they
can still do that via environment variables. I see this config much more
useful for applications, where developers spend most of their time while
iterating on them.
I'll close this PR. But feel free to leave additional comments here if you
have any. If more developers will show interest in this, I might reconsider
it as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mvlabat/bevy_egui/pull/23#issuecomment-831327809, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASYOQSZ4R2DCUHA5KYVQJ7DTL246XANCNFSM437WQTJQ
.


Global numbering of mesh elements and conforming vertices in a non-conforming mesh

I'm calling a parmetis-like interface to our load balancing tool and would like to access

global numbering of leaf mesh elements and
global numbering of conforming vertices in a non-conforming mesh.

Do these numberings already exist in the NCMesh or ParNCMesh classes?
In the CEED call today it was mentioned that there is an 'implied' global numbering for mesh elements.  More information on this would be helpful.
Also in the call it was suggested that an H1 linear space could be created to get global numbering of conforming vertices (DOF holders) and that the resulting space provides helper functions to map from local ids to global ids.  There was some concern about this approach as opposed to one that uses the topological data stored for the ncmesh.  Note, at this point we are primarily focused on understanding the partition quality versus assembly and solve execution time and may be willing to accept a less than optimal code path.

The first one is probably easier. The member NCMesh::Element::index holds the local leaf index. If added to a global index of the first local element, you should get what you need. The global index of the first element is calculated in ParNCMesh::Rebalance, variable first_elem_global (see how it is used in the call to Partition). This should also be doable with Mesh completely from user code, the Mesh elements are ordered by NCMesh::Element::index.
As for numbering conforming vertices only, there is no such thing explicitly in ParNCMesh. The approach with a linear H1 space sounds reasonable. The method GetGlobalTDofNumber in ParFiniteElementSpace should help here (although off the top of my head I'm not 100% sure).

The 'remote id' is not stored anywhere. You are right that leaf_glob_order is probably what you need, it's the original SFC order of leaf elements regardless if they are ghosts or not. Later the ghosts are moved to the back of the array leaf_elements so they are not interspersed among regular local elements.

Note that #1058 provides API for global element numbering.

Nice!  Thank you.
So, IIIUC, the call syntax for getting the global id of a ghosted element would be:
long ghostElmGlobalId = GetGlobalElementNum(ghostElmLocalId)
Is that correct?

Oh, I forgot you need ghost elements. I'm afraid #1058 doesn't work for ghost elements :-(

@jakubcerveny -- is this still outstanding? @cwsmith -- do you still need this functionality?

This functionality is still needed.
My current code uses leaf_glob_order in pncmesh.cpp.  When I last worked on this I recall there being a numbering inconsistency that needed resolving.
Does a L2_FECollection(0, meshDim), as created here (#1142):
https://github.com/mfem/mfem/blob/2ac85b13c287f679d28013f3b78dee6fd1d3e863/tests/unit/fem/ptest_tdofs.cpp#L319-L327
globally number both owned and ghost elements?  If so, this seems cleaner than keeping leaf_glob_order around.

There are no ghost elements in MFEM other than internally in ParNCMesh. The L2_Collection trick will work, but you won't see any ghost elements numbered. For that you need to go inside ParNCMesh and look at leaf_glob_order (which is not optimal because this array is temporary and used for something else).

OK.  Thank you.


Not possible to change baseURL

In the initializer this code overwrites a custom baseURL set by end-users.
const config   = ENV['ember-simple-auth'] || {};
config.baseURL = ENV.baseURL;
Configuration.load(config);

In new versions of Ember, baseURL is undefined so it is additionally overwritten with an undefined value. See https://github.com/simplabs/ember-simple-auth/issues/1048

@gauthierm any work around you did till this get resolved?

@sumitramteke In my authenticator class I used this instead of the baseURL:
  serverTokenEndpoint: Configuration['ember-simple-auth'].serverTokenEndpoint
It's a new config property I defined in my Ember config.

+1

apparently window.location.replace(undefined); makes safari and chrome (osx) crash hard...

This has been fixed by #1070.

@marcoow Sorry to bump and old thread, but there still isn't a way to override the baseURL used by ember simple auth in cases where you don't want it to be the routeURL.
In my ember app (for various reasons I won't bore you with) I have a separate routerRouteURL and routeURL for ember simple auth, I'd want to use the routerRouteURL not routeURL, but I can't as #1070 hard codes the base url as either routeURL or baseURL.
Is there a reason you don't allow baseURL to be customised?

I think we could offer customizability but that should be via a property on the ApplicationRouteMixin that defaults to the baseURL then:
urlAfterSessionInvalidation: Configuration.baseURL // there is probably a better name for this

@marcoow that approach sounds sensible do you want me to file this as a new issue?

do you want me to file this as a new issue?

PR adding that would be even better ;)

@marcoow would you have anything against also adding a config option routeAfterInvalidation which we could set this to default to config.baseUrl?
Naming wise would follow logically as you've got routeAfterAuthentication and routeIfAlreadyAuthenticated.

I'm not sure whether/how that's different from
urlAfterSessionInvalidation: Configuration.baseURL // there is probably a better name for this

? I think it's important to name the property url as opposed to route though as this is not an Ember route that we'll transitionTo but an URL and the app will be reloaded on that URL.


fix(style): comment box arrow position

Hi, @pomber
Thank you for git-history - its awesome!
I found small bug with comment box arrow and fix it:
Before:

After:

Thanks!


airline will cause neovim macro lag

environment

vim: neovim 0.4.4
vim-airline: lastest
OS: manjaro
Have you reproduced with a minimal vimrc:
What is your airline configuration: config does not affect lag issue
if you are using terminal:
terminal: konsole
$TERM variable: tmux-256color
color configuration (:set t_Co?):
if you are using Neovim:
does it happen in Vim: have not try

simple test:
editor 3 file, for example 1 2 3, file content is same
1
1
1
1
1
1
1
1

make a macro test: add file 2 and file 3 number to file 1, 1 = 1(file 2) + 1 (file 3)
so file 1 content will be:
1 = 2
1 = 2
1 = 2
1 = 2
....

test step:

split neovim vertically into 3 window, first window is file 1, second window is file 2 and third is 3
all three windows's cursor is at first line
switch to first window, type qq enter macro mode, recording to q register
type

1: shift+a
3: <space>=<space> #input ' = '
2: esc
3: ctrl-w+l   #switch to window2
4: v"ay  #copy to register ‘a’
5: ctrl-w+l  #switch to window 3
6: v"by # copy to regiser 'b'
7: j  #window 3 jump to next line
8: ctrl-w+h  #switch to window 2
9: j  #window2 jump to next line
10: ctrl-w+h  #switch to window 1
11: shift+a
12: ctrl-r+=
13: expand(printf('0x%x', <ctrl-r+a>+<ctrl-r+b>))  #<ctrl-r+a/b> paste a/b register,  input the string
14:<enter>
15: <esc>
16: j  #switch to next line
17: q  #macro recording end
18: 10@q  # do macro q for 10 times, and here is the problem, when airline plugin is enabled, the macro excute will lag a lot

Yes, switching windows does force re-evaluation of the statusline, perhaps 'lazyredraw' should help. Did you try :set lazyredraw?  Or you may also want to try to set :set eventignore+=WinEnter,WinLeave.  Or use :noa :norm! 10@q

Yes, switching windows does force re-evaluation of the statusline, perhaps 'lazyredraw' should help. Did you try :set lazyredraw?  Or you may also want to try to set :set eventignore+=WinEnter,WinLeave.  Or use :noa :norm! 10@q

set lazydraw does help lag issue, thanks

set lazydraw does help lag issue, thanks


New package: IMASggd v2.0.0

Registering package: IMASggd
Repository: https://github.com/ProjectTorreyPines/IMASggd.jl
Created by: @github-actions[bot]
Version: v2.0.0
Commit: de997acb1c431a02c6c12a597fd19deeae1af991
Reviewed by: @github-actions[bot]
Reference: https://github.com/ProjectTorreyPines/IMASggd.jl/commit/de997acb1c431a02c6c12a597fd19deeae1af991#commitcomment-147403134
Description: Package holding utilities for Generalized Grid Description (GGD) objects in IMAS datastructure. It provides, interpolation routines, grid subset tools, and plotting recipes.

[noblock] Requesting to override the package name similarity issue. This package uses IMASdd and is part of other packages that are working on IMAS. This name is appropriate for this package.

I approve [noblock]


How to use this drivers with gridfs？

How to use this drivers with gridfs？

Not completed yet, please check - https://github.com/mongodb/mongo-php-library/pull/57 from
https://github.com/mongodb/mongo-php-library/pulls

GridFS support will be included in the 1.1.0 release (also being tracked in PHPLIB-114).

Can you give me an idea about how long the wait for GridFS support will be?

@AlexGnatko: https://github.com/mongodb/mongo-php-library/pull/57 has been merged to master, so the code is available for development testing. I don't have a specific timeline for when we'll be able to tag 1.1.0, though. Some work on outstanding bugs and tasks pertaining to the extension is taking priority right now.

Is there any update on when GridFS support will be in an official release?  Thanks for your help.

@rbro: 1.0.0-alpha1 has finally been tagged and includes the GridFS classes.

@jmikola It seems that the class is integrated but there are no documentation. Do you know how to use it ?

@si2w https://docs.mongodb.com/php-library/master/tutorial/gridfs/


CI: add the 0.10 release to the index page

the gir-rustdoc looks for this env variable to define a list of releases on the index page. This would show a link to the versioned 0.10 docs

Can this be merged?

Yes please


ZoomIT jss does not work

Package has changed and the location of info.plist is no longer :"...AutoPkg/Cache/local.jss.ZoomIT/payload/Contents/Info.plist"
It now is found at:
"...AutoPkg/Cache/local.jss.ZoomIT/unpack/zoom.us.app/Contents/Info.plist "

Opened PR https://github.com/autopkg/smithjw-recipes/pull/8 to address this problem.


GCC vs Clang, which produces better code?

This is a follow-up to the #26 issues that were reported with clang producing code 1/2 the speed of gcc.

Various versions being tested is here:
https://github.com/lefticus/cpp_weekly/tree/master/parallel_algorithms
Data: https://github.com/lefticus/cpp_weekly/blob/master/parallel_algorithms/performance_stats.csv
So far it looks like the fact that I used signed indexes for some of the code resulted in clang losing its mind, which, if you know anything about the history of the "used signed for performance" stuff, should be rather ironic.
I also need to run callgrind tests against the different versions and see what shakes out.

Related: Alex Dathskovsky's (https://www.youtube.com/@cppnext-alexd) talk "To Int or to Uint?" at CppNorth 2024, to be repeated at CppCon 2024 https://cppcon2024.sched.com/event/1gZg0/to-int-or-to-uint-this-is-the-question

Notes:

Back in Episode 435 (https://github.com/lefticus/cpp_weekly/issues/26) I noted that GCC was generating code that ran 2x faster than Clang. https://youtu.be/ImM7f5IQOaw
I've spent the last 4 months off and on researching what was going on.
This is a small project that all fits in one file. All of the stats collected are available in this link:

https://docs.google.com/spreadsheets/d/1NyOpRZq8w6pXXz9mdWE8HxIDfIRuAUyFFKK8sALIJ1c/edit?usp=sharing
These things are generally true from this research:

On GCC -O1 is always faster than -O0, -O1 is always faster than -O2, -O3 is always faster than -02
Despite what you may have heard about the value of -O3, in this code it was 100% of the time faster than -O2 in all comparisons, on GCC nearly 3x faster
-march=native only had marginal improvement
If you truly want the fastest binary, you need to test every optimization level for every compiler until you find the sweet spot for your code

Except for one case (which we'll get to) these things hold true:

GCC is always faster than clang for -O0, -O2, -O3 (1.5-2x faster)
Clang -O1 always beats GCC -O1
Clang -O2 is always slower than Clang -O1

The change that made the biggest improvement on Clang was unpredictable and almost impossible to decipher what happened.

When I first developed this project I decided to "optimize" the layout of my game of life map by choosing the smallest possible integral type that worked for the compile-time known dimensions I was using.
If the grid was 100x100, then only a single byte was used for Width and Height (int8_t)
If the grid was 1024x1024, then 2 bytes were used (int16_t)
etc
This should have helped with cache-friendly-ness right?
After first I noticed Clang generating very different code in the presence of IO, so I removed all that and simplified it
But that didn't show a significant difference
Then I just started poking at things, randomly adding alwaysinline and moving things around.
This did show a big difference
Eventually I narrowed it down to this one tiny change: https://www.diffchecker.com/zBQnke71/
Which causes clang to produce a binary so completely different that it's impossible for me to understand what's going on https://compiler-explorer.com/z/Pcav1dG6z

So your homework is to

dig into what exactly is happening here.
Signed/unsigned does not seem to be the issue, I've also messed with that.

Coming in Ep460

Did you report the issue? https://github.com/llvm/llvm-project/issues


[mgmt] healthdataaiservices ga

https://github.com/Azure/sdk-release-request/issues/5683

API change check
APIView has identified API level changes in this PR and created following API reviews.
@azure/arm-healthdataaiservices

@MaryGao thanks for the note! This entry looks wrong.  I submitted PR #32013 to fix it.


Explorer: indicate symlinks

I think this should be done via icons.

It might be better if a symlink is highlighted in a different way than an icon, perhaps with color, or a second icon? Cause icons indicate the file type, but a symlink only indicates the file isn't actually there. It would be a very useful feature, especially for larger projects.

Is there already a way to add an icon for symlinks?

For reference, that other trendy text editor does it with icons like this.
In this example httpd.conf is a symlink, hyper.js is not:

I have situation that I am linking some folders from sub-project. Before I was linking I was using bat file to copy files and I thought that simply linking is awesome idea. Problem was that after a while I don't know if folder was linked and that makes me really sad 👎

Any news about a fix? Iit's pretty old issue and very expected and  useful feature!

Adding a symlink icon to concerned files and folder seems the best approach. Or maybe an highlight colour.
Your input on this @isidorn ?

I like @snoopdouglas's example, but rather than replace the icon completely, maybe it could preserve the icon for that file type but overlay the icon from the example as a badge overlay in the corner?

I agree, an overlay would be even better. A tooltip Indicating the link
target would be a good idea too
On 4 Feb 2018 07:50, "Ryan Sullivan"<EMAIL_ADDRESS>wrote:

I like @snoopdouglas https://github.com/snoopdouglas's example, but
rather than replace the icon completely, maybe it could preserve the icon
for that file type but overlay the icon from the example as a badge overlay
in the corner?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/11539#issuecomment-362887903,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEqnnucJVnNnW_UoTg5O33I66qjG2Sjnks5tRWFLgaJpZM4J0_1B
.

Agree a symlink icon as badge overlay would be the best solution.

We would need to add two properties to icon themes
symbolicLink
symbolicLinkExpanded
Root folders are already doing this, here's an example
It would need to be added to this interface and the FileKind would need to be expanded to contain SymbolicLink.
The explorer passes this information to he label decorator here
The only missing piece is how to check if a link is symbolic. For that the fileService would need to expose the node isSymbolicLink()
@bpasero if the outline of the work makes sense to you could you expose this in the FileService and I can adopt it in all the other places I mentioned above.

@isidorn we can add it, however isSymbolicLink is only working if fs.lstat is used (instead of fs.stat). lstat will return the metadata of the link itself, not its target. We would have to add this call after the fs.stat call here.
The downside is that we need both stat and lstat because lstat would return false for isDirectory for a symbolic link that points to a folder.

@bpasero yes I would start with the symbolic link icon having priority (from the screenshot above it seems like other editors are doing this). Otherwise we would need to beef up our icon themes for the overlay. Fyi @aeschli
I will sketch out a PR.

I agree we need an overlay. Users can have different icons per folderName as well as per filename, extension, language.

@isidorn @aeschli maybe an alternative solution would be to use an explorer decoration instead of tampering with the icon. One thing to keep in mind is that the icon would only indicate symlinks in the files explorer but nowhere else, so I think going with the icon might actually not be such a good idea.

@bpasero to start I can just color it in a differnt color, and maybe contribute some hover text.
As to how to exactly show it we can also discuss in ux meeting / standup

👍 for different color!!!

@isidorn yeah good point, but then it should be an overlay as @aeschli suggests which is probably more work

@bpasero @isidorn should I make a tiny symlink overlay icon in svg without color (#000000), and let the code handle color changing?
BTW this is our usual symlink file icon -

SymlinkFile_16x_vscode.zip

Does this indicate hard-links on Windows? Even though hard-links are supposed to be entirely transparent, you can easily confuse yourself if you edit a file in one folder and unexpected changes are occurring in another folder. Whilst the presence / use of hard-links are rare on Windows, they do exist and recent versions of Git allow the use of hard-linking where before soft-links were used.

From what I can see, symlinks do not show up in File Explorer at all - am I missing something? Let alone having a nice icon next to them or colorization, they just are not present

@netpoetica The feature was shipped with the latest release of VS Code. Symlinks are indicated with the small arrow on the right side in the explorer:

The arrow is activated by default.
Maybe you should refresh the explorer or restart your VS Code instance.  Make sure that you've installed the latest version of VS Code (1.21.1).


SQL queries

In this PR I create a table and insert data inside it.
bellow the screenshot for all queries.

@Nemwel-Boniface
and for screenshots?


Update capi pkg to v1.8.1

https://github.com/nephio-project/nephio/issues/800
Support for k8s v1.31.0
Tested and verified on free5gc e2e suite

/approve

@efiacor Thanks for the PR, the PR has a lot of changes. What's a good way for a reviewer to test out changes in a local environment. ? Any steps you can share would be appreciated. Thanks
FYI I am still reviewing the PR currently.

@efiacor Thanks for the PR, the PR has a lot of changes. What's a good way for a reviewer to test out changes in a local environment. ? Any steps you can share would be appreciated. Thanks FYI I am still reviewing the PR currently.

Thanks for reviewing @vjayaramrh .
What I have done to test the changes is fork the catalog repo, add the changes and then point the sandbox setup to it using the NEPHIO_CATALOG_REPO_URI override. Also, note the K8S_VERSION which allows us to deploy k8s 1.31 on the workload clusters.
sudo -E NEPHIO_REPO_DIR=/home/ubuntu/test-infra NEPHIO_DEBUG=false NEPHIO_USER=ubuntu NEPHIO_CATALOG_REPO_URI=https://github.com/efiacor/nephio-pkg-catalog.git K8S_VERSION=v1.31.0 ./init.sh

FYI Reviewed to be able to understand the changes, hopefully, someone else who is an expert can review as well and approve the merge

/lgtm


Optimization problem (rewrite using numpy)

An implementation has been written using a  normal Python rather than Numpy, therefore it is much more slower,because Python is slow language. If the implementation will be rewritten applying the power of Nympy, this will give a significant result related to performance.

On the object Body, the math operators should be overridden, which will bring the reducing the quantity of code and quality will be better. Also in this way will open the more possibility related to implementation of  Numpy

The application was written using Numpy and Numby vectorized. The results are incredible.