TypeError: call(): incompatible function arguments

face_recognition version: 1.2.2
Python version: 3.6.5
Operating System: Windows 7 / Git Bash <IP_ADDRESS>

Description
return face_detector(img, number_of_times_to_upsample)

TypeError: call(): incompatible function arguments. The following argument types are supported:
1. (self: dlib.fhog_object_detector, image: array, upsample_num_times: int=0)
How to fix this ?
What I Did
$pip3 install dlib (version is 19.13.1)
$pip3 install face_recognition (version 1.2.2)
$cd ~/cv2 (my sample code is in https://github.com/rkuo2000/cv2/cam_eye_tracking.py)
$python cam_eye_tracking.py
Traceback (most recent call last):
File "cam_eye_tracking.py", line 11, in
face_landmarks_list = face_recognition.face_landmarks(image)
File "C:\Program Files\Python36\lib\site-packages\face_recognition\api.py", line 173, in face_landmarks
landmarks = _raw_face_landmarks(face_image, face_locations)
File "C:\Program Files\Python36\lib\site-packages\face_recognition\api.py", line 153, in _raw_face_landmarks
face_locations = _raw_face_locations(face_image)
File "C:\Program Files\Python36\lib\site-packages\face_recognition\api.py", line 102, in _raw_face_locations
return face_detector(img, number_of_times_to_upsample)
TypeError: call(): incompatible function arguments. The following argument types are supported:
1. (self: dlib.fhog_object_detector, image: array, upsample_num_times: int=0) -> dlib.rectangles
Invoked with: <dlib.fhog_object_detector object at 0x000000000A3D6570>, None, 1

The image you are passing in is null. Most likely your call to read from the camera with OpenCV is failing and returning None instead of an array. Add some code to make sure the call to the camera worked before going to the next step.
Once you fix that, you still have one other bug. OpenCV returns BGR images but this library needs RGB images. Check the examples here for how to convert BGR to RGB.

My bad, somehow my camera doesn't work, I replug in, and it runs fine now. Thanks !
BTW, using face landmark can not recognize oriental faces well, (cause some has small eyes :)

Does this library also work with greyscale images? I'm trying to run this on a raspberry PI and full colour is pretty slow.

@KyleRAnderson pretty sure it does

@KyleRAnderson pretty sure it does

Am getting the same error.
return face_detector(img, number_of_times_to_upsample)
TypeError: call(): incompatible function arguments. The following argument types are supported:
1. (self: _dlib_pybind11.fhog_object_detector, image: array, upsample_num_times: int=0) -> _dlib_pybind11.rectangles
Invoked with: <_dlib_pybind11.fhog_object_detector object at 0x0000028F747D7D30>, array([[[ 21,  19,  20],
[ 27,  25,  26],
[ 39,  37,  38],
...,
[ 10,   5,   9],
[  8,   3,   7],
[ 18,  13,  17]],
   [[ 29,  27,  28],
    [ 34,  32,  33],
    [ 43,  41,  42],
    ...,
    [  7,   2,   6],
    [  3,   0,   2],
    [  8,   3,   7]],

   [[ 35,  33,  34],
    [ 37,  35,  36],
    [ 45,  43,  44],
    ...,
    [ 14,   9,  13],
    [  7,   2,   6],
    [  9,   4,   8]],

   ...,

   [[ 95, 102, 118],
    [ 97, 104, 120],
    [ 99, 106, 122],
    ...,
    [  5,   1,   2],
    [  5,   1,   2],
    [  5,   1,   2]],

   [[ 95, 102, 118],
    [ 94, 101, 117],
    [ 92,  99, 115],
    ...,
    [  5,   1,   2],
    [  5,   1,   2],
    [  5,   1,   2]],

   [[100, 107, 123],
    [ 94, 101, 117],
    [ 88,  95, 111],
    ...,
    [  5,   1,   2],
    [  5,   1,   2],
    [  5,   1,   2]]], dtype=uint8), <function hog at 0x0000028F0FE93040>

Thats the error am using

Anyone got any fix?
I am getting the same error

Anyone got any fix? I am getting the same error

I was also getting this issue with a non-empty image. What fixed it was casting the image to RGB since CV2 uses BGR.
rgb_small_frame = cv2.cvtColor(small_frame, cv2.COLOR_BGR2RGB)


Get access to last layer weights for models

while you are working on this, it might also be interesting to think about how to give access to the last-layer weights to a calling code, to implement DPOSE and LLPR error estimators. I think there is a certain connection.

Originally posted by @ceriottm in https://github.com/lab-cosmo/metatensor-models/issues/137#issuecomment-1985760037

With the current organization of the code, DPOSE/LLPR would have to be implemented on a per-architecture basis. What we can do is provide the models with tools that can compute these (in metatensor.models.utils) and some example of how to do the integration.
Also pinging the people who worked on the corresponding papers (@bananenpampe, @frostedoyster, @SanggyuChong). Maybe we can design a DPOSE class and a LLPR class for this? What should be the inputs/outputs of such classes?

Thanks @Luthaf  for creating this. I think that providing utilities of this kind will add a lot of extra value to mtm.

Thanks for the push here, @Luthaf! Happy to get involved.
We would need to take time to decide on the most reasonable and extendable architecture in getting this done, esp. in terms of how the necessary information from the last layer is extracted.
Very generally speaking, LLPR should take bare minium inputs that are needed to compute the last layer weight gradients for the training dataset, and then would internally store the covariance gradient matrix of size (last_layer_features ** 2). It would then have some call function that takes a structure (or a local environment :wink:) as input and returns the corresponding LPR or PR (prediction rigidity). @frostedoyster has the implmentations for our preprint, so we could take that as a starting point and think of how to best modularize.


Cannot install ueberzug from PyPi.

I cannot find any suitable package for that dependency.
I am running Fedora 37 with Linux kernel 6.0.10
Can someone help me?
Relevant error message:
Could not find suitable distribution for Requirement.parse('ueberzug')

It seems that the maintainer of Überzug has decided to discontinue the project and removed it from PyPi.
While I search for a suitable replacement, you can work around this by cloning an older commit of Überzug and installing manually.
Hope this helps!

Thanks!
I will try it and let you know

Please don't run miniplayer as root. What happens if you skip the sudo? Also, what is the output of where miniplayer.
Make sure you have curses and mpd installed.
Please also post the contents of your mpd config, and the miniplayer config if you have it configured.

Here is the output without sudo:
Traceback (most recent call last):
File "/usr/local/bin/miniplayer", line 4, in
import('pkg_resources').run_script('miniplayer==1.8.0', 'miniplayer')
File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 672, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 1479, in run_script
exec(script_code, namespace, namespace)
File "/usr/local/lib/python3.11/site-packages/miniplayer-1.8.0-py3.11.egg/EGG-INFO/scripts/miniplayer", line 5, in
File "", line 1178, in _find_and_load
File "", line 1149, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 936, in exec_module
File "", line 1073, in get_code
File "", line 1130, in get_data
PermissionError: [Errno 13] Permission denied:  /usr/local/lib/python3.11/site-packages/pixcat-0.1.4-py3.11.egg/pixcat/init.py
here is the output for where miniplayer:
/usr/local/bin/miniplayer
I did not have mpd installed. After installing I ran the command again but nothing different happened.
Also, the configurations are untouched by me.

It looks like your pixcat installation is broken. Try reinstalling with pip running as user.
If you need further assistance, please open a new issue.


Not able to run -mps device

─$ python main.py
Traceback (most recent call last):
File "/home/martin/ExternePlatten/LinuxData/LanguageModels/Alpha-Co-Vision/main.py", line 5, in
from caption_generation import generate_caption
File "/home/martin/ExternePlatten/LinuxData/LanguageModels/Alpha-Co-Vision/caption_generation.py", line 6, in
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base",torch_dtype=torch.float16).to("mps")
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/transformers/modeling_utils.py", line 1878, in to
return super().to(*args, **kwargs)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1164, in to
return self._apply(convert)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 814, in _apply
module._apply(fn)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 814, in _apply
module._apply(fn)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 814, in _apply
module._apply(fn)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 837, in _apply
param_applied = fn(param)
File "/home/martin/.pyenv/versions/alpha-co/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1162, in convert
return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)
RuntimeError: PyTorch is not linked with support for mps devices

Hey Martin,
sorry for a delayed reply!
"RuntimeError: PyTorch is not linked with support for mps devices" not supported could mean 2 things: either you have a device that is not supported on mps (apple) or pytorch is not correctly installed for mps.
If you are on Mac and need help with getting started with using mps follow this guide: https://vkumethi.medium.com/how-to-install-pytorch-on-apple-silicon-mac-m1-m2-easiest-guide-d31a7c683367
and if you are not on Mac, then you will need to change the MPS devices in the lines to CUDA or CPU <3
Hope it helps!


Update

Updates for A1, A2, A3 and Final

Hi Faeza,
Probably by mistake, in this PR you are making changes to your folders and some of your classmates' assignments. I imagine that is not your intention.
I will close it so you can ensure you don't submit changes to other classmates' folders.
**

**
I can help if you need me


[SPARK-49539][SS] Update internal col families start identifier to a different one

What changes were proposed in this pull request?
Update internal col families start identifier to a different one
Why are the changes needed?
Some users might choose to use _ as the start character for their state variable name as well as argument. Hence we update the internal col families start identifier to the $ char. Scala lexical identifiers follow the same rule and Python also doesn't allow vars to start with this char.
Does this PR introduce any user-facing change?
Yes
How was this patch tested?
Modified unit tests
[info] Run completed in 3 seconds, 442 milliseconds.
[info] Total number of tests run: 4
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 4, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.

Was this patch authored or co-authored using generative AI tooling?
No

@HeartSaVioR - test failure org.apache.spark.sql.CollationSuite seems unrelated to this change

Thanks! Merging to master.


not support ceil_mode

RuntimeError: Expected ceil_mode == false to be true, but got false.  (Could this error message be improved?  If so, please report an enhancement request to PyTorch.)

I don't have the plan to support this. You can fix it by yourself.


fix(falcon/request): HTTP headers as strings

Ensure HTTP headers and values are string types per PEP3333. This
fixes wsgi servers running under py2k.
Fixes #413
This doesn't enforce codepoint boundary yet (must be in \u00-\uFF)

Changes Unknown when pulling 9a3d07465fac00a2af774bd66533f4e209f4dea8 on ginoledesma:unicode-header-values into ** on falconry:master**.

Changes Unknown when pulling 9a3d07465fac00a2af774bd66533f4e209f4dea8 on ginoledesma:unicode-header-values into ** on falconry:master**.

Coverage remained the same at 100.0% when pulling fc35d430c1382b128eaea186c277e9009bc95fe6 on ginoledesma:unicode-header-values into 62f63a2ec384a804b3005397c4ba54311bd77e06 on falconry:master.

