[Question] Why so difficult to learn 0?

I've been working a lot with environments that have continuous actions spaces, and I've noticed some strange behavior that the agents seem to have a very hard time learning the optimal action to choose when the optimal action is zero. To test this, I've created a very simple environment where the agent simply chooses continuous values. The reward is shaped such that the agent is encouraged to choose 1 for the first N values and 0 for the next N value, like so:
def step(self, action):
    first_N = action[:N]
    second_N = action[N:]

    first_N_should_be = np.ones(self.N)
    second_N_should_be = np.zeros(self.N)

    reward = np.linalg.norm(first_N_should_be - first_N) + np.linalg.norm(second_N_should_be - second_N)
    return obs, -reward, done, info

I ran this with PPO2, A2C, and ACKTR for 3 million steps. Each time, the agent is able to learn 1 for the first N values very quickly, but it seems to have a very hard time learning 0 for the second_N values. Here is a graph demonstrating the average action taken over 200 steps for policies trained for 1mil, 2mil, and 3mil steps with PPO2. The black dots are the average and the flat lines are 1 standard deviation away.

The agent does seem to be learning to choose 0 better over time because the standard deviation shrinks for longer-trained policies, but it is take MUCH longer than learning 1. I find this to be very strange. Why is it so difficult for the agent to explore 0?
This is similar to #473, but the answers there don't address my question. For the record, I am using normalized action space from [-1, 1].
System Info
Describe the characteristic of your environment:

Stable baselines 2.8.0 installed with pip
Python version: 3.7.4
Tensorflow version: 1.14
Numpy version: 1.17

Hello,
Did you try with SAC/TD3 too? (they are much more suited for continuous env)
did you also set the entropy coeff to zero? did you try increasing the learning rate?
why don't you use the deterministic policy for evaluation?

Did you try with SAC/TD3 too? (they are much more suited for continuous env)

Unfortunately, SAC and TD3 do not support multiprocessing, which is a make-or-break for me because I am running on a computer with 72 cores.

did you also set the entropy coeff to zero? did you try increasing the learning rate?

Thanks for the pointers here. Setting the entropy coeff to zero did not make any difference in PPO2, A2C, or ACKTR. Increasing the learning rate did help the performance for all 3. However, learning 1 still happens much, much faster. Any idea as to why this might be happening?

why don't you use the deterministic policy for evaluation?

I don't know what this means. Can you explain to me?

why don't you use the deterministic policy for evaluation?
PPO samples from a distribution to select the next action. This means that even if 0 is the best action as dictated by the policy, there is still a chance of selecting other values. Maybe half the Gaussian is truncated at the bounds [-1, 1]? If half the probability mass was >1 but all samples were rounded to 1, you may see it 'converge' 2x as fast to 1. Just a thought.

PPO samples from a distribution to select the next action. This means that even if 0 is the best action as dictated by the policy, there is still a chance of selecting other values. Maybe half the Gaussian is truncated at the bounds [-1, 1]? If half the probability mass was >1 but all samples were rounded to 1, you may see it 'converge' 2x as fast to 1. Just a thought.

Thank you for clarifying this. It seems that the right way to think about this is not that it is having a hard time "learning 0" but that it is really good at "learning 1" because of clipping the Gaussian distribution.
I'm curious why the documentation says that we should normalize the continuous action space to [-1, 1]. If PPO2 is really starting with a Gaussian distribution with mu 0 and std 1, then this action space normalization will will clip 32% of the actions. It seems that it would be better to clip [-2, 2] for 95% or even [-3,3] for 99%. Furthermore, why use a Gaussian distribution instead of a Uniform distribution across the entire action space? Uniform will cover the space better....

To chime in here, I've been experimenting with TD3/DDPG on simple image-observation point mass environments, and the actions often saturate to 1/-1 quickly. This seems to be a common issue:
https://www.reddit.com/r/reinforcementlearning/comments/dh7e63/what_is_the_reason_for_early_saturation_of_values/
https://www.reddit.com/r/reinforcementlearning/comments/dr6d0m/action_saturation_in_ddpg_and_td3/

we should normalize the continuous action space to [-1, 1]
If PPO2 is really starting with a Gaussian distribution with mu 0 and std 1, then this action space normalization will will clip 32% of the actions.

Good point. First, this is a general advice, for instance DDPG and TD3 do not rely on a Gaussian distribution and directly output values in [-1, 1] (because of a tanh).
Then, it is true that many values may be clipped at the beginning of training but the standard deviation usually quickly decrease. As another solution, you can initialize the standard deviation with a different value (as it is done in spinning up). In Stable-Baselines V3, it will be easier to change.

Furthermore, why use a Gaussian distribution instead of a Uniform distribution across the entire action space? Uniform will cover the space better....

Uniform may be good for initial exploration (in fact, that is what is used for SAC/TD3 during the warmup phase). However, during the later phase of training, you want to do actions around the mean (deterministic action) while still exploring. That's why Gaussian distribution is used here.
A even better solution, that removes clipping, is to use a squashed Gaussian, that's what SAC is using.

Thank you for the great response @araffin. I appreciate the insight you bring to using this library and to RL in general. I will test out some of these modifications. I would really like to use SAC since it sounds like a better fit for me, but I can't sacrifice the multiprocessing. Any plans to support this for SAC?

Any plans to support this for SAC?