Coverage remained the same at 100.0% when pulling fc35d430c1382b128eaea186c277e9009bc95fe6 on ginoledesma:unicode-header-values into 62f63a2ec384a804b3005397c4ba54311bd77e06 on falconry:master.

Coverage remained the same at 100.0% when pulling fc35d430c1382b128eaea186c277e9009bc95fe6 on ginoledesma:unicode-header-values into 62f63a2ec384a804b3005397c4ba54311bd77e06 on falconry:master.

Coverage remained the same at 100.0% when pulling fc35d430c1382b128eaea186c277e9009bc95fe6 on ginoledesma:unicode-header-values into 62f63a2ec384a804b3005397c4ba54311bd77e06 on falconry:master.

@kgriffs mentioned in #413 that this should be fenced to only occur on py2 so that py3k users performance isn't affected. However, the RFC says headers should be ASCII regardless of which version of Python you're running. The PR here looks good except for the stipulation about py2/py3k.
LGTM unless @kgriffs wants to limit to py3k. I'm not smart enough to know if not doing it there is OK.

@mcmasterathl I chatted about this with @ginoledesma yesterday and we decided to just make it work consistently across py2 and py3.
The idea is that by passing through str we both catch strings with non-ascii chars and support setting values to anything that implements __str__.

+1

FWIW, just benchmarked str vs explicity testing using isinstance, and just passing through str() is slightly faster.

I'll get the changes in and submit them in a jiff

@ginoledesma Just following up. After those two minor comments are addressed, I think this is ready to merge.

@ginoledesma I'd like to get this merged in the next week if possible. Would you mind rebasing on master? Looks like there may be some conflicts. Once the commit is rebased, you can just push the branch with --force (no need to open another PR). Thanks!

Not at all. I'll sort it out by tomorrow.

gino

On Wed, Aug 12, 2015 at 3:52 PM, Kurt Griffiths<EMAIL_ADDRESS>wrote:

@ginoledesma https://github.com/ginoledesma I'd like to get this merged
in the next week if possible. Would you mind rebasing on master? Looks like
there may be some conflicts. Once the commit is rebased, you can just push
the branch with --force (no need to open another PR). Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/falconry/falcon/pull/490#issuecomment-130471216.

If you don't mind, I'll go ahead and finish this up and get it merged.

[updated previous comment]

[merged manually]


ConnectorType properties - request addition of 'advanced' attribute

@rk3rn3r - we'd like the backend service to indicate if a connector property is 'advanced'.  This would allow the UI to easily display basic vs advanced properties in separate expandable areas.

category - In further of the above, could the properties be categorized/sub-categorized?  This would allow the UI to determine how to separate and display the properties into appropriate pages/groupings.  For example (category = 'properties.basic', 'properties.advanced', 'filters', 'data.mapping', 'data.handling_mode', 'connector.data.columns', 'data.snapshot', 'target.broker', 'target.engine', 'target.heartbeat') might be an illustration of this.
required - need to know if the property is required

Like in the discussion we could make it, but imo we currently have no flag but some programmatic config for required parameters for example. As we don't need it in the backend I would suggest we only make it with a separate decorator or do it on the frontend side as it is only required there. Would be interesting what @gunnarmorling thinks about that?

So there shouldn't be any details like this configured/hard-wired in the frontend itself. Instead, the configuration server API should return this metadata (required, category) as part of the API call that returns all the available options. @rk3rn3r if you remember, we were talking about this before my PTO; the question is whether we can add this metadata to the actual field definitions in the Debezium config classes themselves (MySqlConnectorConfig etc.) or not. If not, we'd have to locate that additional metadata in the UI backend server for now and enrich the configuration options retrieved from the connector config with that. Does that make sense?

Why should this be put on Debezium connectors when it's not needed there? We only need that info on the frontend. Also doing this in Debezium itself would mean to introduce these data in Debezium for a PoC which might disappear soon. Imo from architectural perspective it's not a wise decision to store this at the fields inside Debezium. It will also hard couple the UI to Debezium (release order wise), imo also it might be practical to put it into Debezium it's not a good way of implementing it.

As discussed earlier today, let's keep that additional metadata in the UI backend for the duration of the PoC ("which might disappear soon" is a good reason for that decision).
In the long term though I'd definitely see this metadata in Debezium itself. Release-wise coupling actually is exactly what we need: say an enum property gets an additional allowed value in a new Debezium release (e.g. a new snapshot mode); having the knowledge about the allowed values for each version encoded in the UI backend will become a big maintenance problem quickly, whereas if this information can be obtained from Debezium itself, that'll be much easier to handle. Also keep in mind there's already related metadata in the Field definitions in Debezium (width, importance) which isn't needed by Debezium itself but solely for external configuration clients. It makes sense to pursue that path (after the Poc).

Logged #50 for exposing the metadata we discussed

This has been addressed with the addition of the property metadata


jangouts <-> phone gateway

Since audio with firefox and chromium is so often broken a fallback method to connect via the good old robust phone should be possible.

In theory this should be possible thanks to Janus... but I don't see it happening in the mid-term. So closing.
Sorry.


Add positional param to radio

@homu r+

:pushpin: Commit 34e35ba has been approved by martndemus

:zap: Test exempted - status


fix stacker adapter when streams are not immediately ready on poll

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 Raster-Stacker gibt keine Daten/NODATA auf Testworkflow aus

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

115 of 119 (96.64%)  changed or added relevant lines in 2 files are covered.
7 unchanged lines in 6 files lost coverage.
Overall coverage increased (+0.009%) to 89.821%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/processing/raster_stacker.rs
111
115
96.52%

Files with Coverage Reduction
New Missed Lines
%

services/src/api/handlers/wfs.rs
1
96.38%

services/src/api/handlers/wms.rs
1
94.83%

services/src/api/handlers/workflows.rs
1
90.09%

services/src/pro/contexts/postgres.rs
1
96.41%

services/src/tasks/in_memory.rs
1
92.04%

operators/src/processing/raster_vector_join/mod.rs
2
88.39%

Totals

Change from base Build<PHONE_NUMBER>:
0.009%

Covered Lines:
115351

Relevant Lines:
128423

💛  - Coveralls


tsm_test

Signed-off-by: gexy5<EMAIL_ADDRESS>tsm_test
Signed-off-by: gexy5<EMAIL_ADDRESS>add all tsm unnitest
Signed-off-by: gexy5<EMAIL_ADDRESS>

Codecov Report

Merging #1179 (207021c) into main (1474520) will increase coverage by 4.30%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1179      +/-   ##
==========================================
+ Coverage   62.90%   67.21%   +4.30%
==========================================
  Files         240      239       -1
  Lines       11466    10957     -509
  Branches     1824     1810      -14
==========================================
+ Hits         7213     7365     +152
+ Misses       3789     3114     -675
- Partials      464      478      +14

Impacted Files
Coverage Δ

towhee/models/tsm/temporal_shift.py
50.49% <ø> (+29.70%)
:arrow_up:

towhee/models/tsm/tsm.py
75.92% <100.00%> (+41.28%)
:arrow_up:

towhee/functional/data_collection.py
84.57% <0.00%> (-2.09%)
:arrow_down:

towhee/dataframe/dataframe.py
73.10% <0.00%> (-1.05%)
:arrow_down:

towhee/models/layers/non_local.py
90.24% <0.00%> (+69.51%)
:arrow_up:

towhee/models/tsm/mobilenet_v2.py
93.05% <0.00%> (+72.22%)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm

/lgtm
/approve


spawn unkown system error -86 with import extension

Azure Data Studio Version:
OS Version:

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

it is showing this error and nothing happened with import wizard.

Can you please try uploading screenshot again? There seems to be an issue with uploaded image.

Please try installing Rosetta with below command, as we've seen similar issues getting resolved with it:
softwareupdate --install-rosetta

Thank you so much. It works.
On Fri, Nov 24, 2023 at 3:15 AM Cheena Malhotra @.***>
wrote:

Please try installing Rosetta with below command, as we've seen similar
issues getting resolved with it:
softwareupdate --install-rosetta
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azuredatastudio/issues/25038#issuecomment-1824947215,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5L6M7SS7N3MB5J7R47OBTDYF67YJAVCNFSM6AAAAAA7YFE4AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRUHE2DOMRRGU
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Closing as resolved.


Local my.harvard course list has duplicates

We send concurrent requests to my.harvard and aggregate the results, removing duplicates. (The key to uniquely identify courses is aptly named, Key.)
However, I don't believe we should be seeing duplicates; when I manually search for allegedly duplicate courses, only one result shows up. Also, each time the course download script is run, a different number of duplicates are removed.

I'll see if the solution to #8 fixes this and work from there.

Ok, so it looks like it's intended behavior to not match the HitCount locally, because we expect to receive duplicate results and remove them. But does my.harvard actually produce duplicates, or are we seeing them because of a bug in our code? I updated the issue to reflect this question.

The problem is simply that the order of results is inconsistent across searches. Since we request each page separately, a course may show up on no pages, one page, or multiple pages.
We can fix this by requesting the results to be ordered by a unique key. AFAIK, course IDs are unique, so we can add SortOrder: ["CRSE_ID"] to our queries.
A nitpick of this solution is that each course already has a Key that is composed of other properties in addition to the course ID, but the API is unable to sort by Key. Perhaps a more robust solution is to figure out how my.harvard tracks the user's session to fix the order of results in the UI; if we can send each request from the same session, then we don't have to rely on a sort order.

The problem is simply that the order of results is inconsistent across searches. Since we request each page separately, a course may show up on no pages, one page, or multiple pages.

Oh geez, that sounds like a bug on the My.Harvard side then. Does it only happen for searches that return a lot of courses?

Perhaps a more robust solution is to figure out how my.harvard tracks the user's session to fix the order of results in the UI; if we can send each request from the same session, then we don't have to rely on a sort order.

Ah, I had no idea there was a session at all. So this means that if you make the same query to My.Harvard twice, in two separate sessions, it's possible to get different result orders?

It's proven very difficult to pinpoint the cause of this issue 😩. What I've done so far leads me to believe it comes down to buggy pagination on the server side.
Browser testing

So this means that if you make the same query to My.Harvard twice, in two separate sessions, it's possible to get different result orders?

Yes, but now it seems there is no session tracking. My manual testing workflow in the browser has been:

Open the Network panel of the developer tools.
Submit a search on my.harvard.
Copy the request as a fetch().
Disable caching (either with the checkbox in the Network panel or by setting the appropriate headers).
Include or omit credentials. I don't notice any difference between the two, which is why I say there's no session tracking.
Modify the payload as you wish to change the sorting method or page number. Not specifying a sorting method will still result in the default sort by "relevance."
Send the request.

The page returned to me is one of two possibilities; call them A or B. I can't figure out what causes me to get one or the other, but one set, say A, is much more common. I will replay requests and receive a lot of As, after which I receive a B or two before reverting back to As.
At one point, I was able to induce a B from a page by requesting some other page and then requesting the original page. That latter request always gave me a B, after which replays returned As. I can no longer reproduce this.
Nonetheless, we can conclude that it is possible to receive different results from identical page requests. This enables the observed behavior that courses are duplicated or do not appear in the accumulated results across all pages.
Code testing
Let me just say, it was so much more pleasant to do automated tests with the code 😌. My findings amplify and elaborate on the manual browser testing.
First, I debugged the existing behavior that finds hundreds of duplicates with the default sorting method. There are courses that appear on two pages, three pages, and possibly more. Furthermore, since the total number of results including duplicates is the same as the total number we expect without duplicates, we know that some courses are not present at all.
We haven't touched the sorting method yet, so let's sort by course title. This can still produce tens of duplicates; consider this: There are 75 courses with a title of Tutorial - Senior Year! It doesn't help at all to sort these by course title with no way to arbitrate further.
The observed behavior is that sometimes courses with the same title are duplicated across consecutive pages. One way to explain this is that when the server is determining which results to show on the current page, it remembers which title it left off at on the previous page and starts from the next title, which may be the same. The server doesn't keep track of which courses went to the previous page, and its arbitrary pick of courses with the same title ends up being a duplicate.
That explanation is probably inaccurate, but it helps to conceptualize 🤷. Anyway, as far as we're concerned, the explanation isn't too important, because we can resolve the issue if we sort such that there is no arbitration.
Resolution
We would love to sort by Key, but some fields including it are unable to be used. Generally, uppercase fields are allowed. I propose we sort by CRSE_ID or URL_URLNAME. Despite many runs, I haven't been able to produce duplicates with either.
CRSE_ID is a little scary, because there can be many results with the same one. A course ID uniquely identifies a "course" in the common sense; CS50 is a course, for example. But courses can be offered in multiple semesters and have multiple sections, all of which appear on my.harvard under the same course ID.
It seems like a better option is to use URL_URLNAME, which encodes all the fields that logically identify a search result. Here is CS50's for its only published section this fall: https://locator.tlt.harvard.edu/course/colgsas-152514/2023/fall/14862. Yeah, it's the locator link. I verified that each course this academic year has one, and it uniquely identifies the course.
Long post, but any thoughts?

Thanks for the really thorough investigation! Let's see:

The page returned to me is one of two possibilities; call them A or B. I can't figure out what causes me to get one or the other, but one set, say A, is much more common. I will replay requests and receive a lot of As, after which I receive a B or two before reverting back to As.
At one point, I was able to induce a B from a page by requesting some other page and then requesting the original page. That latter request always gave me a B, after which replays returned As. I can no longer reproduce this.
Nonetheless, we can conclude that it is possible to receive different results from identical page requests. This enables the observed behavior that courses are duplicated or do not appear in the accumulated results across all pages.

The most important thing is what you've observed and how you want to fix it. But to offer a possible theory:
Since you're not seeing sessions be a part of it, one possible explanation is that My.Harvard, somewhere in their infrastructure, is simply running two replicas of their search engine, say A and B. These would have their own individual indices ordered non-deterministically at startup time, and then your request would go to one of the search engines with load balancing.
The search endpoint uses HTTP/2, so multiple HTTP requests are multiplexed on a single TCP connection that your browser makes to the server (this is true for HTTP/1.1 and higher). It's possible that this could cause the non-deterministic behavior  because the load balancer could statefully route all your requests to server A, but then later on when the browser makes a second TCP connection (closing and opening pages, waiting a while, etc.), it gets routed to server B.

We would love to sort by Key, but some fields including it are unable to be used. Generally, uppercase fields are allowed. I propose we sort by CRSE_ID or URL_URLNAME. Despite many runs, I haven't been able to produce duplicates with either.
CRSE_ID is a little scary, because there can be many results with the same one. A course ID uniquely identifies a "course" in the common sense; CS50 is a course, for example. But courses can be offered in multiple semesters and have multiple sections, all of which appear on my.harvard under the same course ID.
It seems like a better option is to use URL_URLNAME, which encodes all the fields that logically identify a search result. Here is CS50's for its only published section this fall: https://locator.tlt.harvard.edu/course/colgsas-152514/2023/fall/14862. Yeah, it's the locator link. I verified that each course this academic year has one, and it uniquely identifies the course.

Either option sounds great to me!

Thanks for the insight! I hadn't considered load balancing, and what you say makes a lot of sense.
However, I used httptrace to inspect our TCP connections and conclude that we are reusing the same connection for every request. Perhaps my.harvard is load balancing HTTP requests on the same TCP connection.
I'll go ahead and make the PR to close this!

Great, makes sense! That sounds possible


docs: update test_hpa.md to drop --generator flag

Issue #, if available:
--generator flag has been deprecated.
~/Workspace/Experiments/eksworkshop ❯ kubectl --generator=run-pod/v1 run -i --tty load-generator --image=busybox /bin/sh

error: unknown flag: --generator
See 'kubectl run --help' for usage.

Description of changes:
remove generator flag
kubectl run -i --tty load-generator --image=busybox /bin/sh

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

@allamand - I dont think I have access to commit to main
Only those with [write access](https://docs.github.com/articles/what-are-the-different-access-permissions) to this repository can merge pull requests.


builder,dispatcher: support inline --network in RUN statements

Imagebuilder should allow clients to support inline --network in RUN stmts so users can create isolate or expose a particular build containers.
FROM alpine
RUN --network=host wget google.com
RUN --network=none wget google.com

/hold wait for test.

/hold cancel ready for review.

LGTM
@nalind PTAL

What does the dockerclient implementation do with this flag?  Quietly ignoring it would not be okay.

LGTM once @nalind is hip with this.

/approve

@nalind My intention is to wire it in the Prepare( step of dockerclient to simulate buildkit but now I think it will be an effort to simulate buildkit while imagebuilder does not actually invokes buildkit. So I am okay to remove or comment this line in case we want to implement this in future.
Ref: https://pkg.go.dev/github.com/fsouza/go-dockerclient#CreateContainerOptions

CreateExec() and StartExec(), which the dockerclient implementation uses for handling RUN instructions, don't appear to me provide an option for altering the networking setup for the command being run.  I don't understand which line you're referring to removing or commenting out.  Do you mean the Builder.Network field that this currently adds?

@nalind I have dropped that part, since it does not looks right, I will wire it when go-dockerclient actually supports buildkit.

It's not clear what purpose the new Builder.Network field serves.
What does the dockerclient implementation do with this flag?  Quietly ignoring it would not be okay.

@nalind My bad i removed the using line but forgot to remove the field, removed it now.

Okay, good.  What does the dockerclient implementation do with this flag?  Quietly ignoring it would not be okay.

@nalind I have added a failure for RUN --network just like its added for RUN --mount here: https://github.com/openshift/imagebuilder/commit/9c60e8980c52d9743f7298094f31f6527fae1e6e

@nalind @rhatdan @TomSweeneyRedHat PTAL we can have RUN --network support in buildah once this gets merged.
/hold cancel

/lgtm


AI instructions are omitted when generating variant responses

Currently, if you use /ai instruction to give the AI an instruction -- either on its own, or at the end of a normal user response -- the instruction is correctly reflected in the AI response. But if you then use the blue button to generate a variant of the response, the AI instruction is apparently not included in the new API call, and so is not reflected in the variant response.
(Thank you for this great project!)

I notice that the AI instruction for each message is now stored in the conversation history, and that variant responses now appear to reflect the AI instruction. Great stuff! I'll open another issue with a potential enhancement, but I'll close this one as fixed.

Ah, sorry - forgot to update this issue, thanks for the suggestion!


Delete feature for people who created gigs - time permitting

Users may delete gigs from their profile page if the bid has not been accepted.


Regarding domain-specific heuristic with disjunctive atoms

Hi
Does Clingo's domain-specific heuristics work with disjunctive atoms? I have a disjunctive logic program:
p(f1) ; n(f1).
p(cf1) ; n(cf1).
:- p(f1), p(cf1).

p(f2) ; n(f2).
p(cf2) ; n(cf2).
:- p(f2), p(cf2).

p(f3) ; n(f3).
p(cf3) ; n(cf3).
:- p(f3), p(cf3).

p(f4) ; n(f4).
p(cf4) ; n(cf4).
:- p(f4), p(cf4).

:- not p(f1), not p(cf2), not p(cf3), not p(f4).
:- not p(cf1), not p(f2), not p(f3), not p(cf4).

sat :- not p(cf1), not p(f2), not p(cf3), not p(f4).

:- not sat.

#show p/1.

I aim to compute minimal answer sets w.r.t. p/1 atoms. I use the following command:
clingo --dom-mod=false,show --enum-mode=domRec --heuristic=domain -n 0 <filename>

The clingo output is as follows:
clingo version 5.5.1
Reading from rule_enum.pl
Solving...
Answer: 1
p(cf4) p(f3) p(cf2) p(f1)
Answer: 2
p(cf4) p(f3) p(cf2)
Answer: 3
p(cf4) p(cf2)
Answer: 4
p(cf4) p(cf2) p(f1)
Answer: 5
p(cf4) p(f1)
Answer: 6
p(cf4) p(f3) p(f1)
Answer: 7
p(f3) p(f1)
Answer: 8
p(f3) p(cf2) p(f1)
Answer: 9
p(f3) p(cf2)
SATISFIABLE

Unfortunately, considering the answer set 3, answer sets 1, 2, and 4 (listed above) are not subset minimal answer sets w.r.t. atoms p/1.
Is there an issue with my encoding, or am I misunderstanding something?
-Mahi

Hm, are you sure that you are correctly passing the options to clingo?
For me, clingo  --dom-mod=false,show --enum-mode=domRec --heuristic=domain --stats -n0 /tmp/heu.lp, where   /tmp/heu.lp is your program, produces the following four answer sets:
Solving...
Answer: 1
p(f3) p(f1)
Answer: 2
p(f3) p(cf2)
Answer: 3
p(cf4) p(f1)
Answer: 4
p(cf4) p(cf2)
SATISFIABLE

Furthermore, I would suggest updating clingo to a more recent version (e.g. clingo-5.7.1)


Allow partial maches in span names

Small usability improvement.
Our span names tend to be pretty long - fully qualified java class names + method.
This tweak allows for search to look for matches contained with the span name.

Makes sense.. I forgot we have this advantage as we have a separate call to get span names.


Can't register two Redis Liveness

Trying to add two Redis liveness:
context.AddRedis("the-redis-options");
context.AddRedis("the-redis-options-2");

Throws an exception about the "redis" path is already registered

Duplicated #21


Make it easier to find places outside the scope of a network site

If someone searches from /places on a network site for a place that is either A) actually outside the scope of the network site or B) inside the network site scope but hasn't been assigned a parent place inside the network site scope, they cannot find the place. This leads to confusion.
When searching for projects, there is always an option to "view projects from everywhere" from /projects/search. e.g.