Not really (see #324 ) because it is meant for robotics and would add too much complexity. However, you can easily create a custom version that supports it (using a for loop to fill the buffer).
In v3, it should be easier to create such version though...
Closing this issue then.


Deserialization error when creating a SetupIntent on a connected account

I create the stripe Client for a connected account:
    let mut stripe_client = stripe::Client::new(&stripe_configuration.sk_key);
    stripe_client.set_stripe_account(&connected_account.id);

This works well for some function but it fails when I try to do this:
    let stripe_customer = stripe::CustomerId::from_str(stripe_customer_id)?;
    ...
    let setup_intent = stripe::SetupIntent::create(&self.stripe_client, params).await?;

I get this error:
Err(
    JSONSerialize(
        Error("data did not match any variant of untagged enum Expandable", line: 4, column: 54),
    ),
)

This is due to a failure deserializing the application field, whose value is a string, in the response.
I checked that by removing the application field from the SetupIntent struct the problem disappears.
Is that a bug ? Or do I do something wrong ?

Hi! What version of the library are you using? We have a number of sweeping changes that will be released very soon and the version on crates is quite old.

I tried both with 0.13 and the current master (by forking it).

I use discussions to post the general roadmap: https://github.com/arlyon/async-stripe/discussions
You may be in these threads:

https://github.com/arlyon/async-stripe/discussions/139
https://github.com/arlyon/async-stripe/discussions/186

Let me know if you think anything is unclear or missing

The issue is that the 'Expandable' type expects a know Id type for Application, which we do not have in ids.rs, meaning the Id type is a unit:
https://github.com/arlyon/async-stripe/blob/1319a71a0d0d738559f3502ec7c091cd965e8c2d/src/resources/generated/application.rs#L17-L23
Putting this type in would fix the issue, so could you share with me what the value of the string you're trying to deserialize is?

The SetupIntent object which makes async-stripe deserialization fails looks like this:
{
  "id": "seti_1Keglflfelnr5z88r7xYNkvvv",
  "object": "setup_intent",
  "application": "ca_KMfoL45rtySU85Q8b9Z87trrfUdWeeA",
  "cancellation_reason": null,
  "client_secret": "seti_1Keglflfelnr5z88r7xYNkvvv_secret_LLMllvmPSLgSy6KboumKuDMcBWtruc",
  "created":<PHONE_NUMBER>,
  "customer": "cus_LLMllvmPSLgSy6Kb",
  "description": null,
  "last_setup_error": null,
  "latest_attempt": null,
  "livemode": false,
  "mandate": null,
  "metadata": {},
  "next_action": null,
  "on_behalf_of": null,
  "payment_method": null,
  "payment_method_options": {
    "card": {
      "mandate_options": null,
      "request_three_d_secure": "automatic"
    }
  },
  "payment_method_types": [
    "card"
  ],
  "single_use_mandate": null,
  "status": "requires_payment_method",
  "usage": "off_session"
}

Yes, but having looked at the stripe openapi spec, application doesn't have an x-resourceId field which to me seems like an issue on their end. I'll get in touch with someone at stripe and ask them to advise. You may be able to solve the issue in the mean time by adding the Id and overriding the id type in the above snippet, and I'll get back to you.

So, fairly quick response. The solution is that the heuristic we use to determine 'expandible things' is wrong. The guy in the issue above gave some advice on how they do it internally which we will model ours on, and will fix the remaining cases where things have ids but no x-resourceId
2022-03-18T15:22:26.842125Z  WARN stripe_openapi_codegen::metadata: application has an id field but no x-resourceId
2022-03-18T15:22:26.843668Z  WARN stripe_openapi_codegen::metadata: connect_collection_transfer has an id field but no x-resourceId
2022-03-18T15:22:26.844393Z  WARN stripe_openapi_codegen::metadata: deleted_alipay_account has an id field but no x-resourceId
2022-03-18T15:22:26.844563Z  WARN stripe_openapi_codegen::metadata: deleted_bank_account has an id field but no x-resourceId
2022-03-18T15:22:26.844602Z  WARN stripe_openapi_codegen::metadata: deleted_bitcoin_receiver has an id field but no x-resourceId
2022-03-18T15:22:26.844647Z  WARN stripe_openapi_codegen::metadata: deleted_card has an id field but no x-resourceId
2022-03-18T15:22:26.845115Z  WARN stripe_openapi_codegen::metadata: deleted_price has an id field but no x-resourceId
2022-03-18T15:22:26.851982Z  WARN stripe_openapi_codegen::metadata: platform_tax_fee has an id field but no x-resourceId
2022-03-18T15:22:26.853542Z  WARN stripe_openapi_codegen::metadata: reserve_transaction has an id field but no x-resourceId
2022-03-18T15:22:26.857016Z  WARN stripe_openapi_codegen::metadata: tax_deducted_at_source has an id field but no x-resourceId

I'll write a fix if I get time this weekend. Hopefully the patch I recommended will cover your requirements until then!

I checked it's OK with release 0.14, thanks.


Colab demo: widgets no longer displaying

Not sure if there was a recent update to colab, but now when i run the notebook, the cells all run successfully but no UI appears. Instead, I get a message from Colab saying:
Third-party Jupyter widgets
Support for third party widgets (widgets outside of the ipywidgets package) needs to be enabled separately. Support for these widgets will be loaded from a CDN external from Colab.

along with a block of code to run which supposedly enables 3rd party widgets:
from google.colab import output
output.enable_custom_widget_manager()

I can add and run that block but get the same problem, no UI. Is there a known workaround?

I am facing the same problem

I am having the same issue

Likewise. Please fix ASAP

Hello, I am the author of demo.ipynb. I can see that the Tab widgets disappeared after running enable_custom_widget_manager() but I am not sure if there's any difference with or without disable_custom_widget_manager(). Could anyone reproduce it now?
@JoePilliner I think it's unrelated and it might be a bug in the linter Pyright. Prepending content. to the path silences the warning but causes an error. Maybe python.analysis.extraPaths is configured incorrectly

For those who are facing the problem, do pip install ipywidgets==7.7.1 fix the issue?

I can still only see some of the widgets and when I try to generate, there's an error from PyYAML:
'---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in generate(button)
398         for frame in reader:
399                 driving_video.append(frame)
--> 400         generator, kp_detector = load_checkpoints(config_path='config/%s-256.yaml' % model.value, checkpoint_path=filename)
401 	predictions = make_animation(
402                 skimage.transform.resize(numpy.asarray(selected_image), (256, 256)),
/content/demo.py in load_checkpoints(config_path, checkpoint_path, cpu)
25
26     with open(config_path) as f:
---> 27         config = yaml.load(f)
28
29     generator = OcclusionAwareGenerator(**config['model_params']['generator_params'],
TypeError: load() missing 1 required positional argument: 'Loader''
I think I saw somewhere that Google CoLab has updated its version of PyYAML or something but don't quote me on that.

@JoePilliner Thanks for the try, I think that's exactly what I saw with enable_custom_widget_manager().
Could you also try running disable_custom_widget_manager()?

disable_custom_widget_manager()

Is there anything I need to preface that with? Colab isn't recognising the function.

Oh, I'm sorry, I just thought you could get that by reading OP’s post. What I meant was output.disable_custom_widget_manager() (output should have already been imported from google.colab by the second cell, so try put it just below the import statements).

@JoePilliner In which of the following cases does the error provided by the OP occur (Support for third party widgets (widgets outside of the ipywidgets package) needs to be enabled separately. Support for these widgets will be loaded from a CDN external from Colab.), despite whether the fix works?
(I can’t see the error message in any of the cases, so I need someone to reproduce it for me.)

Nothing added
With output.enable_custom_widget_manager() being added
With output.disable_custom_widget_manager() being added

2. output.enable_custom_widget_manager()

Hi @graphemecluster, sorry to disappear on you. I've been busy with my day job and in my spare time I've been learning how to animate in case this workbook can't be fixed.
I haven't seen the error message posted by OP since the first couple of days of the demo not working. Enabling custom widgets, disabling them, or doing neither has no effect on whether the error message or the missing UI elements appear.
Running !pip install pyyaml==5.4.1 after installing the other requirments doesn't fix the interface BUT if the Generate button is pressed it will generate a video using the default face/video combo, which means that the underlying program still works.

@JoePilliner Thank you for taking the time to reply. Did you see any error messages in the console in the above 3 cases? In my case, I found that I got errors from (the file transpiled from) this line when custom widget manager is enabled. I wonder if we should open an issue there.


Centralize editing within a single main view

This provides a more cohesive user experience and makes better use of the available space.

Moves cohort groups to a single left pane, allowing consistent access while editing items in the central pane.
Adds a group editing page with more space to edit groups and their criteria. This removes the need for a separate overview page and also the need for an editing drawer for modifiers.
Deleted concept.test.tsx. It was fragile and constantly breaking on unrelated changes. Now that the business logic has been separated out was providing minimal benefit anyways and should be replaced with UI tests.

Some screenshots of the UI:

There are still more changes to come, like removing the duplicated elements, but UI is functional in the new format at this point.


1password extension doesn't get desktop app status

System Details

OS: [Windows 11]
Thorium Version [117.0.5938.157]

Problem
1Password extension doesn't see that password was already entered in desktop app and want to enter it again.
Additional Notes
In all other browsers connection between extension and desktop app works correctly.

This project might be abandonware, don't expect this to be fixed.

Having the same problem

Unfortunately it didn't work for me.
I am also on the latest 1Password Beta (1Password for Windows 8.10.24 (81024006)) and Thorium AVX2 (Version 117.0.5938.157)
Also did try it with the Stable and Beta Extensions. Always says "Problems connecting..."
Does someone has any other Ideas ?

@MagmaBro123 Can you please halt posting on issues with "this project is dead" stuff.

@macedonsky777 Please see https://github.com/Alex313031/thorium/issues/316 and https://github.com/Alex313031/thorium/issues/287#issuecomment-1780551726 for solution.
You may also have to set nativemessaginghosts like so (modify the strings for this though, not bitwarden)
https://github.com/Alex313031/thorium/issues/363#issuecomment-1783851037
This is often needed for Chromium (and Chromium based browsers)
And no @macedonsky777 @MagmaBro123 This project is not abandonware or dead by any means. I was just in the hospital for a month.

@macedonsky777 Please see Alex313031/thorium#316 and Alex313031/thorium#287 (comment) for solution.
You may also have to set nativemessaginghosts like so (modify the strings for this though, not bitwarden) Alex313031/thorium#363 (comment)
This is often needed for Chromium (and Chromium based browsers)
And no @macedonsky777 @MagmaBro123 This project is not abandonware or dead by any means. I was just in the hospital for a month.

Thanks, I will check soon, but I recognized that in mozilla based Floorp the same issue :D so, not just Chromium based))

I found this to be an issue with the latest version:

I was able to spoof my browser using AdGuard for Desktop to the latest version Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36:

And this fixed my issue with the connection to the Desktop 1Password App.


Big Sur 11.4 and MDM profile incompatibility

Originally reported here: https://www.reddit.com/r/Adguard/comments/nogm0w/after_updating_to_big_sur_114_ad_guard_is_not/
I am not yet sure what's going on, needs investigation. The logs are in the devteam inbox.

Logs attached to the internal JIRA task that corresponds to this issue.


Support Asp.Net (Core) IdentityDbContext

I have added a new class IdentityDbContextWithTriggers that inherit from Asp.Net (Core) Identity IdentityDbContext, updated nuget dependencies to lastest versions, all test passed.
Unfortunately, more dependencies are needed, maybe it's better to create a different NuGet package.

Yea I think it needs to be a new project+package. Alternatively, you can just inherit from IdentityDbContext and override the methods shown here:
https://github.com/NickStrupat/EntityFramework.Triggers#manual-overriding-to-enable-triggers

I'm agree, maintenance of another project could be more complex than using manual override.


Using the key of string enum using nativeEnum?

So I have been using this Country enum and wondering if we can validate the keys instead of the value?
https://gist.github.com/evolkmann/740d24889c509c08484a8ff72af5dd64
Currently, the nativeEnum validates the value and could not find an option to make it validate the key instead.

Currently using this as I cannot flip the enum just for Zod
z.string().length(2).regex(/^[A-Z]{2}$/, 'Invalid country code').nullable()

This how I did it
z.enum(     Object.keys(Enum) as [keyof typeof Enum, ...(keyof typeof Enum[]]   )
Let me know if you have a better idea than this.


Build out Python Location

Just implementing the changes suggested in http://forums.halite.io/t/location-is-not-fully-useful-yet/87/2
Also removed the unused import and fixed some spacing.

Added class methods for the Location class in the python started package
Added the .idea jetbrains IDE created folder to the .gitignore

Good catch on the unused import. However, you need to add import random to MyBot.py and RandomBot.py

Oh ok, that explains why the build was failing. Thanks!

We'd like to maintain parity with the other starter packages, so closing this for now.


general: goreleaser is failing

e.g. https://github.com/cuelang/cue/actions/runs/505973324
Creating this issue as a reminder to investigate.
Any ideas @zchee?

will check it

will check it

Thanks - only if you have time, otherwise I will get around to looking into it.

Thanks - only if you have time, otherwise I will get around to looking into it.

@myitcv will investigate today(now 10:15AM in JST)

@myitcv will investigate today(now 10:15AM in JST)

@myitcv also, feel free to assign to me

@myitcv also, feel free to assign to me

FYI:
$ goreleaser --version

version: 0.110.0
commit: 3f082c9252eb93a4bdf5045e06accbde37bb6dc3
built at: 2019-06-13T01:36:45Z
built by: goreleaser

The  problem is that the existing configuration requests the latest Docker image of goreleaser.
@zchee: do you know where to specify a specific version for goreleaser?

FYI:
$ goreleaser --version

version: 0.110.0
commit: 3f082c9252eb93a4bdf5045e06accbde37bb6dc3
built at: 2019-06-13T01:36:45Z
built by: goreleaser

The  problem is that the existing configuration requests the latest Docker image of goreleaser.
@zchee: do you know where to specify a specific version for goreleaser?

@mpvl I'm not feeling well, will investigate tomorrow. sorry🙏

@mpvl I'm not feeling well, will investigate tomorrow. sorry🙏

@mpvl The goreleaser version can be added to the GH action under the with. They have an example here: https://goreleaser.com/ci/actions/#workflow

@mpvl The goreleaser version can be added to the GH action under the with. They have an example here: https://goreleaser.com/ci/actions/#workflow

Looking to fix this in https://cue-review.googlesource.com/c/cue/+/8404

Looking to fix this in https://cue-review.googlesource.com/c/cue/+/8404

@zchee - hope you feel better.
Hopefully my fix is the right one?! We can obviously fix in a later CL if not.

@zchee - hope you feel better.
Hopefully my fix is the right one?! We can obviously fix in a later CL if not.

This issue has been migrated to https://github.com/cue-lang/cue/issues/671.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Arduino dual MQTT and Webserver

How to use on Arduino dual MQTT and Webserver mode? it's real?

There's nothing stopping you from using hosting a webserver and an MQTT client at the same time, but that's not a topic relevant to this project.  Do you have a specific issue with the PubSubClient module?

@hovissimo ... thanks for this example. I've wondered about this for long.
Forgive me for being a noob at this.
When compiled I get a lot of errors on the json lib. I have version 6.7.0, and Arduino IDE 1.8.5.
It seems like alot have changed. For example StaticJsonBuffer doesn't exist.
Have you got it working with another version ?

I discovered that the ArduinoJson library version 6 is no good. Still beta version.
Use version 5.13 and all is ok...
Thanks for this great example.

is it possible to use the above code along with wifimanager library?


ACME v2 Client: Unable to unmarshal NewOrder request body

Hey there,
just trying to update our LE implementation to your current ACME v2 Client, (thx for updating it!!! ;-)
Unfortunately I’m always getting this Error: Unable to unmarshal NewOrder request body
2019-10-01 11:27:55 [info] Getting list of URLs for API
2019-10-01 11:27:56 [info] Requesting new nonce for client communication
2019-10-01 11:27:56 [info] Account already registered. Continuing.
2019-10-01 11:27:56 [info] Sending registration to letsencrypt server
2019-10-01 11:27:56 [info] Sending signed request to https://acme-staging-v02.api.letsencrypt.org/acme/new-acct
2019-10-01 11:27:57 [info] Account: https://acme-staging-v02.api.letsencrypt.org/acme/acct/ACCID
2019-10-01 11:27:57 [info] Starting certificate generation process for domains
2019-10-01 11:27:57 [info] Requesting challenge for somedomains.com
2019-10-01 11:27:57 [info] Sending signed request to https://acme-staging-v02.api.letsencrypt.org/acme/new-order
2019-10-01 11:27:58 [error] 400
{
  "type": "urn:ietf:params:acme:error:malformed",
  "detail": "Unable to unmarshal NewOrder request body",
  "status": 400
}

Any idea what could be the problem here? Tried new Client as a Drop-In Replacement of the v1 Version.
thx, bye from Austria
Andreas

probs with Domains Array ... see https://community.letsencrypt.org/t/unable-to-unmarshal-neworder-request-body/103204/4


insertItem and updateItem not firing

I have been successful at using jsGrid before, but cloning an existing implementation still gives me a headache as I can't seem to even identify any cause of the problem. Right now, I have a simple implementation where the insertItem and updateItem are not firing.
The code is as follows:
$(document).ready(function() {

 $("#table").jsGrid({
    width: "100%",
    editing: true,
    inserting: true,
    autoload: true,

    controller: {
     loadData: function(filter) {
                  return $.getJSON("/api/members/"
                ).done(function(results, status, jqXHR){
                    console.log(results);
            }).fail(function(err) {
                console.log(err);
            });
     },
     insertItem: function(item) {
         console.log(item);
     },
     updateItem: function(item) {
         console.log(item)
     }
    },
     deleteItem: function(item) {
         $.ajax("/api/members/", {
             data: { item: item},
             dataType: "json",
             error: function(err) { console.log(err);},
             method: "DELETE",
             success: function(result, status, jqXHR) {},
         })
     }
...

loadData and the grid displays fine. The delete function works fine, all the way to the server and back.
But when I click the + or tick mark in the control column while inserting/editing an item, insertItem or updateItem does not fire at all. Instead, I get an Uncaught TypeError: Cannot read property 'val' of undefined in either c.insertValue or c.editValue in jsgrid.min.js:7.
Clicking the big + or x to cancel insert/update does not give any problem.
There are no other errors. Page loads and the grid renders without JS errors.  Editing changes row into textboxes without JS errors. Inserting opens a new row of textboxes without JS errors. Thus I have no clues to troubleshoot further.
What could be the cause of the problem?

I resolved the problem. One of my fields is a text field and readOnly. It is a field that cannot be provided by the user, and I don't want it to show a textbox during inserting. So I had:
insertTemplate: function(value, item) {
      return "";
   },

By adding inserting: false for that field, the insert problem was solved.
Similarly fields with editTemplate that removed the textbox must also have editing:false. A side question: how is editTemplate to return the updated value?


Data clean up and prep

Due to the file size, I can only upload the files to google drive. Please take a look and let me know if you have any comments.
Dataset:
https://drive.google.com/file/d/1dxafJmADQY8ZCn-0h49HVIXNPS8Nhtry/view?usp=sharing
Code for cleaning:
https://drive.google.com/file/d/1X6E-kqKdKWO0MqOWkgPb82DYAavk0E0m/view?usp=sharing

Further updates:

explode genres
change datatype of runtime and year to int
https://github.com/UBC-MDS/imdb_dashboard/blob/data_clean/data/imdb_data_cleaning.ipynb
https://drive.google.com/file/d/1K8KYDfmdyuisyjSYxSwS83cOEItObNSD/view?usp=sharing

include actor/actress/self only for principals
exclude movies before 1970
https://github.com/UBC-MDS/imdb_dashboard/blob/data_clean/data/imdb_data_cleaning.ipynb
https://drive.google.com/file/d/1NVGdl62Gd79VvJ1cKCRxSGfG0KvZ_HOb/view?usp=sharing

include data for year 2011-2020 only
https://github.com/UBC-MDS/imdb_dashboard/blob/main/data/imdb_data_cleaning.ipynb
https://drive.google.com/file/d/1SKh8rQVJhc8IABZFnJWKLdU3ax8M3AeA/view?usp=sharing

Thanks for all your efforts on data clean-up! We are still heavy on the data with over 500k rows. As discussed, let us filter the data down to around 180k rows by keeping the following genres:

genres
rows

Action
34057

Crime
22614

Horror
35060

Mystery
15133

Romance
30120

Sci-Fi
9850

Thriller
38078

include popular genres only
https://github.com/UBC-MDS/imdb_dashboard/blob/main/data/imdb_2011-2020.csv
https://github.com/UBC-MDS/imdb_dashboard/blob/main/data/imdb_data_cleaning.ipynb


Issue with Bot Responding to Unmentioned GIFs and Videos

Hi, I am encoutering an issue where the bot (v1.5) responds to GIFs and videos in group chats without being explicitly mentioned. The bot automatically replies with: "I don't know how to read files or videos. Send the picture in normal mode (Quick Mode)."
This behavior persists even though the bot is not mentioned or tagged. Is this a bug? Otherwise, I am looking for guidance or a fix to ensure that the bot only responds when directly mentioned or replying to its messages in group chats.

Yes, they forgot to block unmentioned video/file messages in the group chat
This is a quick fix:
async def unsupport_message_handle(update: Update, context: CallbackContext, message=None):
    # check if bot was mentioned (for group chats)
    if not await is_bot_mentioned(update, context):
        return
    error_text = f"I don't know how to read files or videos. Send the picture in normal mode (Quick Mode)."
    logger.error(error_text)
    await update.message.reply_text(error_text)
    return

This works. Thanks a bunch!


added redis calls LLEN, LINDEX, LPOP and LRANGE

Hi, I would love to see this PR move forward, anything I can do?

@tarjei you can take the code produced by @frequenc1 on another PR
from the master.
just not change the identation, and I think it will be mergeable

I fixed indentation. Had project set to code sweep setting used at work!

sorry @frequenc1 but the PR cannot still be merged
is it possible to resolve the conflicts with the master ?

I think this PR is too old and that the master has too evolved since.
Please check #42 insead

Wish I had time to do the merges. Wondering if moving the command types to traits would be an except able way to modulize that class?

On Oct 2, 2015, at 2:17 PM, Mikael RANDY<EMAIL_ADDRESS>wrote:
I think this PR is too old and that the master has too evolved since.
Please check #42 insead
—
Reply to this email directly or view it on GitHub.

As #42 is now merged, i close this PR.
Thanks @frequenc1 for the initial work.
@tarjei, you can now use this new functions ;)

Thanks a bundle!  I'll look into adding lpush and blpop sometime in the
future
5. okt. 2015 2.53 p.m. skrev "Mikael RANDY"<EMAIL_ADDRESS>
As #42 https://github.com/M6Web/RedisMock/pull/42 is now merged, i
close this PR.
Thanks @frequenc1 https://github.com/frequenc1 for the initial work.
@tarjei https://github.com/tarjei, you can now use this new functions
;)
—
Reply to this email directly or view it on GitHub
https://github.com/M6Web/RedisMock/pull/32#issuecomment-145518760.


new vocab updates

@oceanzus , @birdage , @Bobfrat , @ednad , @DanielJMaher
Hey all, I made some significant changes to how the asset names are interpreted based on the reference designators.
@oceanzus , @ednad  I created a separate sql file that will load to a new table via the manage.py file.  I'm not married to this implementation, so if you need/want to make any changes let me know and I can update that.
@Bobfrat , @birdage, at this point it's really a consistency check and an exercise of rebuilding the DB with this new data.  We should get together today if possible to work out what need to do to keep the UI happy.
@birdage , lets look in detail at line 115 of routes.py and if we need to keep that or off load that hack to be on uframes plate instead.
Let me know if you need a hand setting it back up!

@FBRTMaka looks good. how do we plan to handle geo_locations since that route was removed? (not sure where that was used from?)

@FBRTMaka I think the separate vocab sql file approach is fine.  How was that file produced?  It needs to be insert statements and set up like the other 2 sql files.

@birdage Good question, I may be missing the mark but I did a search of the routes directory in UI's flask proxy and didn't find any reference to /platformlocation being used.

It was created with pg_dump.  What do you use to export the sql file with insert statements instead of COPY ?
On Dec 22, 2015, at 10:39 AM, James Case <notifications<EMAIL_ADDRESS>wrote:
@FBRTMakahttps://github.com/FBRTMaka I think the separate vocab sql file approach is fine. How was that file produced? It needs to be insert statements and set up like the other 2 sql files.
—
Reply to this email directly or view it on GitHubhttps://github.com/asascience-open/ooi-ui-services/pull/465#issuecomment-166650020.
This e-mail message and any attached file is the property of the sender and is sent in confidence to the addressee only.
Internet communications are not secure and RPS is not responsible for their abuse by third parties, any alteration or corruption in transmission or for any loss or damage caused by a virus or by other means.
Any advice contained in this e-mail is for information purposes only.
RPS Group Plc, company number: 208 7786 (England). Registered office: 20 Western Avenue Milton Park Abingdon Oxfordshire OX14 4SH.
RPS Group Plc web link: http://www.rpsgroup.com

use the --column-inserts option in the pg_dump
Also, hand edit the top of the sql file to look like the others and make sure you really need that sequence statement in there.

@birdage @FBRTMaka interesting new thing in uframe... every stream has an associated lat/lon... i dont think that is how we want to be using it, but more than likely those fields are being populated by uframe from the asset management sheet.  That means that their will be a push to get every asset record to have a lat/lon.  We have to develop a solution for now, but i think long term that wil be the path

@FBRTMaka
Not sure this should be set to 1 if the data goes to 1235
SELECT pg_catalog.setval('vocabnames_id_seq', 1, false);


Impossible to edit mirror when name is subset of other mirror

When there are two mirrors with very similar names the show command will fuzzy logic list both mirrors, in my opinion this is a good thing.
The issue however is threefold:

The edit command will do the same, and does not use strict checking
There is no way (I found) to change the descriptive name of a mirror
(SOLVED) It is impossible to add a mirror with the same name as one that was previously removed.

Example:
First I add a few mirrors called test.example.com and secondtest.example.com
$ mirrorbits add -http="http://test.example.com" test.example.com
Warning: unable to guess the geographic location of test.example.com
Mirror added successfull
$ mirrorbits add -http="http://secondtest.example.com" secondtest.example.com
Warning: unable to guess the geographic location of test.example.com
Mirror added successfull

It is clear this worked from the output of the show command
$ mirrorbits show example
secondtest.example.com
test.example.com

But I can't edit test.example.com
$ mirrorbits edit test.example.com
secondtest.example.com
test.example.com

I proceed to remove secondtest.example.com so i can edit test.example.com
$ mirrorbits remove secondtest.example.com
Mirror removed successfully
$ mirrorbits edit test.example.com

I then find out I can't edit the displayname of this mirror.
I end up removing it completely and recreating it with the new displayname
When I tried this previously I also was not able to recreate the same mirrorname, it complains the mirror already exists:
$ mirrorbits add <lots of info> z.os6.org
Mirror z.os6.org already exists!
$ mirrorbits edit z.os6.org
No match for z.os6.org

Edit on the last issue, this seems to be created with a previous version of mirrorbits, there was a MIRROR_z.os6.org key left in the redis database with no other keys / keydata with it. I've manually removed the offending key and was able to reuse the name.

The naming issue also affects removing mirrors:
$ mirrorbits remove test.example.com
secondtest.example.com
test.example.com
$ mirrorbits remove secondtest.example.com
Mirror removed successfully

Nice catch! Thanks a lot :)

just 'lucky' we had two similar names I guess. Thanks for the quick fix :+1:

Any chance you could make it possible to change the descriptive name of the mirror ?

Renaming a mirror is quite difficult currently since the mirror identifier is part of thousands of keys in the database. It would require to disable the mirror, replace all matching keys and take it back online. Another option would be to use an intermediate table but that would require a breaking database format change. Your best option here is to remove and add the mirror back but with a different name.

@etix I see, well than we just must be careful not to make mistakes :+1:

It's definitely on my TODO-breaking list, I just want to do all breaking changes at the same time, most certainly just before 1.0-stable.

patch for editing names confirmed working, just tested adding a mirror with subsetname, was able to edit and remove it no problem.


Test support of art:incognito effect

JS implementation of #149

The general effect test covers this also, so closing


FastZip's NameTransform property is settable, but not honored

Steps to reproduce

create a FastZip instance
set its NameTransform property to an INameTransform implementation
execute its CreateZip method to create a zip file

Expected behavior
The configured name transform is used for the zip file creation.
Actual behavior
The configured name provider is ignored; CreateZip always sets it to a new ZipNameTransform instance.
If this is the intent, perhaps the documentation should better reflect this, and the setter should then probably be private (or protected, given that FastZip isn't sealed).
Note: the same happens if you set the EntryFactory to a custom entry factory with a custom name transform - CreateZip happily changes the factory's name transform. That sounds like highly irregular behavior.
Version of SharpZipLib
1.0
Obtained from (place an x between the brackets for all that apply)

Package installed using:

NuGet

Yes, that does seem counter-intuitive. CreateZip should use the backing field (entryFactory_.NameTransform) if it's not null or otherwise create a new a new instance the same way that it does right now. My guess is that CreateZip is meant to be used as a shortcut, when you only want the most basic behaviour. But then I guess it should either be static or clearly separated from the rest of the class.

Will look at a making a PR when I have time. Maybe this weekend, but no promises.

Looking at the FastZip source, there are two name transform instances used by FastZip:

The mentioned property, which gets set to a new instance of ZipNameTransform by CreateZip.
A private 'extractNameTransform_' field which is set to an instance of WindowsNameTransform by ExtractZip().

Not sure what the logic is for (sort of) allowing the transform for Create to be specified, but not the one for Extract ?


update sdk client docs to match v2 changes. Add .getMirrorNetwork

Description:
Update SDK docs to reflect v2 changes:
fromJson -> fromConfig
Also added doc for getMirrorNetwork method cause why not. But there are others (below) I have not added, not sure if we want those?
Related issue(s):
N/A
Notes for reviewer:
V2 changes here: https://github.com/hashgraph/hedera-sdk-js/blob/c4a8d339648651a545782089ae4b18b972f2e356/MIGRATING_V1.md#client
Checklist

[x] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Updated to add the additional ones on the list as well


migrate two existed samples for tensorflow and pytorch

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Sample Migration (Moving sample from old repository after completing checklist established)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode

Checklist for Moving samples:
Links and Details can be found in the samples WG Teams Files.

[x] Review sample design with domain reviewers https://github.com/oneapi-src/oneAPI-samples/wiki/Reviewers-and-Domain-Experts
[x] Implement coding guidelines and ensure code quality.
[x] Adhere to sample.json specification. https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-specification
[ ] Run jsonlint on sample.json to verify json syntax. www.jsonlint.com
[x] Adhere to readme template
[x] Ensure/create CI test configurations for sample (ciTests field) https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-ci-test-object
[ ] Enforce format via clang-format config file
[ ] Review DPC++ code with Paul Peterseon. (GitHub User: pmpeter1)
[x] Review readme with Tom Lenth or Joe Oster. (GitHub User: JoeOster)
[ ] Tested using Dev Cloud when applicable
[ ] Implement fixes for ONSAM Jiras
[ ] If you have new dependencies/binaries, inform Samples Project Manager Swapna R Dontharaju (@srdontha) or @JoeOster

@mkitez
updated json files per your request.

Has this been reviewed by @pmpeter for coding guideline. Your checklist has it unmarked.

@anjgola
Those two samples are pure python workloads, so they might not apply DPC++ coding guideline.
Therefore, we don't go to Paul for DPC++ coding reviewing.
@yinghu5  please comment if there is any misunderstanding.

Yes, those two samples are pure python workloads associated with Intel oneAPI, AI toolkits' python3 environment, not related to DPC++ etc.  thanks

@anjgola  Sample author has provided feedback.


Revert "Ignore failing Parquet filter test to unblock CI (#9519)"

Issue https://github.com/rapidsai/cudf/issues/14315 is closed with PR https://github.com/rapidsai/cudf/pull/14322
This PR adds back tests for "Parquet filter pushdown - timestamp" by reverting commit eeb4168382c63a00201a1dbc833abca76a7d9828.
Closes https://github.com/NVIDIA/spark-rapids/issues/9507

build

build


[Feature][metrics] Add master, worker metrics

Purpose of the pull request
related issue #9324
Brief change log
Add basic metrics about master server.
Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

@EricGao888 Please take a look.


Getting error while setting it up.

File "/Users/sudarshan/Desktop/Chegg-Answer-Bot-main/helper.py", line 45, in try2FA
f_id = factors[idd - 1]['id']
IndexError: list index out of range

Hi, were you able to fix this issue?


use central configuration file for API Token

Currently the API Token is stored in multiple locations. This should be changed to just one.

Resolved by #135 and should be closed.


WIP: CS2 Support

This MR Updates quite a bit

Support for CS2
Updates dependecies to latest version
Swiches from commonjs to esm
Added functions to get medal images

This is still a WIP from me, as for example Stickers do not work rn + there has to be a bit of code cleanup.
It would be great if you could let me know if this is something that would get merged, or any feedback on the changes.

cc @Step7750

@Flo4604 I think items_game_cdn.txt was removed from the game files.
I was not able to check it. Does this return the new images of the skins and does this include the new weapons?
I am able to get the images from the game files but I don't know how the new cdn url looks like. Do you have any idea?

Yeah it 100% seems like the cdn file was removed.
I myself don't know the new CDN link, but at this point it might be smart to just create a standalone cdn... for people to use.
I will look into it on the weekend but can't promise anything

Gonna close it for now due to the added depenencies and the branch not being uptodate with the latest valve changes.

@Flo4604
Seems like the cdn works for stickers:
https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/community/community_2024/paper_retro_zeus.6172a59f34c7fa4ce9777cfb5d315cfca5fa059d.png

@Flo4604
Seems like the cdn works for stickers:
https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/community/community_2024/paper_retro_zeus.6172a59f34c7fa4ce9777cfb5d315cfca5fa059d.png

Hey, yeah the cdn still works for medal most images afaik, medals patches stickers etc, It only seems like weapons are different now.
The images are still in the game files tho so I assume they just have a different path now.

@Flo4604
Could you help me out with your implementation?
The application returns a url for stickers, but the sha1 hash it creates seems to be wrong.
How could I fix this?

@Flo4604 Could you help me out with your implementation? The application returns a url for stickers, but the sha1 hash it creates seems to be wrong. How could I fix this?

What do you mean by the sha1 seems to be wrong?, please let me know which sticker you are requesting.
And show the response url you are getting, and what you are excpecting.

@Flo4604 Could you help me out with your implementation? The application returns a url for stickers, but the sha1 hash it creates seems to be wrong. How could I fix this?

What do you mean by the sha1 seems to be wrong?, please let me know which sticker you are requesting. And show the response url you are getting, and what you are excpecting.

I am requesting this sticker: cologne2015/mousesports
This is the same sticker as in the original documentation, which should return this URL: https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.3e75da497d9f75fa56f463c22db25f29992561ce.png
when calling cdn.getStickerURL:
console.log(cdn.getStickerURL('cologne2015/mousesports', false));
This cdn url is outputted: https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.78b7ea6ab26bef697c9d03ce0b0d3671c05daf2b.png
The only difference between these two urls seems to be the hashed part.
Thank you for actually wanting to help me!

@Flo4604 Could you help me out with your implementation? The application returns a url for stickers, but the sha1 hash it creates seems to be wrong. How could I fix this?

What do you mean by the sha1 seems to be wrong?, please let me know which sticker you are requesting. And show the response url you are getting, and what you are excpecting.

@Flo4604 I am requesting this sticker: cologne2015/mousesports This is the same sticker as in the original documentation, which should return this URL: steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.3e75da497d9f75fa56f463c22db25f29992561ce.png
when calling cdn.getStickerURL: console.log(cdn.getStickerURL('cologne2015/mousesports', false)); This cdn url is outputted: steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.78b7ea6ab26bef697c9d03ce0b0d3671c05daf2b.png
The only difference between these two urls seems to be the hashed part. Thank you for actually wanting to help me!

I'll look into it on the weekend

@Flo4604 Could you help me out with your implementation? The application returns a url for stickers, but the sha1 hash it creates seems to be wrong. How could I fix this?

What do you mean by the sha1 seems to be wrong?, please let me know which sticker you are requesting. And show the response url you are getting, and what you are excpecting.

@Flo4604 I am requesting this sticker: cologne2015/mousesports This is the same sticker as in the original documentation, which should return this URL: steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.3e75da497d9f75fa56f463c22db25f29992561ce.png
when calling cdn.getStickerURL: console.log(cdn.getStickerURL('cologne2015/mousesports', false)); This cdn url is outputted: steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/cologne2015/mousesports.78b7ea6ab26bef697c9d03ce0b0d3671c05daf2b.png
The only difference between these two urls seems to be the hashed part. Thank you for actually wanting to help me!

I'll look into it on the weekend

Just to add a bit more information:
It was generating the wrong hash becaus it was hashing the vtex_c file, not the png of the sticker.

@DanielVolosevich Are you using the lastest commit of my own fork or the changes here?
If you are using my fork this has already been fixed.

@DanielVolosevich Also for your info I just added a cs2 cdn which uploads all cs2 images automatically to a r2 server where they are being cached by cloudflare.
you can load images by their normal path without the hash for example: https://cs2cdn.com/econ/stickers/cologne2015/mousesports.png
you can also use https://github.com/ByMykel/CSGO-API which has their own image extracor

@Flo4604 add me on discord -> espresso_consumer
I'd like to clarify some things about using your R2 server

@danieldetijger have you figured out how to get the "basic" and "large" version of the image (for different hash)? Maybe only the larger version is available in CS2?

Yes, but if I want to use the Steam CDN as https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/paris2023/vita.eec767341d18964b7fea56c9469769ec9ed3e05b.png
Can't I do it? Maybe @Flo4604 has information about this?

@ilzrv yes you can do it, I also managed to do it
Maybe try to reverse engineer https://github.com/Flo4604/cs2-cdn
It's got everything you need afaik

@danieldetijger I'm not sure, because inside pak01_dir.vpk we don't have stickers with the suffix _large (I have already unpacked this archive).

@ilzrv I don't remember how I did it, but it is possible, can't really help you further, maybe try reaching @Flo4604

@danieldetijger Thanks, let's try to wait for @Flo4604

@danieldetijger I'm not sure, because inside pak01_dir.vpk we don't have stickers with the suffix _large (I have already unpacked this archive).

If the image is not in the cs files u cant calculate the hash from it.
Are the default images the large ones?

@danieldetijger I'm not sure, because inside pak01_dir.vpk we don't have stickers with the suffix _large (I have already unpacked this archive).

If the image is not in the cs files u cant calculate the hash from it.
Are the default images the large ones?

Do you already know how to get the CDN for the CS2 skins?

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

@danieldetijger I'm not sure, because inside pak01_dir.vpk we don't have stickers with the suffix _large (I have already unpacked this archive).

If the image is not in the cs files u cant calculate the hash from it.

Are the default images the large ones?

Do you already know how to get the CDN for the CS2 skins?

You mean the ones which were in the items game cdn previously?

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

And you need the smaller ones? Then I suggest just use the default ones and scaling them to whatever size you need.

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

And you need the smaller ones? Then I suggest just use the default ones and scaling them to whatever size you need.

Scaling didn't help. It seems that CS2 decided to abandon the use of small images and leave only large ones

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

And you need the smaller ones? Then I suggest just use the default ones and scaling them to whatever size you need.

Scaling didn't help. It seems that CS2 decided to abandon the use of small images and leave only large ones

Not true for all images, for example the medals, pins and others still come with a small image.
You could resize the image yourself if u need the stickers smaller.

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

And you need the smaller ones? Then I suggest just use the default ones and scaling them to whatever size you need.

Scaling didn't help. It seems that CS2 decided to abandon the use of small images and leave only large ones

Not true for all images, for example the medals, pins and others still come with a small image.
You could resize the image yourself if u need the stickers smaller.

If you reduce the image yourself, you will not be able to get the correct hash. For example we have a large image https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/dreamhack/dh_gologo1.9cb84d29f38fe347f001e7057a188696bda6f67b.png and small one https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/dreamhack/dh_gologo1.68779ca946e13bfc97d7ae22f99876564f726342.png how do you get a hash for a small one manually?

Are the default images the large ones?

@Flo4604 Yes, the images are large by default

And you need the smaller ones? Then I suggest just use the default ones and scaling them to whatever size you need.

Scaling didn't help. It seems that CS2 decided to abandon the use of small images and leave only large ones

Not true for all images, for example the medals, pins and others still come with a small image.

You could resize the image yourself if u need the stickers smaller.

If you reduce the image yourself, you will not be able to get the correct hash. For example we have a large image https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/dreamhack/dh_gologo1.9cb84d29f38fe347f001e7057a188696bda6f67b.png and small one https://steamcdn-a.akamaihd.net/apps/730/icons/econ/stickers/dreamhack/dh_gologo1.68779ca946e13bfc97d7ae22f99876564f726342.png how do you get a hash for a small one manually?

I think you misunderstood me, you can get the url for the large image and then resize the large image via an api or code

I think you misunderstood me, you can get the url for the large image and then resize the large image via an api or code

Yes, but then you will have to reduce the images on your side and use CDN Steam for small images will not work, right? Only for big ones

I think you misunderstood me, you can get the url for the large image and then resize the large image via an api or code

Yes, but then you will have to reduce the images on your side and use CDN Steam for small images will not work, right? Only for big ones

You can only use the official steam cdn for the files that are packed within cs2, to my knowledge its not possible to get the links any other way.
If u need the image smaller, calculate the hash of the file that exists for stickers in this case only the big ones and use for example: https://github.com/lovell/sharp to resize it to your wanted size.
You could also use something like https://images.weserv.nl

I think you misunderstood me, you can get the url for the large image and then resize the large image via an api or code

Yes, but then you will have to reduce the images on your side and use CDN Steam for small images will not work, right? Only for big ones

You can only use the official steam cdn for the files that are packed within cs2, to my knowledge its not possible to get the links any other way.
If u need the image smaller, calculate the hash of the file that exists for stickers in this case only the big ones and use for example: https://github.com/lovell/sharp to resize it to your wanted size.
You could also use something like https://images.weserv.nl

Yes, thanks. I just wanted to make sure that Valve removed this feature and left only large pictures for some of the images.


Update gradle wrapper to 2.13

Change logs: https://docs.gradle.org/2.13/release-notes

2.14 should be out soon. RC is already available

[Current coverage][cc-pull] is 85.76%

Merging [#179][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.80%

2 files (not in diff) in ...matters/ui/fragments were modified. more

Hits +27

1 files (not in diff) in ...emzin/qualitymatters were modified. more

Misses -2
Hits +2

2 files (not in diff) in ...in/qualitymatters/ui were modified. more

Misses +7
Hits +47

1 files (not in diff) in ...emzin/qualitymatters were modified. more

Misses +9
Hits -9

1 files (not in diff) in app/src were modified. more

Misses +2
Hits -2

3 files (not in diff) in ...emzin/qualitymatters were created. more
3 files (not in diff) in ...emzin/qualitymatters were deleted. more

@@             master       #179   diff @@
==========================================
  Files            38         38
  Lines           558        639    +81
  Methods           0          0
  Messages          0          0
  Branches         47         61    +14
==========================================
+ Hits            483        548    +65
- Misses           75         91    +16
  Partials          0          0

Powered by Codecov. Last updated by [52f0d85...6c6f996][cc-compare]
[cc-base-branch]: https://codecov.io/gh/artem-zinnatullin/qualitymatters/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/artem-zinnatullin/qualitymatters/compare/52f0d859d5cff66477bce65c9142d5ac25366a4b...6c6f996fd9a4f059b02a90ed47d684b817efef52
[cc-pull]: https://codecov.io/gh/artem-zinnatullin/qualitymatters/pull/179?src=pr

Yeah. I'm waiting for 3.0 where Kotlin is supported too. Very excited about it.

@lenguyenthanh you need to update gradle wrapper jar too!

Updated @artem-zinnatullin

Hmm I think @artem-zinnatullin meant running ./gradlew wrapper locally as it'll update the gradlew, jar files etc.

Yup
On Sun, 29 May 2016, 19:32 Niklas Baudy<EMAIL_ADDRESS>wrote:

Hmm I think @artem-zinnatullin https://github.com/artem-zinnatullin
meant running ./gradlew wrapper locally as it'll update the gradlew, jar
files etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/artem-zinnatullin/qualitymatters/pull/179#issuecomment-222369613,
or mute the thread
https://github.com/notifications/unsubscribe/AA7B3B5yqKg1YDWt7OUHNtj7wTYqqjcOks5qGb-lgaJpZM4IpQM2
.

Oh ok guys, will update it later today. Thanks!

Fixed it using gradle wrapper command.

👍

👍 Thanks!


pull request for e2e test at 01/12/2017 16:26:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Let's break out the docs, yes?

We started to do that at one point. Right now they all sit in this repo, which is fine, but it'd probably be best if they're separate from the main engine (IMO). That way we can structure the setup however we need to.
Let me know your thoughts. In the meantime, I've checked them out to start to make improvements to them.
Side note, I know @RomanMinkin did a lot of work on them at some point, which was great. Can somebody fill me in on how the process involved to get changes online, etc.?

The docs are generated by a grunt task, and pushed up to the gh-pages branch on Github.
The reason that the docs were put with the code is because they generate documentation from the code comments. Here is an example: http://socketstream.github.io/socketstream/docs/#/api/http.index:index

Ah, okay that's quite a trick. Makes sense to leave them as is then. I'll close.

Actually I think writing articles about how to use Socketstream on other destinations is much more important. We should actively try to extend the community. The docs are not great, but they mostly do the job. The ideal would be to recruit someone that has helped make stellar docs on another project.

@thepian I have more to say. I'm going to open a new ticket w/ a more general "improve docs" question.


Add support for tiling linalg_ext.pack op

@MaheshRavishankar @chelini @nicolasvasilache this is the prototype of tiling linalg_ext.pack op. The lit checks are generated by script; it's more for preview the output IR. I'll rework on lit tests and verify if it works with transpose variants.

Mostly looks like this is doing the right thing. But need to check correctness e2e.

Tested that existing e2e tests are passing, but it needs some fixes for verifier. I got Expected 'memref<2x8x32x16xi32>' but got: 'memref<2x8x32x16xi32, strided<[8192, 512, 16, 1], offset: ?>>. I'll fix it and enable the tiling after landing this PR.

@hanhanW to test e2e you could replace https://github.com/iree-org/iree/blob/906995e380ef2a868f03c3b5d06ce25bedf2209e/compiler/src/iree/compiler/Codegen/Interfaces/PartitionableLoopsInterface.cpp#L210 with either OuterParallelAsPartitionableLoops or AllParallelAsPartitionableLoops


Merge delete conditions to reduce judgments

Is your feature request related to a problem? Please describe.
Suppose there are several DELETE operations on a table, and the table has only 1 tablet:
DELETE FROM tbl WHERE date < '2020-11-01';
DELETE FROM tbl WHERE date < '2020-11-02';
DELETE FROM tbl WHERE date < '2020-11-03';
DELETE FROM tbl WHERE date < '2020-11-04';

There will be 4 delete predicates on a tablet, then launch a query on the table, doris will judge at most 4 predicates for every block or row, which is inefficient.
Describe the solution you'd like
We can merge the 4 predicates to one, for the example above, it should be:
DELETE FROM tbl WHERE date < '2020-11-04';

We can implement it in class DeleteHandler.
At the first step, the merge operation can be performed when delete predicate has conditions on only 1 column, we can merge similar predicates on the same column, the result is the union set for sub predicates.
op1      op2      result
eq       eq       in
eq       in       in
ne       ne       not in
ne       not in   not in
...

sounds great~


Add route type

A route can be a standard route that is pushed as a new screen.
And it can be a dialog route that does not create a new screen and possibly uses a different transition

This would require extra dependencies, which would reduce portability.


FEATURE new tests

Codecov Report

Merging #7 into master will increase coverage by 34.35%.
The diff coverage is 7.14%.

@@              Coverage Diff              @@
##             master       #7       +/-   ##
=============================================
+ Coverage         0%   34.35%   +34.35%
- Complexity      154      156        +2
=============================================
  Files            15       15
  Lines           495      393      -102
=============================================
+ Hits              0      135      +135
+ Misses          495      258      -237

Impacted Files
Coverage Δ
Complexity Δ

src/Forms/GoogleSearchPreview.php
0% <0%> (ø)
12 <0> (ø)
:arrow_down:

src/Extensions/PageSeoExtension.php
71.15% <50%> (+71.15%)
27 <0> (+2)
:arrow_up:

src/Analysis/WordCountAnalysis.php
0% <0%> (ø)
4% <0%> (ø)
:arrow_down:

src/Analysis/MetaDescAnalysis.php
0% <0%> (ø)
7% <0%> (ø)
:arrow_down:

src/Analysis/FocusKeywordContentAnalysis.php
0% <0%> (ø)
10% <0%> (ø)
:arrow_down:

src/Extensions/SiteConfigSettingsExtension.php
0% <0%> (ø)
1% <0%> (ø)
:arrow_down:

src/Analysis/FocusKeywordUrlAnalysis.php
0% <0%> (ø)
5% <0%> (ø)
:arrow_down:

src/Extensions/PageHealthExtension.php
0% <0%> (ø)
7% <0%> (ø)
:arrow_down:

src/Analysis/FocusKeywordUniqueAnalysis.php
0% <0%> (ø)
5% <0%> (ø)
:arrow_down:

src/Analysis/TitleAnalysis.php
0% <0%> (ø)
10% <0%> (ø)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


DEVENGAGE-2073 add home screen to messenger settings

Added home screen to messenger settings.
This will allow to create webdeployments with voice channel selected only (for co-browse) - othwerwise it fails on validation. (Squonk)

Looks good. You just need to run go generate from the root of the project

I ran the command and it made changes to the docs file, should I include it in the PR too?

Looks good. You just need to run go generate from the root of the project

I ran the command and it made changes to the docs file, should I include it in the PR too?

Yep!


Gh 870 conditional none handling

Happy to merge after small indentation fixes. Closes #870

@j8934893 Hiya, we're looking to do a release in a couple of weeks. If you make the requested changes here soonish, we can include this item.

Git appears to have done something odd with my local branch so split this into a new PR - https://github.com/gchq/gaffer-tools/pull/897
Sorry for being a pain.

Closing as superseded by #898


Enable ATS in the CLI

Changing tests that used the -v option (invoking the CLI) to instead use the fixture. This prevents tests from messing up the global env across tests when running pytest using ATS. As we've been discovering recently, it's a big mess sometimes.
The removal of "MASKED" from some git tests is because it was throwing errors in CI. Maybe it's a python 3.11.x thing... But I suppose they changed when the removal of secrets run. I changed for bogus secrets.
THe git services was also an error, so I had to put them in a list.

I am fairly confident that all tests are passing now. However there's 1 more issue that I don't quite know how to solve. In the actions runs you can see many times ERROR INTERNALERROR> sqlite3.OperationalError: no such table: context
This is an issue with pytest-cov and the cov-context option. To figure that out I tested locally with a helper script that should be the same command ATS uses. Follow these steps to try and reproduce:

Run pytest -q -collect-only > labels.txt
Run the tests using the script below

import subprocess

default_options = ["python", "-m", "pytest", "-v","--cov=./", "--cov-context=test"]
# default_options = ["python", "-m", "pytest", "-v", "--cov=./"]

with open("labels.txt", 'r') as fd:
    all_labels = fd.readlines()

command_array = default_options + list(
        set(
            label.split("[")[0] if "[" in label else label for label in map(str.strip , all_labels)
        )
    )

with open("debug.txt", "w") as fd:
    subprocess.run(
        command_array,
        stdout=fd,
    )

For me, when I run with --cov it works sometimes, but fails I'd say a good 60% of times. If you run without that flag it passes every time.
By running with the -v option I noticed that it always errors in the same test:
tests/commands/test_invoke_upload.py::test_upload_raise_Z_option PASSED  [100%]
tests/commands/test_invoke_upload.py::test_upload_raise_Z_option ERROR   [100%]

Notice that the test is repeated, and it passed the 1st time. The list of labels we passed to pytest only has that label once. So I guess the test is passing, then when trying to write the coverage it errors and that causes all future tests to error.

It's the isolated filesystem 😮💨


Ctrl + S shortcut not working in OS X non-native menu using Korean Layout

Steps

In OS X set the keyboard layout to Korean
Launch brackets (it will be opened with native menus)
Open a file, edit it
Press Ctrl + S
Brackets saves the file normally
Launch brackets without native menus (I tested this using standard brackets by setting "global.brackets.nativeMenus = false" in src/util/Globals.js line 90. This also happens when Brackets is embedded inside Intel XDK)
Open a file, edit it
Press Ctrl + S

Result
Nothing happens. The shortcut does not work.
Expected result
File should have been saved, just as when using native menus
Version
This was tested on brackets, taken from git SHA 5542986f5ffcb81e0061e5f7c727fae8df9b00ac
Posible cause
KeyBindingManager is using the keyIdentifier property of the keyboard event whenever possible. In Windows, when the S key is pressed, both the keyIdentifier property and the keyCode get changed to the corresponding S character codes; while on Mac OS X, the keyIdentifier remains pointing to the Korean character and only the keyCode and which properties of the keyboard event get changed to the 'S' code. This leads to inconsistent behavior when using some shortcuts in a group of non-latin keyboards. In this case, Ctrl+S on a Korean layout was shown as an example.
In the captured image below, it can be seen that the 'key' value was interpreted the same way as in the native menu shortcut (S), but it will be replaced in the following steps by the corresponding Korean character.

I think it should be a high priority issue since I can reproduce it in some IMEs (2-Set Korean, Zhuyin and Zhuyin - Eten). But I believe the issue is there with older releases (as fas as sprint-9). So set it to medium priority. The fix for it is pretty easy. We can prevent from assigning keyIdentifier property by checking key is not one of the A to Z characters. ie. replacing if (ident) with if (ident && /[^A-Z]/.test(key))


How to read the content/field of an entity

Hello,
I know this question may be early, but I think it's good to ask it anyway.
Assuming I created an entity with a custom template (using a custom field definition, so no standard template, but if needed I could use a standard one for the test) etc. in Articy to define the gameplay values. Let's say the entity has the two field "LP" and "Magic" with int values.
I export the information to UE4 from Articy and import it in UE4.
I try getting the object with "GetArticyDB" and "GetObjectByName" via Blueprint.
How can I access the gameplay values defined for my entity?
Thanks and God bless you
Tobias

Hi Tobias,
After you have "get" the object you first need to cast it into the proper type. The type to cast in is the project name + Template name, so for example if your template is called PlayerCharacter (TechnicalName!) and your articy:draft project is called MyRPG then you are looking to cast into MyRPGPlayerCharacter. After that you need the name of the Feature inside your Template. For example lets say its called Attributes, then you will find a field called Attribute (Again TechnicalName). Inside attribute you will find all your properties (Also TechnicalNames).
But i think its a very important question, so i will add some clarifications into the quick start guide to describe that process.
Thank you and let me know if that helped you or if you need any more information.
Best regards
Nico

Thanks Nico.
It worked fine. I'll continue to explore the plugin.
In general, I think it would be great if you can give us a roadmap of the features you're planning and when to have it. It would also help people to support you.
So long and God bless you
Tobias


Support aggregate query clause

CQL 1.5 added an aggregate clause to the query:
https://cql.hl7.org/2020May/03-developersguide.html#aggregate-queries

Are aggregate clauses supported? I was trying to run an example from the dev guide, but rather than evaluating to a value, I am receiving the source list that should be iterated over.
Example:
  ({ 1, 2, 3, 4, 5 }) Num
    aggregate Result starting 1: Result * Num```

Expected result: `120`
Actual result: `[1, 2, 3, 4, 5]`

I wasn't sure the current status as I have seen aggregate clauses suggested before on the Zulip chat.


Update main.tf

Ran Plan for dir: . workspace: default
Show Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

Terraform will perform the following actions:

  # aws_db_instance.default will be created
+ resource "aws_db_instance" "default" {
      + address                               = (known after apply)
      + allocated_storage                     = 20
      + apply_immediately                     = (known after apply)
      + arn                                   = (known after apply)
      + auto_minor_version_upgrade            = true
      + availability_zone                     = (known after apply)
      + backup_retention_period               = 7
      + backup_window                         = (known after apply)
      + ca_cert_identifier                    = (known after apply)
      + character_set_name                    = (known after apply)
      + copy_tags_to_snapshot                 = false
      + db_name                               = (known after apply)
      + db_subnet_group_name                  = (known after apply)
      + delete_automated_backups              = true
      + endpoint                              = (known after apply)
      + engine                                = "mariadb"
      + engine_version                        = "10.4.25"
      + engine_version_actual                 = (known after apply)
      + hosted_zone_id                        = (known after apply)
      + id                                    = (known after apply)
      + identifier                            = "my-database"
      + identifier_prefix                     = (known after apply)
      + instance_class                        = "db.t4g.small"
      + kms_key_id                            = (known after apply)
      + latest_restorable_time                = (known after apply)
      + license_model                         = (known after apply)
      + maintenance_window                    = (known after apply)
      + monitoring_interval                   = 0
      + monitoring_role_arn                   = (known after apply)
      + multi_az                              = false
      + name                                  = (known after apply)
      + nchar_character_set_name              = (known after apply)
      + network_type                          = (known after apply)
      + option_group_name                     = (known after apply)
      + parameter_group_name                  = "default.mariadb10.4"
      + password                              = (sensitive value)
      + performance_insights_enabled          = false
      + performance_insights_kms_key_id       = (known after apply)
      + performance_insights_retention_period = (known after apply)
      + port                                  = (known after apply)
      + publicly_accessible                   = false
      + replica_mode                          = (known after apply)
      + replicas                              = (known after apply)
      + resource_id                           = (known after apply)
      + skip_final_snapshot                   = true
      + snapshot_identifier                   = (known after apply)
      + status                                = (known after apply)
      + storage_encrypted                     = true
      + storage_type                          = "gp2"
      + tags                                  = {
          + "Name" = "terraform_aws_rds_secrets_manager"
        }
      + tags_all                              = {
          + "App"  = "terraform_aws_rds_secrets_manager"
          + "Name" = "terraform_aws_rds_secrets_manager"
        }
      + timezone                              = (known after apply)
      + username                              = "Admin"
      + vpc_security_group_ids                = (known after apply)
    }

  # aws_kms_key.default will be created
+ resource "aws_kms_key" "default" {
      + arn                                = (known after apply)
      + bypass_policy_lockout_safety_check = false
      + customer_master_key_spec           = "SYMMETRIC_DEFAULT"
      + deletion_window_in_days            = 30
      + description                        = "KMS key for RDS"
      + enable_key_rotation                = true
      + id                                 = (known after apply)
      + is_enabled                         = true
      + key_id                             = (known after apply)
      + key_usage                          = "ENCRYPT_DECRYPT"
      + multi_region                       = (known after apply)
      + policy                             = (known after apply)
      + tags                               = {
          + "Name" = "terraform_aws_rds_secrets_manager"
        }
      + tags_all                           = {
          + "App"  = "terraform_aws_rds_secrets_manager"
          + "Name" = "terraform_aws_rds_secrets_manager"
        }
    }

  # aws_secretsmanager_secret.example will be created
+ resource "aws_secretsmanager_secret" "example" {
      + arn                            = (known after apply)
      + description                    = "RDS Admin password"
      + force_overwrite_replica_secret = false
      + id                             = (known after apply)
      + kms_key_id                     = (known after apply)
      + name                           = "rds_admin"
      + name_prefix                    = (known after apply)
      + policy                         = (known after apply)
      + recovery_window_in_days        = 14
      + rotation_enabled               = (known after apply)
      + rotation_lambda_arn            = (known after apply)
      + tags                           = {
          + "Name" = "terraform_aws_rds_secrets_manager"
        }
      + tags_all                       = {
          + "App"  = "terraform_aws_rds_secrets_manager"
          + "Name" = "terraform_aws_rds_secrets_manager"
        }

      + replica {
          + kms_key_id         = (known after apply)
          + last_accessed_date = (known after apply)
          + region             = (known after apply)
          + status             = (known after apply)
          + status_message     = (known after apply)
        }

      + rotation_rules {
          + automatically_after_days = (known after apply)
        }
    }

  # aws_secretsmanager_secret_version.secret will be created
+ resource "aws_secretsmanager_secret_version" "secret" {
      + arn            = (known after apply)
      + id             = (known after apply)
      + secret_id      = (known after apply)
      + secret_string  = (sensitive value)
      + version_id     = (known after apply)
      + version_stages = (known after apply)
    }

  # random_password.password will be created
+ resource "random_password" "password" {
      + bcrypt_hash = (sensitive value)
      + id          = (known after apply)
      + length      = 16
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = true
      + numeric     = true
      + result      = (sensitive value)
      + special     = true
      + upper       = true
    }

Plan: 5 to add, 0 to change, 0 to destroy.

:arrow_forward: To apply this plan, comment:

atlantis apply -d .

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d .

Plan: 5 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis unlock

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: . workspace: default

Atlantis commands can't be run on closed pull requests


Unable to use FileAccess.Open

FileAccess Open methods is a static factory method but as go does not support static methods it requires to already have an instance of FileAccess.
Given the following example code
var fa gd.FileAccess
readFileFa := fa.Open(godoCtx, godoCtx.String("user://a_file.txt"), gd.FileAccessModeFlags(1))

I get the following error
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x7ff9840e1722]

goroutine 7 [running]:
grow.graphics/gd/internal/classdb.FileAccess.Open({{}, {{}, {0x0?, 0x0?}}}, {{0x7ff985e05600?, 0x1c0007582a0?}, 0x7ff98)        C:/Users/***/go/pkg/mod/grow.graphics/gd@v0.0.0-20240621210912-65385949944f/internal/classdb/all.go:56339 +0x2

As A workaround I will use golangs io package but letting the engine handle the final file path resolution would be nice.

Both your example and the below example should now work with static methods:
file := gd.FileAccessOpen(gd.FileAccess{}, godot, godot.String("user://a_file.txt"), gd.FileAccessRead)