There is no such "view places from everywhere" option on /places.
I see 2 possible approaches here:

Add a link to "view places from everywhere", which would require adding something like the everywhere=true to the place search api, e.g. allow something like https://uk.inaturalist.org/places/search?commit=Search&everywhere=true&q=auckland&utf8=✓ (currently returns no results), which is analogous to https://uk.inaturalist.org/projects/search?commit=Search&everywhere=true&q=auckland&utf8=✓
Change /places searches to return results from the header search filtered to places, e.g. https://uk.inaturalist.org/search?q=auckland&source[]=places

If we go with option 2, I suggest that we also change the search results from /projects to behave similarly.

Assuming option 2 means getting rid of that site-specific project/place filtering, then I prefer that.

@carrieseltzer should we proceed with option 2?

Yes I think so

--

Carrie Seltzer, PhD
Stakeholder Engagement Strategist
iNaturalist
California Academy of Sciences
Note: I am based in Washington, DC (check local time
https://www.timeanddate.com/worldclock/usa/washington-dc for scheduling
purposes)


Reset git branch strategy

I think there are three reasons for push branch. (exactly four)

Create new feature
Modified existing feature
2-1. bugfix
2-2. enhance
hot-fix - not issue based (ex. fix misprint)

In that context, we have two ways of naming a git branch,
One is issue-[number] and the other is fix-issue-[number].
Our strategy does not handle all cases.
I think,issue-[number] covered 1, 2-2 and fix-issue-[number] covered 2-1,
but number 3 is not covered by anything.
So I suggest create hotfix/[fixed-summary] branch
If you have any other comments, please let me know.
Thanks

I think there is no need to fix-issue-[number].
The issue-[number] strategy covers fix-issue-[number].
How about just use two strategies below?

issue-[number]
hotfix/[fixed-summary]

Sounds great. I agree
But how about talking on Saturday?

Noproblema!

We could consider the gitflow too.

https://news.ycombinator.com/item?id=9744059

GitLab CEO here. I agree that GitFlow is needlessly complex and that there should be one main branch. The author advises to merge in feature branches by rebasing them on master. I think that it is harmful to rewrite history. You will lose cherry-picks, references in issues and testing results (CI) of those commits if you give them a new identifier.

I think master/develop strategy is a pain. We make new branch for requesting pull request.
So there is no reason that we have to develop branch.
Master is a branch for only production deploy? There is tag.
Let's see other's repositories. The super-heavy repo Linux does not use develop branch. They use just a master branch and branches for pull requests.
https://github.com/torvalds/linux
https://github.com/textmate/textmate

OK.
we use two branch naming strategy

[title_text]-[issueNumber] / covered 1, 2 / Issue [O], PR [O]
hotfix/[title_text] / covered 3 / Issue [X], PR [O]


Future Value Invalid Cast Exception - EF Core 1.1-preview1

Unable to cast object of type 'Microsoft.EntityFrameworkCore.Internal.LazyRef`1[Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager]' to type 'Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager'.
I am getting this error after updating from 1.4.6 to 1.4.9 .
The normal EF count is working fine.
public QueryFutureValue<long> CountAllFuture()
        {
            return _dbContext.Set<T>().DeferredLongCount().FutureValue();
        }

Exception at line:
var imCount = _imRepository.CountAllFuture();

P.S. I also upgraded from EF Core 1.0 to EF Core 1.1 Preview 1.
Reverting back to 1.4.6 doesnt helps.
and I am getting same errors for BatchDelete as well.

Hello @saad749 ,
Thank you for reporting this issue.
Obviously, this issue happens because EF Core has again changed some stuff.
This issue is very easy to fix so it will be done this weekend but I cannot guarantee our library will be compatible since we don't know yet how much EF Core 1.1.0 has been changed.
I will let you know in a few days,
Best Regards,
Jonathan

Hello @saad749 ,
The v1.4.10 is now available.
Let me know if this is now compatible with EF Core 1.1 Preview 1
Best Regards,
Jonathan

Thanks a lot Jonathon for such a prompt fix. I will be testing it in 12-16 hours and let you know.

Closing: Fixed in v1.4.10, if you still have the issue, re-open it.


Update vmware-hcx-mon-guidance.md

According to VMware HCX documentation an HCX enterprise license is required for mobility optimized networking which should be reflected in our docs:
HCX Mobility Optimized Networking (MON) is an enterprise capability of the VMware HCX Network Extension (HCX-NE) feature.
https://docs.vmware.com/en/VMware-HCX/4.2/hcx-user-guide/GUID-D06ABBEE-CF8D-4506-A5DC-61B63D9B9EE5.html

@Bernd-Loehlein : Thanks for your contribution! The author(s) have been notified to review your proposed change.

will re-submit using azure-docs-pr


Fix dragLeave handling when children change (#370)

When the child content can vary according to whether the drag is active, such as putting an overlay in front of it or replacing some content, it's possible to get an initial dragEnter event when you drag onto that content, but you'll never get a corresponding dragLeave event, so the enter counter gets thrown off and the dragActive styles never go away.

Track which elements have been the targets of dragEnter events
On receiving a dragLeave event, remove from that list any DOM elements which are no longer part of the current container
Add test case for this

Pushed the requested changes, ready for another round of review.

Let me know if you need any help with pushing this forward for a release.

Finished removing the handling of nested dropzone components and squashed the previous work. I added a test case to describe the current behavior, which is that both dropzones will fire onDrop() events.


Compilation error. boost dependency not found, but it does exist.

Thanks for your great work!
I met some questions when I try to compile and run this project.
mkdir build
cd build
cmake ..
make

when compiling by make, the error occurs.
Consolidate compiler generated dependencies of target tetranerf_cpp_extension
[ 12%] Building CXX object CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cpp.o
[ 25%] Building CXX object CMakeFiles/tetranerf_cpp_extension.dir/src/triangulation.cpp.o
In file included from /usr/local/include/CGAL/compute_average_spacing.h:21,
                 from /root/home/workspace/tetra-nerf/src/triangulation.cpp:9:
/usr/local/include/CGAL/Point_set_processing_3/internal/Neighbor_query.h:25:10: fatal error: boost/iterator/function_output_iterator.hpp: No such file or directory
 #include <boost/iterator/function_output_iterator.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
CMakeFiles/tetranerf_cpp_extension.dir/build.make:277: recipe for target 'CMakeFiles/tetranerf_cpp_extension.dir/src/triangulation.cpp.o' failed
make[2]: *** [CMakeFiles/tetranerf_cpp_extension.dir/src/triangulation.cpp.o] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/tetranerf_cpp_extension.dir/all' failed
make[1]: *** [CMakeFiles/tetranerf_cpp_extension.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

it seems that it cannot find the boost dependency, but im pretty sure that it is located in /usr/lib
I would appreciate for you help! Thanks!

sorry, i've made a mistake.
My boost is located in /usr/include.

Hi, sorry for the delay. How did you install CGAL? Can you make sure your CGAL version is compatible with your installed boost version?

Thank you for you reply! I've solved this problem. It seems that the CGAL version is imcompatible with the boost version, and I reinstall the CGAL. Now it compiles properly.
Thanks for your brilliant work!


Update registryPoll interval for catalog source

We are obervering that as soon as user start crc it pulls the
images for catalog sources which is part of openshift-maketplace.
This patch will change the registryPoll interval from 10m to 720h (30d)
to avoid this pull even image is updated on the registry.
fixes: #393

/hold
Need to clarify with openshift marketplace team once.

If I want the latest version of an operator from the marketplace, will the catalog be downloaded on demand when needed? or will I always get an outdated version until I ran some command to update it?

If I want the latest version of an operator from the marketplace, will the catalog be downloaded on demand when needed? or will I always get an outdated version until I ran some command to update it?

@cfergeau you will suppose to get the same version which was during the bundle creation, if you need an recent one then you do need to update the interval again but I do need to verify it with marketplace team if this is correct assumption and fixes what @guillaumerose faces.

We know from feedback that people prefer a static image with a predictable setup. So if a user wants a new image this is OK to be a user's choice to deal with; so documentation is needed to describe the 'limitation'.

Note: we might not want marketplace to be a standard part, but rather move to this the enable as addon like the telemetry/metrics option as we do with prometheus.

I am wondering if we should not just remove this update block. It is weird to trigger the update only after 30d. Why not 90d ?

I am wondering if we should not just remove this update block. It is weird to trigger the update only after 30d. Why not 90d ?

I actually felt the same. Completely disabling or an extremely long interval, as 30 days will be reached for sure

What do we do with that @praveenkumar ? Do you think we can take this solution for the next release ?

What do we do with that @praveenkumar ? Do you think we can take this solution for the next release ?

@guillaumerose I will need to update it as per suggestion but as per slack conversation with operator team looks like it only make sense to first disable default catalog sources and then add with modified resource which have modified version of registryPoll.

Closing this because there is no way we change the pod imagePullPolicy which is default set to Always so even if we change the interval the fresh start of pod going to registry and check for that image.


Rebrand

Switching data over to coffee shop complete.

Rebrand complete with coffee shop data entered and working.


To-One Relations: __boxStore field missing

When I use The To - One Relations
For example:
@Entity
public class Order {
@Id long id;
long customerId;

@Relation Customer customer;

/** Used to resolve relations */
@Internal
@Generated(hash =<PHONE_NUMBER>)
transient BoxStore __boxStore;

@Generated(hash = 789963847)
public Order(long id, long customerId) {
    this.id = id;
    this.customerId = customerId;
}

@Generated(hash =<PHONE_NUMBER>)
public Order() {

}

...
...

}
@Entity
public class Customer {
@Id long id;
...

}
When I call in the activity and setCustom () will throw an exception
    Customer customer=new Customer(0,"test");
    Order order=new Order(0,0);
    order.setCustomerId(0);
    order.setCustomer(customer);   // This code

    orderBox.put(order);

java.lang.IllegalStateException: java.lang.NoSuchFieldException: __boxStore
at io.objectbox.internal.ReflectionCache.getField(ReflectionCache.java:31)
at io.objectbox.relation.ToOne.ensureBoxes(ToOne.java:73)
at io.objectbox.relation.ToOne.setTarget(ToOne.java:126)
at com.mj.rx.practice.no_sql.Order.setCustomer(Order.java:80)

Customer customer=new Customer(0,"test");
Order order=new Order(0,0);
orderBox.put(order);

order.setCustomerId(0);
order.setCustomer(customer);

So there would be no exception, but in the end the Custom query is empty
Can you help me to write a correct code is put in the Custom.

Customer customer=new Customer(0,"test");
Order order=new Order(0,0);
orderBox.put(order);
order.setCustomerId(0);
order.setCustomer(customer);
So there would be no exception, but in the end the Custom query is empty
Can you help me to write a complete put the Custom in the Order code.

    Customer customer=new Customer(0,"test");
    Order order=new Order(0,0);
    orderBox.put(order);
    order.setCustomerId(0);
    order.setCustomer(customer);

I put the first Order after put the Custom, so won't appear abnormal, but the query in the Order of the Custom is empty.
Can you help me write the Custom code is put in the Order right?

In this way before I tried just now and try out the query the Custom is still empty
Customer customer=new Customer(0,"test");
customerBox.put(customer);
Order order=new Order(0,0);
order.setCustomerId(customer.getId());
orderBox.put(order);

The query code
List<Order> listOrder= orderBox.getAll();

listOrder.toString();

The Order inside the Custom is null


Add ability to supply custom start_time

Description
When hooking onto an  existing "real" progress after it starts, e.g. one already running for a while in a thread, some of the displayed widget values are wildly wrong. AdaptiveETA() seems to deal with this quickly and well, however, Timer() erroneously starts from 0, and therefore also FileTransferSpeed() is very wrong.
Expected functionality
This is would be the interface that would make sense.
t = Thread(target=worker_thread,args=(path, progress, result, abort), daemon=True)
start_time = datetime.now()
t.start()

yield/time.sleep(10)  # pause this function for a while

with pb.ProgressBar(max_value=fsize, max_error=False,
                    widgets=widgets, start_time=start_time) as bar:
    while t.is_alive():
        bar.update(progress.value)

Proposed fix
I'm not familiar with the codebase, but #233 seems to work, but I have not done any in-depth testing.
Versions

Python version: 3.8.3
Package version: 3.51.3

Oops... for some reason I completely looked over this issue. I'm really sorry about that, great fix :)


Add logging for API operations

There is currently no logging when we execute a call against the management API. We should add some. If we can't figure out a good solution within the operator, maybe we can add it to https://github.com/indeedeng/rabbitmq-admin

I'd lean towards putting the logging in rabbitmq-admin.

With https://github.com/indeedeng/rabbitmq-admin/issues/13 we'll be able to customize how we want this logging.


Add segmentation with the Chan-Vese active contours method

closes #335
This PR adds a function for segmentation based on active-contours. Test cases are directly from scikit-image, but the code itself was heavily refactored to make extensive use of kernel fusion via cupy.fuse(). I will add benchmark results here soon.
It should be reviewed after #318 is merged. The new commits only start from 502f41a

This shows a huge speedup relative to scikit-image as image size increases (>200x):

shape
Duration (CPU)
Duration (GPU)
Acceleration

(256, 256)
0.679 +/- 0.014
0.209 +/- 0.005
3.251

(512, 512)
3.196 +/- 0.014
0.208 +/- 0.002
15.397

(1024, 1024)
14.350 +/- 0.000
0.206 +/- 0.001
69.603

(2048, 2048)
68.054 +/- 0.000
0.426 +/- 0.000
159.710

(3072, 3072)
199.156 +/- 0.000
0.874 +/- 0.000
227.748

benchmark script
import cupy as cp
import matplotlib.pyplot as plt
from cupyx.profiler import benchmark
from skimage import data, segmentation

from cucim.skimage import img_as_float
from cucim.skimage.segmentation import chan_vese

_image = img_as_float(cp.array(data.camera()))

print("shape | Duration (CPU) | Duration (GPU) | Acceleration")
print("------|----------------|----------------|-------------")
for n in [0.5, 1, 2, 4, 6]:
    if n == 0.5:
        image = _image[128:-128, 128:-128]
    else:
        image = cp.tile(_image, (n, n))
    image_cpu = cp.asnumpy(image)
    kwargs = dict(mu=0.25, lambda1=1, lambda2=1, tol=1e-3, max_num_iter=200, dt=0.5, init_level_set="checkerboard", extended_output=True)
    perf_cpu = benchmark(segmentation.chan_vese, (image_cpu, ), kwargs=kwargs, n_warmup=0, n_repeat=10, max_duration=5)
    t_cpu = perf_cpu.gpu_times
    perf_gpu = benchmark(chan_vese, (image, ), kwargs=kwargs, n_warmup=4, n_repeat=100, max_duration=5)
    t_gpu = perf_gpu.gpu_times
    print(f"{image.shape} | {t_cpu.mean():0.3f} +/- {t_cpu.std():0.3f} | {t_gpu.mean():0.3f} +/- {t_gpu.std():0.3f} | {t_cpu.mean() / t_gpu.mean():0.3f}")

@grlee77, could you please take a look at the conflict here? Think it may be related to PR ( https://github.com/rapidsai/cucim/pull/318 )

fixed the conflict

@gpucibot merge

Thanks Greg! 🙏


Blank mp3 file while running tests

Hey there. First off thanks for your hard work on the package!
I've ran the tests on Windows 10 with python 2.7 and, after getting a refresh token, saving it, etc. I get a blank mp3 file in my tmp directory. I get a 204 response code from ask() but not sure how Amazon provides responses.
Any ideas?

I haven't tried using the code on Windows, but if I remember correctly the empty HTTP 204 response means that Alexa Voice Service was not able to interpret the request (i.e. the WAV file that got sent).
I just tried on my Ubuntu system again and it works. I'm wondering if there is something that happened to the test WAV files on Windows. I'll see if I can test it out when I get access to Windows 10 box.

I just had a similar error when using wrong sampling rate / resolution and number of channels.
You should be using 16 bit; 16000 Hz; mono wav files.

Then how do we solve this problem @JannKleen

Okay,
So I think I solved this issue. I had it worked on my windows machine.
We need to read raw audio data and also remove those file path and pass on the audio file name from the same folder.


Add a way to suppress WARN for stackdriver NODE_ENV setup

When I run my unit tests, the stdout contains lots of the following warning:
WARN:@google-cloud/error-reporting: The stackdriver error reporting client is configured to report errors if and only if the NODE_ENV environment variable is set to "production". Errors will not be reported.  To have errors always reported, regardless of the value of NODE_ENV, set the reportMode configuration option to "always".
This happens because my unit tests invoke my entire app (a koa2 app) which includes the error reporting setup.
I'd like a way to suppress this warning for testing - maybe by handling NODE_ENV=test or a configuration option.

Actually I'd like to amend the request. Upon setting the reportMode to never by checking the environment variable myself, I still get the following output:
ERROR:@google-cloud/error-reporting: Unable to find credential information on instance. This library will be unable to communicate with the Stackdriver API to save errors.  Message: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
My expectation was that when I disable reporting, the library does not attempt to lookup any credentials or perform any other actions. Basically becomes a no-op.

@defunctzombie this seems like a reasonable expectation 👌

@defunctzombie  reportMode can have one of three values:
production (default)
Only report errors if NODE_ENV is set to production.
always
Always report errors regardless of the value of NODE_ENV.
never
Never report errors regardless of the value of NODE_ENV.
So in case of never and always it never gives any warning.
In case of production it checks the NODE_ENV variable and if it's not set to production it will gives you warning.
The above functionality is working as expected  1.1.3 version and above.
@bcoe I think this is fair behavior WDYT?

@laljikanjareeya sorry for jumping in, but why throw a warning if I specifically have changed the NODE_ENV variable? For example when running unit tests this adds too much noise to the output. It would be nice to be able to "silence" those warnings.

@bachlis It throws a warning when both NODE_ENV and reportMode are not the same.

Yes, it would be a nice warning to silence. It's very common setup to have these logs only produced in production.

Its very annoying to still have this unnecessary message filling up my log files. Please remove!


Mention Windows release on front page

Now that our Windows version is in beta, we should change "Install in seconds on Linux or OS X" to "Install in seconds on Linux, OS X or Windows".

We have no capacity for windows


Action blueprints adding :id? param when they shouldn't

Tried this in version v10.5, but the relevant pieces of code are also present in current master.
Bumped into this today where my Model.findOne() query failed to find results due to the added field. Basically in a policy of mine that is run on an action blueprint request, I've got something along the lines of:
module.exports = function(req, res, next) {
    var params = req.allParams();
    console.log(params);

    MyModel.findOne()
        .where(params)
        .exec(function(err, foundModel) {
            if (typeof foundModel === 'undefined') {
                return res.view('404');
            }
            else {
                return next();
            }
        });
    }
};

Here the params included the field id: undefined, which was not sent from my frontend or any policies of mine. This caused the query to return no results and to return the 404 view.
I started digging around the sails source, and found this from  sails/lib/hooks/request/params.all.js:
////////////////////////////////////////////////////////////////////
// The check below is deprecatable since action blueprints
// will no longer automatically receive the :id? param in their route.
//
// // Make sure `id` is omitted if it's undefined
// // (since action blueprint routes name an optional :id)
// if (typeof req.param('id') === 'undefined') {
//    delete req.params.id;
// }
//////////////////////////////////////////////////////////////////

However, I then found this in  sails/lib/hooks/blueprints/index.js (line 260 in current master):
// Bind a route based on the action name, if `actions` shadows enabled
if (config.actions) {
    var actionRoute = baseRoute + '/' + actionId.toLowerCase() + '/:id?';
    sails.log.silly('Binding action ('+actionId.toLowerCase()+') blueprint/shadow route for controller:',controllerId);
    sails.router.bind(actionRoute, controller[actionId.toLowerCase()], null, opts);
}

with var actionRoute = baseRoute + '/' + actionId.toLowerCase() + '/:id?'; being the important part.
Apparently the :id? param is still being added despite the other file claiming it's not. Both uncommenting the part in params.all.js and removing the  + '/:id?' from index.js caused my original query to work and the id:undefined to disappear.
Do what you will with this info, but I'd at least love the comment not to contradict other code causing unnecessary frustration :p

@murhum1 The code comment about the :id param being removed from action blueprints is leftover from when we were going to remove that back in 0.9 for the sake of simplicity (unfortunately, it caused issues for folks who were relying on it, and based on the feedback from the community we decided to keep it indefinitely).  Thanks for the heads up!  I'll clean that out.

@murhum1 and either your query should really work :/  But I think the right way to do it is by laying off all the hasOwnProperty checks in Waterline criteria dictionaries.  I've spent more hours than I'd care to admit working on this recently in the rttc project, and learned that the most consistent way to handle things for both users and implementors is for {} and { foo: undefined, bar: undefined, baz: undefined } to be equivalent.
cc @particlebanana
P.S @murhum1 in case it's helpful, you can use require('rttc').dehydrate(req.allParams()) to take care of this in the mean time (docs: https://github.com/node-machine/rttc#dehydratevalue-allownullfalse-dontstringifyfunctionsfalse)

@murhum1 https://github.com/balderdashy/sails/commit/0d52ac01d19c692a551ba05ad8ba0dad1b0cea64


waybar css

hi, where's the way bar css? among the issues i'm having trying to replicate your setup, i can't seem to find the waybar css anywhere.

dot-config/waybar/style.css

i say this because it pretty much imports itself in the style.css file.

wdym? if your talking about the @import at the top, that's auto-generated by pywal.

interesting. also, can i add you on discord or something? configuring this is difficult. also i'm not sure i should be asking for that, i rarely use github lol

mhm! I'm celestialexe on discord


Rebuild gdal-lib 3.4.1 against libtiledb with fixed pinning.

tiledb didn't have a run_exports definition. gdal was linked against tiledb 2.2 but is being installed with 2.3, which results in a broken installation. Rebuild to remedy this and fix the pinning.
See also:

https://github.com/AnacondaRecipes/tiledb-feedstock/pull/4
https://github.com/AnacondaRecipes/tiledb-feedstock/pull/3

This is fine, but you will need to rebuild gdal 3.0.2 as well

I'm aware of it, the PR for that isn't up for review, yet because there is a problem with the Windows build.


Dead spiders appear under scrubbers

Description

This likely affects many other mobs/items, but I only tested with spiders/scrubbers
Reproduction

Have an anchored scrubber with a tile on it
Kill a spider, crit isn't enough
Drag it over the scrubber a bit, it doesn't happen in all positions but does in most/many

Screenshots

More or less dupe of https://github.com/space-wizards/space-station-14/issues/17034


Question about received invalid webhook response

Kubernetes 1.24
I am trying to use your example. I keep getting this kubectl response when I try to create a pod:
Error from server (InternalError): error when creating "k8s/2-test-pod.yaml": Internal error occurred: failed calling webhook "pods.notary-admission.aws.com": received invalid webhook response: expected webhook response of admission.k8s.io/v1, Kind=AdmissionReview, got /, Kind=

The logs show that this is the JSON being sent back, via w.Write(res).
{
    "response": {
        "uid": "b49776cd-5398-4082-974d-9f4943875914",
        "allowed": false,
        "status": {
            "metadata": {},
            "message": "Your pod has the wrong name"
        }
    }
}

{
    "response": {
        "uid": "a6761f60-3c79-4943-9a03-732e274baddc",
        "allowed": true,
        "status": {
            "metadata": {}
        }
    }
}

The webhook config is:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: notary-admission
webhooks:
- admissionReviewVersions:
  - v1
  clientConfig:
    caBundle: LS0t...==
    service:
      name: notary-admission
      namespace: notary-admission
      path: /validate/pods
      port: 443
  failurePolicy: Fail
  matchPolicy: Equivalent
  name: pods.notary-admission.aws.com
  namespaceSelector:
    matchExpressions:
    - key: notary-admission-ignore
      operator: NotIn
      values:
      - ignore
  objectSelector: {}
  rules:
  - apiGroups:
    - '*'
    apiVersions:
    - v1
    operations:
    - CREATE
    - UPDATE
    resources:
    - pods
    scope: '*'
  sideEffects: None
  timeoutSeconds: 10

Both allowed=true and allowed=false conditions elicit the same response from the webhook. Any chance you have seen this error before? I changed to "k8s.io/api/admission/v1" from "k8s.io/api/admission/v1beta1" in hopes that it would fix the issue, but it didn't.

I fixed it, after recognizing that the apiVersion and kind were missing. I added the type info, by changing this:
		admissionResponse := v1.AdmissionReview{
			Response: &v1.AdmissionResponse{
				UID:     review.Request.UID,
				Allowed: result.Allowed,
				Result:  &meta.Status{Message: result.Msg},
			},
		}

to this:
		admissionResponse := v1.AdmissionReview{
			TypeMeta: meta.TypeMeta{
				Kind:       "AdmissionReview",
				APIVersion: "admission.k8s.io/v1",
			},
			Response: &v1.AdmissionResponse{
				UID:     review.Request.UID,
				Allowed: result.Allowed,
				Result:  &meta.Status{Message: result.Msg},
			},
		}


Add require_changelog workflow action

This action checks that an update was made to any file in docs/change_log/
but only if changes were made to files in markdown/. Presumably,
any changes outside of markdown/ do not affect the behavior and do not
require a notation in the change_log.
When a change_log entry is missing, a comment is added to the PR informing
the PR author. If a later commit to the PR includes a change_log entry,
then the comment is hidden. A comment should only be added once per PR.

I looked at the following actions before setting o the first one.

Missing Changelog Reminder
I chose this one because it provides a regex for the changelog path. As we sometimes have updates to the change_log and other times have updates to a release notes file, this was the best way to include both. However, there are some PRs (like this one) which wouldn't necessarily need a changelog entry. Therefore we can use the include option to narrow the check to changes within the markdown/ dir.

Changelog Reminder
This appears to be a simpler variation on the previous one. It does not support the include option and would run the check for all changes. There is no way to conditionally disable the check.

Changelog Enforcer
This takes a filename rather than a regex and assumes the changelog is a single file, which won't work for us. A nice feature is the ability to disable the check by assigning a specific label to the PR.

[Changelog checker}(https://github.com/marketplace/actions/changelog-checker)
This appears to be a clone of the previous item.

Hmm, well it seems to be working except for posting the comment. We're getting Error: Resource not accessible by integration. After doing some searching I finally landed upon GitHub Actions improvements for fork and pull request workflows which explains how to work around the fact that a PR from a fork does not normally have write permissions on the base repo.

Well, that's annoying. Switching from the pull_request event to the pull_request_target event causes the entire action to no longer even be listed as an action.

Setting the message to an empty string does not disable the comment feature of the action. Guess I'll just leave it alone and we can ignore the error message. The fact that the test fails under the correct conditions should be enough to remind everyone.


workflows: enhance aws-node DaemonSet testing

In 619f9d5a7b799e3a43ec6af42ac7a3f3e1d83c8d, we improved the way the CLI handles the aws-node DaemonSet by using a node selector to evict its pods, allowing us to simply remove the selector on uninstall for a transparent user experience.
We build upon the existing workflow testing:

Move up aws-node number of pods scheduled check right after install and node group have been created, which should be the earliest point at which we can verify if patching the node selector worked.
Add an additional test at the end to uninstall Cilium and check that backtracking worked on the node selector patching.
Add same testing to the eks-tunnel workflow. Because why not.

This is a follow-up to #208.

Uninstall and make sure the 'aws-node' DaemonSet blocking nodeSelector was removed step in EKS tests failed with:
/home/runner/work/_temp/e83fa01f-d794-4e5a-9e8b-d4b2b33cbfad.sh: line 1: cilium: command not found
Error: Process completed with exit code 127.

I forgot that cilium is only available in-cluster 🤦🏻
Will change approach.

New approach worked on both EKS tests:

https://github.com/cilium/cilium-cli/actions/runs/1001572367
https://github.com/cilium/cilium-cli/actions/runs/1001572368

Removing temporary commit.


How to use the btrfs  file system?

containerd support snapshotter and btrfs two file system. Among them, the default is to use snapshotter. Now I want to use btrfs, but I can not find the documentation to change the configuration. Anyone know?

ctr images pull --snapshotter=btrfs ...; ctr run --snapshotter=btrfs ...

@AkihiroSuda
If i want to run a pod with a yam file，what should i do to use the btrfs file system?

cri-containerd --containerd-snapshotter btrfs


Removed dependency on six

We no longer support Python 2 so importing six no longer has any utility.
I have replaced the only instance of the module usage with the Python 3 equivalent (see https://six.readthedocs.io/#six.string_types) and have removed six as a project dependency.  Fixing typos (space missing) is a side benefit ;)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0002%) to 98.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.0002%

Covered Lines:
5110

Relevant Lines:
5113

💛  - Coveralls

Ciao Mike!
Always on the trail.. ;) thank you! 👍


Memory limit

Hi. After reading your benchmark test, the results look pretty good.
I am curious about how you limit the memory usage of `columnar`.
In addition, your data set looks too small, it is not clear whether the author has tested it on a larger data set, such as a data volume of 1 billion or more.

Hi. We use docker for that:
    container_name: "manticore_columnar_engine"
    build:
      context: ./tests/${test}/manticore_columnar
      args:
        - commit
        - buffer
    mem_limit: ${mem}m
    cpuset: "6,7"
    privileged: true
    mem_swappiness: 0
    memswap_limit: 0
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "<IP_ADDRESS>:9307:9306"
      - "<IP_ADDRESS>:9309:9308"
    volumes:
      - ./tests/${test}/manticore_columnar/idx:/var/lib/manticore
      - ./tests/${test}/manticore_columnar/logs:/var/log/manticore
      - ./tests/${test}/data:/input
      - ./tests/${test}/manticore_columnar/manticore.conf:/etc/manticoresearch/manticore.conf

We do have tests on a larger dataset and we'll publish them as soon as  we make performance optimizations in the library. Note the library is in its early stage and is being actively developed. But the clear thing is that the columnar library can work on e.g. 1.8B documents (NYC taxi rides) with 60GB mem limit, but Manticore Search w/o columnar can't since there's just not enough memory critically (410GB required vs 60GB limit).

Ok, Thanks for your relpy.

2.8 billion total trips
1.7 billion taxi
1.1 billion for-hire vehicle

We tested on 1.7 billion taxi

ok


nf_conntrack: table full, dropping packet

dmesg | tail
During load testing seeing lots of nf_conntrack dropped packets which manifest as 503s
http://www.pc-freak.net/blog/resolving-nf_conntrack-table-full-dropping-packet-flood-message-in-dmesg-linux-kernel-log/
http://unix.stackexchange.com/questions/12985/how-to-check-rx-ring-max-backlog-and-max-syn-backlog-size
netstat -s BEFORE dropped packets
TcpExt:
    5 packets pruned from receive queue because of socket buffer overrun
    23450 TCP sockets finished time wait in fast timer
    12 delayed acks sent
    Quick ack mode was activated 9 times
    45 packets directly queued to recvmsg prequeue.
    9648 packets directly received from prequeue
    497793 packets header predicted
    18 packets header predicted and directly queued to user
    876502 acknowledgments not containing data received
    164683 predicted acknowledgments
    353 packets collapsed in receive queue due to low socket buffer
    9 DSACKs sent for old packets
    128105 connections reset due to unexpected data
    TCPTimeWaitOverflow: 27360
    TCPRcvCoalesce: 70915
    TCPOFOQueue: 128
    TCPAutoCorking: 168
    TCPWantZeroWindowAdv: 22
    TCPOrigDataSent: 990344

netstat -s AFTER dropped packets
TcpExt:
    5 packets pruned from receive queue because of socket buffer overrun
    43361 TCP sockets finished time wait in fast timer
    1062 time wait sockets recycled by time stamp
    6554 delayed acks sent
    Quick ack mode was activated 9 times
    82 packets directly queued to recvmsg prequeue.
    18207 packets directly received from prequeue
    1052683 packets header predicted
    34 packets header predicted and directly queued to user
    1895258 acknowledgments not containing data received
    339421 predicted acknowledgments
    5016 congestion windows recovered after partial ack
    5123 other TCP timeouts
    TCPLossProbes: 3
    TCPLossProbeRecovery: 1
    353 packets collapsed in receive queue due to low socket buffer
    9 DSACKs sent for old packets
    300824 connections reset due to unexpected data
    TCPTimeWaitOverflow: 67381
    TCPRetransFail: 2243
    TCPRcvCoalesce: 152433
    TCPOFOQueue: 128
    TCPAutoCorking: 194
    TCPWantZeroWindowAdv: 22
    TCPSynRetrans: 5016
    TCPOrigDataSent: 2142776

fixed with sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=1


Re: dyanamic report genaration

Hi,
Can we generate dynamic report using pgcluu.....?
So that we get current statistics from my server as soon as it is generated.

Hi,
This is a work in progress, but to simplify, for the moment you can't. Actually there a cgi-bin directory in the source tree with a pgcluu.cgi script that will be used to provide the dynamic and "real time" functionality. It is near to be terminated (still need week/month/year view) and the most important it need to be documented. I need some time to work on it and it is a real problem to find spare time. I which to terminate this work in the next two months.
Best regards,

OK....
We are waiting for this new pgcluu.
Thank You.


Consider support for Prisma ORM

Issue to track interest in support for Prisma ORM with the Cloud SQL Node.js Connector.
Upvoting this issue 👍 will help us prioritize support.

Any ETA for this ?

Bumping the priority given the significant interest here.

After taking some time to explore how to add Prisma support I believe we do have some helpful progress:

Prisma only way to configure database connections is via statically defined URL strings.
One potential way to add support is via a new interface that spawns a local socket server / unix socket that can listen to a preconfigured value that can then be used in Prisma configs.

Next steps here would be starting a design doc to continue the work from this initial proof of concept. There may be different alternatives that need to be explored too.

Not sure it helps, but you can programatically configure the database connection when instantiating PrismaClient :
import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient({
  datasources: {
    db: {
      url: `postgresql://${username}:${password}@cloudbuild:5432/${dbName}?host=${host}`
    },
  },
})

Source

hi @AntQwanlity thank you for taking the time to reply 😊 Given the interest in this thread I'm posting my findings during the research on this topic. Let me start by clarifying one topic: the way this library works today is by providing a custom factory method that will open the secure TLS Socket to the Cloud SQL Instance that can be then used by the database drivers (such as pg, mysql2, etc). Even if Prisma supports a run time defined url in the constructor, it is still not what we need in order to use the Connector as-is today.
One potential avenue to support Prisma is by creating a local proxy server that can forward the communication to that TLS Socket. Here is how that would be possible with the current API:
node-proxy.mjs
import net from 'node:net';
import {promisify} from 'util';
import {PrismaClient} from '@prisma/client'
import {Connector} from '@google-cloud/cloud-sql-connector';

const connector = new Connector();
const {stream} = await connector.getOptions({
  instanceConnectionName: '<MY-INSTANCE-CONNECTION-NAME>',
});

// In-process proxy to redirect from localhost:8080 to the Cloud SQL Instance
const server = net.createServer((c) => {
  const s = stream();
  c.pipe(s);
  s.pipe(c);
});
server.on('error', (err) => {
  throw err;
});
const listen = promisify(server.listen);
await listen.call(server, 8080);

// This part comes from the Prisma Quickstart:
const prisma = new PrismaClient();
const usersWithPosts = await prisma.user.findMany({
  include: {
    posts: true,
  },
})
console.dir(usersWithPosts, { depth: null })

try {
  await prisma.$disconnect()
} catch (e) {
  console.error(e)
  await prisma.$disconnect()
  process.exit(1)
}

// close the connector and the proxy server
connector.close();
server.close();

Then just make sure your DATABASE_URL points to the same port as used in the script (in my example here, 8080):
$ export DATABASE_URL=postgresql://user:pass@localhost:8080/db-name
$ node port.mjs

While in theory we could decide to add the proxy functionality internally to this library, the reality is that we already have the much better supported Cloud SQL Auth Proxy that can be used for that same end.
With that in mind, after coming back to discuss the issue with the rest of the team we have decide to not prioritize specific Prisma support at this point.

@ruyadorno could we submit a generic patch to Prisma to allow dynamic connection creation? Maybe that's the best way forward?

That's good to know, @martinraison. There are some significant problems with using Rust + Cloud SQL (i.e., Cloud SQL's non standard TLS certificates) and so for now it seems very unlikely that we'll get to this.
For folks who want to use Prisma with Cloud SQL, I see two options:

Connect directly to the database and skip using the Connector
Connect using the Cloud SQL Auth Proxy.

Option #2 is the only way to use Auto IAM Authentication with Prisma, but otherwise both options are reasonable alternatives to the Connector-based approach.

I see, I didn't realize Rust would have to know about TLS at all, I thought TLS encapsulation was already handled at the Node.js level and Rust would simply receive a bidirectional data stream.
A word about my setup:

I'm using App Engine so I was hoping to avoid having to set up Cloud SQL Auth Proxy
I'm using IAM authentication so I don't think I can use Prisma directly

I haven't yet tried @ruyadorno's solution, maybe that would work.

That's certainly possible. I don't know enough about Prisma to say for certain. Just that Rust + rusttls + Cloud SQL isn't a good picture right now.

Looks like the ideal solution here is for Prisma to support dynamic connection settings. It is currently an open feature request https://github.com/prisma/prisma/issues/7869. (I would recommend people to go and upvote it to help the owners prioritize it) This would allow support for the Connector and would actually also allow for a trivial database connection to be used without needing to depend on the Connector library at all.
A user could establish their own use of automatic IAM authentication by simply dynamically refreshing the Oauth2 token used as the password field when connecting to Cloud SQL.
import {GoogleAuth} from 'google-auth-library';
import {PrismaClient} from '@prisma/client'

const auth = new GoogleAuth();

// IP address of your Cloud SQL instance
const ip = "<CLOUD SQL INSTANCE IP>"
// service account name as user for IAM authn
const user =<EMAIL_ADDRESS>
export prisma = new PrismaClient({dataSources: { db: generateConnectionSettings }})

async function generateConnectionSettings(){
    const token = auth.getAccessToken()
    const expiresAt = Date.now() + 840000 // Expires in 14 minutes
    return {
       url: `postgresql://${user}:${token}@${ip}:5432/mydb`,
       expirationChecker: () => {
          return expiresAt <= Date.now()
       }
   }
}

You're right, dynamic connection string with token refresh would solve the issue. I thought there was more magic involved in the connector library.
In the meantime, I can confirm @ruyadorno's workaround above is working. I was even able to proxy through a unix socket instead of TCP.

Actually there is more magic involved in the connector library: similar to Cloud SQL Auth Proxy, it creates an SSL tunnel with port 3307 of the instance. It makes it possible to communicate with the Cloud SQL instance public IP without the need to add authorized networks.
So even if dynamic connection string support is added to Prisma, I'll probably stick with the current solution.

Actually there is more magic involved in the connector library: similar to Cloud SQL Auth Proxy, it creates an SSL tunnel with port 3307 of the instance. It makes it possible to communicate with the Cloud SQL instance public IP without the need to add authorized networks.

@martinraison Yes the Connector's do currently provide a secure SSL tunnel to the instance that provides a convenient way of connecting to Public IP Cloud SQL instances. The two main benefits of the Connector are the SSL connections and IAM AuthN. Dynamic connection would solve the IAM AuthN piece without a Connector, our team is looking at ways of simplifying the SSL connection path as well for direct connections.

const auth = new GoogleAuth();

This works when I run it on my laptop. But it does not work when I try to connect from my App Engine App in the cloud. Any suggestions?

hi @AntQwanlity thank you for taking the time to reply 😊 Given the interest in this thread I'm posting my findings during the research on this topic. Let me start by clarifying one topic: the way this library works today is by providing a custom factory method that will open the secure TLS Socket to the Cloud SQL Instance that can be then used by the database drivers (such as pg, mysql2, etc). Even if Prisma supports a run time defined url in the constructor, it is still not what we need in order to use the Connector as-is today.
One potential avenue to support Prisma is by creating a local proxy server that can forward the communication to that TLS Socket. Here is how that would be possible with the current API:
node-proxy.mjs
import net from 'node:net';
import {promisify} from 'util';
import {PrismaClient} from '@prisma/client'
import {Connector} from '@google-cloud/cloud-sql-connector';

const connector = new Connector();
const {stream} = await connector.getOptions({
  instanceConnectionName: '<MY-INSTANCE-CONNECTION-NAME>',
});

// In-process proxy to redirect from localhost:8080 to the Cloud SQL Instance
const server = net.createServer((c) => {
  const s = stream();
  c.pipe(s);
  s.pipe(c);
});
server.on('error', (err) => {
  throw err;
});
const listen = promisify(server.listen);
await listen.call(server, 8080);

// This part comes from the Prisma Quickstart example:
const prisma = new PrismaClient();
const usersWithPosts = await prisma.user.findMany({
  include: {
    posts: true,
  },
})
console.dir(usersWithPosts, { depth: null })

try {
  await prisma.$disconnect()
} catch (e) {
  console.error(e)
  await prisma.$disconnect()
  process.exit(1)
}

// close the connector and the proxy server
connector.close();
server.close();

Then just make sure your DATABASE_URL points to the same port as used in the script (in my example here, 8080):
$ export DATABASE_URL=postgresql://user:pass@localhost:8080/db-name
$ node node-proxy.mjs

This works when I run it on my laptop. But it does not work when I try to connect from my App Engine App in the cloud. Any suggestions?

The proposed solution by @ruyadorno works for me. But it is not ideal for my AppEngine application. I am currently running it as a custom server on my NextJS app. From NextJS docs, this is not recommended though.
I reached out to GCP support and ask them if they can support running Cloud-SQL-Proxy in Google AppEngine natively. I think this makes sense if AppEngine allow this as an optional feature to make AppEngine connect via the proxy. I requested to open a feature request that you can find in issuetracker.google.com/issues/300022590.  It will encourage google to support this.

You're right, dynamic connection string with token refresh would solve the issue. I thought there was more magic involved in the connector library.
In the meantime, I can confirm @ruyadorno's workaround above is working. I was even able to proxy through a unix socket instead of TCP.

@martinraison how did you manage to proxy through unix sockets?
I updated the server.listen() address to /tmp/sqlproxy path (yes, /tmp is mounted to my deployment as empty-dir), modified the Prisma connection string to postgresql://my_user:my_password@localhost/my_database?host=/tmp/sqlproxy, generated new Prisma client, but the createServer callback just does not get called, nor does the on('connection') event. I can see that the /tmp/sqlproxy file is created, yet I always get:
Can't reach database server at `/tmp/sqlproxy`:`5432`

I tried both 0.5.1 and 1.0.0 versions and I get the same result.
Am I missing something obvious? I tried this on GKE autopilot cluster and while TCP server works just fine, I can't get this working using unix sockets.

@tSte I believe the PostgreSQL driver used by Prisma actually expects the host to be a folder containing a .s.PGSQL.5432 unix socket file.
 Make sure not to forget the .s.PGSQL.5432 part.

FWIW I'm glad the workaround is an option for folks. In my view, the right solution is to patch Prisma to support a socket creation function, but that might take some work.

For reference, in case that you want to use workaround proposed by @ruyadorno for SQL Server, this would be a connection string:
new PrismaClient({
  datasourceUrl: `sqlserver://localhost:${port};user=${user};password=${password};database=${database};encrypt=false;trustServerCertificate=true`,
})


Format panel of the board editor in draw.io for Confluence Cloud refuses to show formatting options

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
In our Confluence Cloud test instance, I can't access the format panel when I like to format a shape. I also have a personal Cloud instance, where everything works (see screenshots). I am using the same version (15.6.8), the same browser, I cleared the cache multiple times…unfortunately nothing works out for me.

draw.io version 15.6.8

Try htttps://ac.draw.io/clear.html , it's a pretty old version

I found the reason…something inside the customization code keeps the format panel from being displayed. I will investigate what caused the problem. Thanks anyway.


New version: ThreePhasePowerModels v0.3.2

Registering package: ThreePhasePowerModels
Repository: https://github.com/lanl-ansi/ThreePhasePowerModels.jl
Created by: @pseudocubic
Version: v0.3.2
Commit: 3ea60ed55f041f3e7fc10a8bd2932eebfcf643b9
Reviewed by: @pseudocubic
Reference: https://github.com/lanl-ansi/ThreePhasePowerModels.jl/commit/3ea60ed55f041f3e7fc10a8bd2932eebfcf643b9#commitcomment-34143218

Please retrigger to fix the conflicts.


Random Name !!!!!!

you can put everything into 1 pull request aswell ...

I don't know how to do it :X sorry

:x:


Template question/issue

Hi,
I am creating a multi-page app, using templates for pages. I had added side-panel and other page components on main index.html. They work fine on homepage. But when transitioning into the other pages the side-panel, floating button, etc. stop working.
I'm assuming that I don't have to include all the shared components of the app in every single page html code. Isn't that true?

Hi @hanvari,
You need to include Phonon in the default index.html, page templates should not include dependencies such as jQuery, etc.
Can you please provide some relevant code so that I can help you?

Phonon is included in default index.html, and there are no dependencies added on templates (I do use Jquery, but it is included in default index.html).
I have a side panel (same as included in the included example in phonon downloadable zip), and a full panel which is triggered with a floating button (two panels and the floating button are included in the index.html.
This is the relevant part of my index.html :

Create Entry

 Form

                <button class="btn pull-right icon icon-close" data-side-panel-close="true"></button>

Panel

Profile

About

Settings

Login

    <button data-panel-id="myPanelexample" class="floating-action icon icon-menu active primary bottom right"></button>

        <home data-page="true"></home>

        <pagetwo data-page="true"></pagetwo>

Both 'home' page and 'pagetwo' are loaded using templates. for the home which is loaded by default  the panels work, but for the other page (pagetwo) when it is loaded side panel and the full-panel does not open.
Any comments/help is appreciated.
Let me know if you need any further details of my code.

Hi @hanvari,
Currently it is not possible, this issue will be fixed in the v2.


keyword in lexer.py are added

PR Description

Related Issue

shader Sample

Checklist

[x] Have you added the necessary tests?
[x] Only modified the files mentioned in the related issue(s)?
[x] Are all tests passing?

Hey just added Double & Uint keywords in lexer.py


xmlrpc/client: return error in case of status code != 200

Codecov Report

Merging #92 (c1cd26c) into main (523e77b) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #92      +/-   ##
==========================================
- Coverage   82.14%   82.12%   -0.02%
==========================================
  Files          40       40
  Lines        4274     4275       +1
==========================================
  Hits         3511     3511
- Misses        559      561       +2
+ Partials      204      203       -1

Impacted Files
Coverage Δ

pkg/xmlrpc/server.go
100.00% <ø> (ø)

pkg/xmlrpc/client.go
100.00% <100.00%> (ø)

actionclient.go
56.32% <0.00%> (-1.15%)
:arrow_down:

node.go
80.21% <0.00%> (+0.26%)
:arrow_up:

simpleactionclient.go
62.20% <0.00%> (+1.57%)
:arrow_up:

nodeapislaveserver.go
81.63% <0.00%> (+2.04%)
:arrow_up:

Continue to review full report at Codecov.

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


hope this works

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

brilliant @furnivall 😂

brilliant @furnivall 😂
It's tough work being so talented my dude.


Please tag a commit

I created a Formula for home-brew but home-brew maintainers want to have a tagged commit to point to for the download. Therefore I would really like to see a tag so the Formula can be pushed upstream.

No problem - I just tagged v1.0.
I also merged some outstanding though quite non-trivial pull requests. If someone tests them and gives positive feedback, I can tag this as v1.1 in a short time.

Cool, Thanks!

https://github.com/Homebrew/homebrew/pull/47935
It's done


syscall: constant overflows int for mips compile

https://github.com/golang/go/blob/0b0cc4154e1defed07e73ca1304b9a68c7134577/src/syscall/zerrors_linux_mips.go#L1441
32bit system, int max value: 0x7fffffff<PHONE_NUMBER>)

@yinheli what is the problem? Do you have any program that fails to compile due to this?
The constant itself is ok, because it is an untyped integer instead of int.

@cherrymui  I'm using github.com/songgao/water to create tun device on mips (openwrt), go build reports:
vendor/github.com/songgao/water/syscalls_linux.go:73: constant<PHONE_NUMBER> overflows int
vendor/github.com/songgao/water/syscalls_linux.go:88: constant<PHONE_NUMBER> overflows int
vendor/github.com/songgao/water/syscalls_linux.go:93: constant<PHONE_NUMBER> overflows int
vendor/github.com/songgao/water/syscalls_linux.go:103: constant<PHONE_NUMBER> overflows int

env:
go version : 1.8.3

build env
GOOS=linux GOARCH=mips

https://github.com/songgao/water/blob/6b639456fceabd469cc76f5f4cec653b0cb7ce14/syscalls_linux.go#L86
You mean i have to convert the constant value to uint ?
thanks, i'll try to and do some tests

It should normally work to change the request parameter of ioctl to be uint.  That's how the implementations in golang.org/x/sys/unix work.
Closing because I don't think there is anything to change in the main Go repo.


How to set size for all icons?

Setting size for each and every icon in a huge project can be cumbersome. How to set a size for all icons in a configuration?

Thank you for the suggestion. I have added this functionality in the latest release. You can see how to use this here:
https://github.com/ng-icons/ng-icons#global-configuration
If you have any issues let me know, thanks


nginx 404

Hi I'm very new to using docker. Thank you very much for this project.
I followed your tutorial and followed your videohttps://www.youtube.com/watch?v=5N6gTVCG_rw. Everything is fine until index.html the website displays. The issue starts when I create a laravel project. I can create it no problem but when I access it at localhost:8080 I get a 404 not found issue for nginx/1.18.0 Your help is highly appreciated.
I simply downloaded the project source code and ran "docker-compose run --rm composer create-project laravel/laravel" in the src directory. I did not edit any of the .yml or Dockerfiles

when I run docker-compose logs nginx, I get a "ERROR: no such service: nginx error"
on another note when I run docker-compose logs artisan I get a "Could not open input file: /var/www/html/artisan"
I'm running my docker inside a debian 9 virtual machine on VMware
thank you very much for your help!

@mariontan Check your src folder it should be empty , install Laravel like this

How should the src folder look like? src/laravel/(all the app files) or is it src/(all the app files)

@mariontan Sorry for late answering , it is contains laravel files

@mariontan Sorry for late answering , it is contains laravel files

Hi @menkaff I tried that but it tells me server 500 when I enter at localhost 500. Maybe there is just a step I missed. Thank you very much for this.

@mariontan Maybe it's just some .env config for database or something else , add these lines in your public/index.php file to find out bugs
error_reporting(E_ALL);
ini_set('display_errors', 1);

thank you very much for this @menkaff

@mariontan
in nginx configuration file : default.conf
change this line :
server_name localhost;
to this line :
server_name _;

@mariontan
or try to change the listen port on nginx configuration file :
nginx listen to 80 port and you tried to access to port 8080 this is why you got 404 not found.

With @DJEDAINI's latest PR to the nginx config file for a catch-all, and me updating the main docker-compose.yml file to expose the nginx service on port :80 instead of :8080, this should likely resolve any issues like this in the future.

With @DJEDAINI's latest PR to the nginx config file for a catch-all, and me updating the main docker-compose.yml file to expose the nginx service on port :80 instead of :8080, this should likely resolve any issues like this in the future.


[Issue]: Power Bank Charger doesn't have the option for No Manual Delivery

Description of the bug/crash
The Power Bank Charger from the Bionic DLC doesn't support no manual delivery.
Steps To Reproduce
Play the game with the bionic DLC.
Said building doesn't have the no manual delivery checkbox.
Player.log
This may be another thing entirely:
[17:15:57.234] [1] [WARNING] [NoManualDelivery] System.FormatException Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0
at System.Number.ParseUInt64 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00019] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0
at System.UInt64.Parse (System.String s) [0x00016] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0
at EpicDistributionPlatform+EpicUserId.ToInt64 () [0x00000] in <4e2ff6c96bca455c955d88dba0fba51c>:0
at SanchozzONIMods.Lib.Utils.LoadGlobalAudioSheet () [0x0004d] in <7b6add1bdd5e49ef98d62bed49b99583>:0

Are you on Epic Game?
Send me these files from the game.

Assembly-CSharp.dll
Assembly-CSharp-firstpass.dll

I want to compare them with the steam version.

Can't post them here so here you go:
https://www.mediafire.com/file/magkh1nibtuel09/oni+dll.zip/file
They don't have the same hashes as the Steam ones.

I love this mod, thank you SanchozzDeponianin!
I noticed the missing checkbox with the new buildings as well.


Post Ride Request Validation

extra validation on ride request inputs is needed

@nklapste I think you did this already