Original Word Forms in IELex

@evoling, do you plan on also adding the original word forms for the data, or will these be ignored in your tree sample? For CLDF, it would be perfect to have them.

The original word forms are in a bit of a mess: we have decent IPA for a subset of languages, but we never had reason to commit resources to doing this completely during the time that I had resources.
m
On 6 Dec 2021, at 10:54, Johann-Mattis List<EMAIL_ADDRESS>wrote:
@evolinghttps://github.com/evoling, do you plan on also adding the original word forms for the data, or will these be ignored in your tree sample? For CLDF, it would be perfect to have them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lexibank/ielexfinal/issues/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAVKSLSXQANFQPC2VBYSBQ3UPSB5XANCNFSM5JOF5NUQ.
När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/
E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy

But the word forms would qualify as a Value and Form in CLDF, so it would be useful to have them, also for verification, whether in IPA or not.

Okay, we’ll do that (and make a new release in which we try to coerce the auto-generated Zenodo citation to be more satisfactory). M
On 6 Dec 2021, at 10:59, Johann-Mattis List<EMAIL_ADDRESS>wrote:
But the word forms would qualify as a Value and Form in CLDF, so it would be useful to have them, also for verification, whether in IPA or not.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lexibank/ielexfinal/issues/2#issuecomment-986617212, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAVKSLT3V3CUP55DS7FR4GDUPSCRJANCNFSM5JOF5NUQ.
När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/
E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy

I will look into integrating the lexemes in the CSV file when I am back from holidays. It is not as straightforward as I had expected, as there cases with multiple values in the same field, and similar stuff.
Note that the lexemes are already included in the dataset, in the extract https://github.com/evotext/ielex-data-and-tree/blob/main/build/ielex-130421-ag-cc.txt . They were not added to the CSV file because they were not necessary there, as that file was designed as a single intermediate step in the pipeline and for teaching. In specific, that single tabular file was never intended to replace what can be done with a true, full-fledged CLDF dataset.
As in the analysis we dropped some doculects and had some other small changes, the CSV does not match completely the original, "historical" data. For archive goals with completeness in mind, you might prefer using that extract as the raw source.


Generate Appropriate Air Instance

This file
(https://github.com/ZeroSync/ZeroSync/blob/main/src/stark_verifier/air/air_instance.cairo)
contains a function air_instance_new which is cairo specific. We need to generate this function for the airscript we are working on. Our function must be called instead of the one in that file. The rest of the code in the file appears generic.

We're dropping this.


Add information about this tool in the User-Agent header

AoC's creator made a request on the AoC subreddit to include that information so that they'll be able to better handle "abusive traffic".

Hi!
Thanks for signaling me this, I'll try to dive into it in the next few days, maybe tonight :+1:


Add unix timestamp to monitor.created_date

created_date was always null in DB
BTW it is better to have it as timestamp (UTC). Dates for heartbeat are stored without timezone information... (or maybe I'm wrong)

@louislam: Please also add timestamp for edit if current value is null

@louislam How do you feel about adding a database migration only so we don't have to touch the frontend?
patch5.sql
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
PRAGMA foreign_keys=off;

BEGIN TRANSACTION;

create table monitor_dg_tmp
(
    id INTEGER not null
        primary key autoincrement,
    name VARCHAR(150),
    active BOOLEAN default 1 not null,
    user_id INTEGER
        references user
                   on
update
	cascade on
	delete
		set
		null,
		interval INTEGER default 20 not null,
		url TEXT,
		type VARCHAR(20),
		weight INTEGER default 2000,
		hostname VARCHAR(255),
		port INTEGER,
		created_date DATETIME default (DATETIME('now')) not null,
		keyword VARCHAR(255),
		maxretries INTEGER NOT NULL DEFAULT 0,
		ignore_tls BOOLEAN default 0 not null,
		upside_down BOOLEAN default 0 not null
);

insert into monitor_dg_tmp(id, name, active, user_id, interval, url, type, weight, hostname, port, keyword, maxretries) select id, name, active, user_id, interval, url, type, weight, hostname, port, keyword, maxretries from monitor;

drop table monitor;

alter table monitor_dg_tmp rename to monitor;

create index user_id on monitor (user_id);

COMMIT;

PRAGMA foreign_keys=on;

@louislam How do you feel about adding a database migration only so we don't have to touch the frontend?
This will update all existing monitors with created_date of the current time.
patch5.sql
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
PRAGMA foreign_keys=off;

BEGIN TRANSACTION;

create table monitor_dg_tmp
(
    id INTEGER not null
        primary key autoincrement,
    name VARCHAR(150),
    active BOOLEAN default 1 not null,
    user_id INTEGER
        references user
                   on
update
	cascade on
	delete
		set
		null,
		interval INTEGER default 20 not null,
		url TEXT,
		type VARCHAR(20),
		weight INTEGER default 2000,
		hostname VARCHAR(255),
		port INTEGER,
		created_date DATETIME default (DATETIME('now')) not null,
		keyword VARCHAR(255),
		maxretries INTEGER NOT NULL DEFAULT 0,
		ignore_tls BOOLEAN default 0 not null,
		upside_down BOOLEAN default 0 not null
);

insert into monitor_dg_tmp(id, name, active, user_id, interval, url, type, weight, hostname, port, keyword, maxretries) select id, name, active, user_id, interval, url, type, weight, hostname, port, keyword, maxretries from monitor;

drop table monitor;

alter table monitor_dg_tmp rename to monitor;

create index user_id on monitor (user_id);

COMMIT;

PRAGMA foreign_keys=on;

Yes, I would prefer this.

Fixed in https://github.com/louislam/uptime-kuma/pull/150


List::setSize() and List::slice() now handle non-numbers more gracefully

As @batashi pointed out in #459, some list methods (slice() and setSize()) were not resilient against Infinity and non-numeric arguments. This PR introduces a specification by way of some new List tests, and an implementation to make it so.

Merged in a3b83611a32912bccb779057b35367366cc5c417


Couldn't find any of the tags

Failed to inject refresh script! Couldn't find any of the tags  [ '', '' ] from C:\Projects..\app\app.html
C:\Projects..\app\navbar\navbar.html
C:\Projects..\app\home\home.html

it should be related to this

Yup it fixed with "live-server": "~0.9.2" and logLevel: 0
var liveServer = {
    dev: {
        port: 3000,
        host: "<IP_ADDRESS>",
        open: '/',
        file: "index.html",
        wait: 1000,
        logLevel: 0
    },
    prod: {
        port: 3001,
        host: "<IP_ADDRESS>",
        root: 'build/',
        file: "index.html",
        wait: 1000,
        logLevel: 0
    }
};


Failed to find service account cattle-system/cattle "Bad Request"

Rancher Server Setup

Rancher version: v2.6.8
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): AKS

Proxy/Cert Details: internal certificate (Self-signed)

Information about the Cluster

Kubernetes version: 1.21.1
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): imported (same cluster)

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: Admin

Describe the bug
i'm actualy deploying Rancher v2.6.8 on AKS and having an issue regarding the agents that doesnt start. The logs of the kube agent show :

kubectl logs -n cattle-system cattle-cluster-agent-fbcf5dc94-8qhbg
INFO: Environment: CATTLE_ADDRESS=<IP_ADDRESS> CATTLE_CA_CHECKSUM= CATTLE_CLUSTER=true CATTLE_CLUSTER_AGENT_PORT=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_443_TCP=tcp://<IP_ADDRESS>:443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_443_TCP_PORT=443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_PORT_80_TCP=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_80_TCP_PORT=80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_SERVICE_HOST=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_SERVICE_PORT=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTP=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTPS_INTERNAL=443 CATTLE_CLUSTER_REGISTRY= CATTLE_INGRESS_IP_DOMAIN=**ThePublicIpOfIngress" CATTLE_INSTALL_UUID=64bdf62e-f5a4-424c-bd63-8c2a6472b995 CATTLE_INTERNAL_ADDRESS= CATTLE_IS_RKE=false CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-fbcf5dc94-8qhbg CATTLE_SERVER=<IP_ADDRESS> CATTLE_SERVER_VERSION=v2.6.8
INFO: Using resolv.conf: search reddog.microsoft.com nameserver <IP_ADDRESS> nameserver <IP_ADDRESS>
INFO: <IP_ADDRESS>/ping is accessible
time="2022-09-26T14:45:24Z" level=info msg="Listening on /tmp/log.sock"
time="2022-09-26T14:45:24Z" level=info msg="Rancher agent version v2.6.8 is starting"
time="2022-09-26T14:45:24Z" level=fatal msg="looking up cattle-system/cattle ca/token: failed to find service account cattle-system/cattle: Get "https://<IP_ADDRESS>:443/api/v1/namespaces/cattle-system/serviceaccounts/cattle\": Bad Request"

To Reproduce
It's normal installation with a certificates (using tls.crt and tls.key)
+modify the yaml template with the external ip of the rancher to work
+i modified the DNS :

kubectl edit deployment cattle-cluster-agent -n cattle-system

dnsPolicy: ClusterFirst ==> dnsPolicy: Default

+Add proxy variables to yaml conf
Expected Result
The agent running and the rancher can access the aks imported cluster.
Screenshots

Hello, I have the same issue. Please help!


hot-restart killed the envoy container

I used docker-compose to start a docker container of Envoy.
Here is my docker-compose.yml:
version: "3.5"

x-volumes-common: &volumes_common
  - "./envoy.yaml:/etc/envoy/envoy.yaml:ro"

x-meta-info: &meta_info
    image: envoyproxy/envoy:v1.22-latest
    container_name: envoy_gw
    restart: "no"
    volumes: *volumes_common

services:
  envoy:
    <<: *meta_info
    ports:
      - "5004:5004" # admin interface
      - "1443:1443"

I can execute docker-compose up -d to start it, it works as expected.
Now I'm trying to hot-restart the Envoy process inside of the docker container. So I executed the command: docker exec -it envoy_gw envoy -c /etc/envoy/envoy.yaml --parent-shutdown-time-s 8 --restart-epoch 1.
However, this command killed/stopped the container. I don't know why... I'm not a docker expert so I don't know if this is some docker feature/issue.
Besides, I don't think docker-compose restart is what I need because as my understanding, restarting the container can't benefit from the mechanism of "Envoy can fully reload itself (both code and configuration) without dropping existing connections during the drain process" (https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/hot_restart).
Am I right about docker-compose restart? If I'm right, what is the proper method to hot-restart a envoy process inside a docker container?

cc: @phlax in case you happen to know the answer here?

I don't think docker-compose restart is what I need because as my understanding, restarting the container can't benefit from the mechanism...

agreed - this will kill the process - you need to send it a signal
its a while since i played with hot restart so dont rem exactly how it works - im think this would definitely benefit from a sandbox tho - cc @nguyenptk

its a while since i played with hot restart so dont rem exactly how it works - im think this would definitely benefit from a sandbox tho - cc @nguyenptk
yeah - I think this feature hot-restart is very useful when want to reload our configurations (add new routes, modify clusters, etc.) with zero/less downtime.


how can i rename the upload file?

Actually its your option how you save and rename the file. Response have res.body.files object like
{
"size": 748831,
"path": "/tmp/f7777b4269bf6e64518f96248537c0ab.png",
"name": "some-image.png",
"type": "image/png",
"mtime": "2014-06-17T11:08:52.816Z"
}

from here you have path and should use it to move/copy and rename the file where you want.
It isnt something koa-body (koa at all) and node specific, its always save the files to tmp. PHP also does this thing.

Short answer, you have to rename the file yourself. (thanks @tunnckoCore ) you wrote a response while I was typing! :+1:
First instantiate the middleware with multipart: true
var body = require('koa-body')
app.use(body({patchNode:true, patchKoa:true, multipart: true}));

In your route handler, let's say you POST a file named image.
You will get a this.request.body object with a files key.
var route = function *(){
  var file = this.request.body.files.image;

  yield thunkify(fs.rename)(file.path, path.join(__dirname, './public/uploads/', file.name));

  this.status = 200;
  this.body = '/uploads/' + filename;
};

See node-formidable Formidable.file

haha, yea :)
Good clarification!

But its not needed to patch both koa and node :)


[TW#18497] How to set or get class of device of bluetooth classic

Hi,
How to set or get class of device of bluetooth classic for my device as I only find functions to process class of device to get major/minor device
Regards

@blueMoodBHD Please help solve this problem.

@my-abousamra
Call function  esp_bt_gap_cancel_discovery();
Then esp_bt_gap_cb_t will is called with ESP_BT_GAP_DISC_RES_EVT, in param->disc_res.prop[],if there is one that param->disc_res.prop[i].type == ESP_BT_GAP_DEV_PROP_COD, then param->disc_res.prop[i].val is the class of device.

@blueMoodBHD

Is this the way to get the current running device COD, not a remote one? I thought it is a usual function to get it.
How to set it to my device?

@my-abousamra We do not have the APIs to set and read cod at this moment, we will provide those APIs as soon as possible, Thanks

@my-abousamra Now, there is no API to set and get  the current running device COD, and we will add the APIs ASAP.

@blueMoodBHD any updates, please?

@my-abousamra We will try to finish this in v3.1, thanks.

@blueMoodBHD when will it be released, please?

Works fine, Thanks!


ValidationError str is far too verbose on large objects

I have some objects that are not particularly complex, but have a large number of elements (a few nested arrays with up to 150 elements at some levels).
If I hit a ValidationError (e.g. during testing), then the error is massive - more lines than my terminal retains. I've never seen such a large error in python, and it makes testing difficult, because I can't see the backtrace.
A few possibilities for solutions:

Just remove all of the extra information in the str return. Personally I'd think this was fine - the user can always get the values from error.schema and error.instance, or
Truncate the objects - ideally by sub-selecting the elements that are causing the error.

Also hard-truncate the string representations of the objects (maybe 100 chars?), and add an ellipsis at the end. This is often still useful information, because if a JSON object has any kind of ID, it will usually be at the top.

Happy to submit a PR for either of these, after your feedback on the ideas.

Hi there. This is essentially a dupe of #243, at least https://github.com/Julian/jsonschema/issues/243#issuecomment-125668925
Certainly happy to review a PR that uses reprlib.repr.

(Error messages already should subselect the relevant portion of an object)

Yep, fair enough. Let's close this, and I'll have a proper read over there and see if I can figure out a solution.

Yeah, they do sub-select, I was just looking at a top-level error.

For posterity, if anyone wants a short workaround, just catch the error, remove instance, and re-raise:
    try:
        validate(instance=jsonfile, schema=schema, resolver=resolver)
    except jsonschema.exceptions.ValidationError as e:
        e.instance = "<Omitted>"
        raise

Thanks Julian for writing and maintaining this library!


Change default branch to main

Hi there. I did try to do this via a PR but it would just merge into master making the work redundant so:
You can rename the branch in GitHub
https://github.com/jaedle/mirror-to-gitea/branches
click on the edit pencil and change from master to main
then once it has renamed you will need to update your local branches and remotes. everyone who has a clone will need to do this
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

Because the branch has been renamed, this will automatically make it the default branch, at least definitely if there are no other branches. Hope this helps and is what you meant :smile:

Hi @CrimsonTome,
thanks for your support. This issue was primarily a reminder. The real change took 10 seconds.
Thank you 🙏


Add Blog about Personal Payment Solution based on Wechaty

Fixes #134  .https://github.com/Chatie/blog/issues/134
Make sure these boxes are checked before creating your pull request -- thank you!

[x] Add Blog Header, including title, author, date.
e.g.

---
 layout: post
 title: "'Score Your Face Photo' a ML&Wechaty practice"
 date: 2017-09-18 09:00 +0800
 author: huyingxi
 ---

 > Author: [@huyingxi](https://github.com/huyingxi/wechaty_selfie) enjoying ML&Wechaty at BUPT

[ ] Keep all filenames & url as lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor instead of 2017-10-06-WeChat PC Impactor,
[ ] Embed the photo & video before publishing, save all external file to the blog /download/2018 directory.
[ ] Add <!--more--> section to just show the abstract in blog homepage.

See more

All the pictures should be saved to local instead of reference from outside, because it still cause the 404 errors in the future.

Thanks for pointing out. Fixed in https://github.com/Chatie/blog/pull/136


normalize config, cleanup ensure_resource

This PR has a lot of changes in it, almost all of them are minor spacing things to try to normalize the spacing between all resources.
The one larger change is to remove the ensure_resource on /etc/openvpn/${name} introduced with the shared_ca merge.  That seemed to be a large hack for a complicated dependency, but looks like it would be something to easily break later.  Needing to define a resource multiple times is usually an indication that something needs to be reworked.
I'm happy to break out any of these into different PRs (or undo any of the changes in this) if desired.

Thanks! Such a cleanup is always something I'd love to merge!
When looking over it, I saw some stuff I am not yet sure to merge as they might brake some things. For an easier QA, could you break out the spacing changes?

Let me make some time for this, I figured that was going to be the request when I got done with this :)

#135 and #136 breaks this out into 2 PRs


Encountered a problem, I tried to get rid of the age 0 data, but the model is wrong when the typerror is reported, I suspect it is caused by the removal of a category of data, but why is this? It should not know in advance that my data has Which categories are right?

Environment info
Operating System: win10
CPU/GPU model: CPU
C++/Python/R version: Python3.7
LightGBM version or commit hash: 2.2.1
Error message

F:\ProgramData\Anaconda3\python.exe F:/pycharmProject/DataFountain_ChinaMobile_Newland/code/describe.py
Pre-processing.....................
Feature Engineering.....................
F:/pycharmProject/DataFountain_ChinaMobile_Newland/code/describe.py:47: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
train_data['top_up_amount'] != 0] = 1
Training.....................
F:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection_split.py:652: Warning: The least populated class in y has only 1 members, which is too few. The minimum number of members in any class cannot be less than n_splits=5.
% (min_groups, self.n_splits)), Warning)
fold:  0  training
F:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py:942: FutureWarning:
Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.
See the documentation here:
https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike
return self.loc[key]
F:\ProgramData\Anaconda3\lib\site-packages\lightgbm\engine.py:118: UserWarning: Found early_stopping_rounds in params. Will use it instead of argument
warnings.warn("Found {} in params. Will use it instead of argument".format(alias))
[LightGBM] [Warning] feature_fraction is set=0.8, colsample_bytree=1.0 will be ignored. Current value: feature_fraction=0.8
Training until validation scores don't improve for 50 rounds.
Traceback (most recent call last):
File "F:/pycharmProject/DataFountain_ChinaMobile_Newland/code/describe.py", line 139, in
bst.fit(X_train, label_train, eval_set=[(X_validate, label_validate)], eval_metric='mae',verbose=-1)
File "F:\ProgramData\Anaconda3\lib\site-packages\lightgbm\sklearn.py", line 642, in fit
callbacks=callbacks)
File "F:\ProgramData\Anaconda3\lib\site-packages\lightgbm\sklearn.py", line 502, in fit
callbacks=callbacks)
File "F:\ProgramData\Anaconda3\lib\site-packages\lightgbm\engine.py", line 228, in train
evaluation_result_list=evaluation_result_list))
File "F:\ProgramData\Anaconda3\lib\site-packages\lightgbm\callback.py", line 214, in callback
best_iter[i] + 1, '\t'.join([_format_eval_result(x) for x in best_score_list[i]])))
TypeError: 'NoneType' object is not iterable
Reproducible examples
train_data = train_data[train_data.age!=0] #(50000,30)-->(49710,30) If I comment this line,model could work
X_train = train_data.iloc[:,:30].values
y_train = train_data.iloc[:,-1].values
bst.fit(X_train, label_train, eval_set=[(X_validate, label_validate)], eval_metric='mae',verbose=-1)

Steps to reproduce

I think this problem is fixed in this commit: https://github.com/Microsoft/LightGBM/commit/5530f2862e2a549f4ace93024a9f4898270bee72
please try the latest master branch.


[Feature Request] Spooky rating

This command would genrate a random spooky rating from a range of 1-100 [or any other range].It would play display a hallooween character picture according to the rating given [like witch,dracula,etc etc]
Implementation details

To build a function which would generate a random number in the range 1-100 [or any other range] which would resemble the spooky rating of the user.
The rating is then put up in a embed and displayed out.It will also grab a picture from the internet of a random hallooween character and post it.
[ 2nd part of the code is optional ⬆

[ ] Random numebr generation
[ ] To look for free pics online for the 2nd code [optional]

I think giving a cool down time for this would be good ! so the user is locked to one rating for certain amount of time.

And also i could make a nice embed which would contain all the users with their rating in the descending order....

that sounds good. Have at it.

Thanks Mate !

Closing until next October.

I'll take a shot at this too


ng xi18n takes 3 times longer than it should to compile

OS?
Windows 10
Versions.
@angular/cli: 1.0.0-rc.0
node: 6.9.5
os: win32 x64
@angular/animations: 4.0.0-rc.1
@angular/common: 4.0.0-rc.1
@angular/compiler: 4.0.0-rc.1
@angular/compiler-cli: 4.0.0-rc.1
@angular/core: 4.0.0-rc.1
@angular/forms: 4.0.0-rc.1
@angular/http: 4.0.0-rc.1
@angular/material: 2.0.0-beta.2
@angular/platform-browser: 4.0.0-rc.1
@angular/platform-browser-dynamic: 4.0.0-rc.1
@angular/platform-server: 4.0.0-rc.1
@angular/router: 4.0.0-rc.1
@angular/cli: 1.0.0-rc.0
Repro steps.
Use the following commands to checkout the repo:
git clone https://github.com/ocombe/ames.git
cd ames
git checkout  ng-xi18n-bug
npm install

Then use the following 2 commands to compare the current ng cli i18n generation and the manual ng-xi18n generation:
npm run i18n:ng
npm run i18n:bin

Both of these commands do the same thing, but the first one uses ng xi18n when the second one directly use the ng-xi18n binary.
As you can see, the ng cli implementation takes ~3 times longer (30s instead of 10s) because it does a full compilation of the project with ngc. This is no longer necessary for ng-xi18n to work (this was fixed here: https://github.com/angular/angular/pull/14115)

We need a full compilation in our case because we run the resources (templates and styles) through web pack to build them. For example, you can use styleUrls: [ "some-file.sass" ] and the SASS will be compiled to CSS before being passed to xi18n.
We might be able to make performance improvements in the future, but certainly not in the short term.

CSS files are not really needed for the i18n extractor, but it makes sense for templates files yes


add "next steps" piece to prescreen results

Right now the prescreener dead ends with yes/no information. It would be good to link to service profiles and add more information as to "why" and "how" the results are this way.

Closing this because we do link to service profiles now, and the service profile page issue has notes about adding info on how to apply.


Add checkstyle for "Local variable names shouldn't start with capital"

Resolves #7609

@lml2468 thanks for contribution!


Issue with k8s.io/docs/tasks/administer-cluster/dns-debugging-resolution/

Fixes #14814
fix core dns labels

/remove lgtm
I didn't check properly, sorry.

/lgtm cancel

Try this again
/lgtm

@sftim, Can you vouch for the technical accuracy of this change? If so, I'll approve.

I'll see if I can check this one out on an actual cluster.

Sorry about the wait on this one. I do still plan to check this out.

@sftim Ping

Thanks for the reminder. Oops.

Thanks for the reminder. Oops.

@mhamdisemah sorry about the wait and my confusion
/lgtm

/sig network

/approve


[TODO] Discuss how variables affect hub, walk through a use-case

This was needed for application facts, I shared a preliminary approach using facts rules and we are not continuing with that. I am closing this.


[CONTENT] Solve this problem and write out a solution for it. (or make a video)

Description
One of the approved questions we have was recently asked by Google, and it is this:

You need to check whether the string is well nested or not based on two conditions:

If they are, return the string as-is.
If they are not, repair the string so that the parentheses are well nested and return the result.

You can perform three actions to validate the string. Three actions are: Delete, Add, Update.
You must convert it a well-nested string with the minimum number of actions.
Test Examples:
Input: (()
Output: (()), or () or ()()
Input: (())))
Output: ((()))

It'll be good to have a solution for this so we can display it on the website, and so we can make a video out of it.

can you assign this to me?

The solution should be language-specific like python or is it ok with any language?

it's ok with any language!
if we have solutions in multiple languages, it'd be even cooler I think

@ykdojo sir , I fixed the issue

@Akshay1018 by the way, the question is much harder when there's the "update" option instead of just delete and add. Any thoughts about it? Should it be phrased in a two-stage way?

@ykdojo Right, this question is hard because we need to return the minimum operations based on two conditions. Let's talk about the conceptual overview. I will take an example and try to return minimum operations.
example-1
input - ((()
intuition-1 we can add two parentheses at last and our total operation to make it valid will be 2 right?
( ( ( ) ) )
^^
intuition-2 Please observe we can replace the second index with closed parentheses and our total operation to make it valid will be only 1.
before update operation -
( ( ( )
After the update operation -  we are replacing index 1
( ) ( )
If we take a minimum of both the 2nd intuition will be returned {Math.min(2,1)}
We can approach this using Dynamic programming and we need to take care of edge cases, like when to use the operation to return the minimum.
Please add some more thoughts and changes in the conceptual overview then we will come up with the DP solution + complexity tradeoffs.

@ykdojo any thoughts on this?

@Akshay1018 I'll get back to you! I didn't have a chance to respond here yet

@ykdojo cool! Take your time. Thanks.

try to return minimum operations

Are you saying we need to return an integer from this function? Because if that's the case, the problem would be much easier, and honestly more realistic as an interview question.

we need to take care of edge cases, like when to use the operation to return the minimum.

"when to use the operation to return the minimum"
^Can you clarify what you mean by that exactly?
Other than that:

Please add some more thoughts and changes in the conceptual overview then we will come up with the DP solution + complexity tradeoffs.

This sounds good!

@ykdojo When we get the minimum number of operations to solve this problem then we can easily create the valid parenthesis using backtracking.
From the above example, we know that using only one operation n =1 we can solve the problem. The valid parenthesis we can make is 2n 2 x 1, with two open and two closed parentheses. There are no restrictions on the order, we can return the parenthesis in any order.
minimum operations (n) = 1
valid parenthesis = 2n = 2 x 1 = 2
output = (()) or ()()
is this sounds good?

I can say this is two step process/solution:

Count the operations we need to add to make it valid.

Using that count, create the valid parenthesis and return the result.

Sounds good.
I think we can split it into two problems then, if it's with you.
The first problem will ask you to output the min # operations.
The second one, with the same setup, will ask you to output a list (or a set) of end-state valid parenthesis strings.

Exactly, we can say the second one is follow up output a list (or a set) of end-state valid parenthesis strings.

@ykdojo Sure, I'll write and update ASAP.

@Akshay1018 cool, thank you so much!

Brute Force Solution:
Step-1 counts a minimum number of operations to make parenthesis valid.
`class Solution {
public int minimumOperations(String str){
if(str.length() ==0){
return 0;
}
int addOperations = 0;
int deleteOperations = 0;
int replaceOperations = 0;
//check if string is well nested then return as-is
if(isValidString(str)){
return str;
}else{
addOperations += addOperationCount(str);
deleteOperations += deleteOperationsCount(str);
replaceOperations += replaceOperationsCount(str);
}
return Math.min(addOperations, Math.min(deleteOperations, replaceOperations));
}
// count add operations
public int addOperationCount(String str){
    Stack<Character> st = new Stack<>();
    int count =0;

    for(char ch : str.toCharArray()){
        if(ch == '('){
            st.push(ch);
        }else if(ch == ')' && !st.isEmpty()){
            st.pop();
            count+= 2;
        }
    }
    return str.length() - count;
}

// count delete operations
public int deleteOperationsCount(String str){
    int total =0;
    int temp =0;

    for(char ch: str.toCharArray()){
        if(ch == '('){
            total += 1;
        }else if(ch == ')' && total != 0){
            total -= 1;
        }else{
            temp += 1;
        }
    }
    return total + temp;
}
// count replace operations
public int replaceOperationsCount(String str){
    int openParenthesisCount =0;
    int closeParenthesisCount =0;
    int openReplaceCount =0;
    int closeReplaceCount =0;

    for(char ch: str.toCharArray()){
        if(ch == '('){
            openParenthesisCount+= 1;
        }
        if(ch == ')'){
           closeParenthesisCount+= 1;
        }
    }
    if(openParenthesisCount % 2 ==0){
        openReplaceCount += Math.abs(openParenthesisCount / 2);
    }else{
        openReplaceCount += Math.abs(openParenthesisCount / 2 + 1);
    }
    if(closeParenthesisCount % 2 == 0){
        closeReplaceCount += Math.abs(closeParenthesisCount / 2);
    }else{
        closeReplaceCount += Math.abs(closeParenthesisCount / 2 + 1);
    }

    return openReplaceCount+closeReplaceCount;
}

}`

Step -2 Generate Valid parenthesis with minimum count and return the result
class Solution {
public List generateValidParenthesis(int num){
List res = new ArrayList<>();
backtrack(res, num, 0, 0, "");
return res;
}
public void backtrack(List res, int max, int close, int open, String curr){
if(res.size() == num*2){
res.add(curr);
return;
}
if(open < max){
backtrack(res, max, open+1, close, curr+"(");
}
if(close < open){
backtrack(res, max, open, close+1, curr+")");
}
}
}

@ykdojo Please check this solution. This is a brute force approach, we can optimize this solution, and let me know your thoughts on it. Thanks.

@Akshay1018 thank you! I'll check it soon

@ykdojo sure, please check on this and we will come up with an optimized solution.

here is my solution
the solution , will use 2 stack and 2 counters
for each closing case and open case
and will flip each close case if no open case for it and add it to open cases stack
https://gist.github.com/mamonraab/9d2d537bfc4537fb86219d8a3c70e7be


Problem running the script

I'll go straight to the point. I've never used python before. When I'm trying to execute the python file, it says to me that get_link.py has an invalid syntax. I don't really know what's happenig. By the way, should I run it with python2 or 3?
If you're asking yourselve if I've installed all the dependencies. Yes, or that's what I think.
I'm sorry if I'm asking a stupid or very trivial question but I am completely new to Python.

This is python3 only and the error you're getting is caused by an error in the robobrowser package and apparantly I made it work on my pc. I will update the repo but this will programm will only work if your moodle site uses the standard design

This is python3 only and the error you're getting is caused by an error in the robobrowser package and apparantly I made it work on my pc. I will update the repo but this will programm will only work if your moodle site uses the standard design

I belive it uses the standard design. By the way, I've solved it by adding this before the robobrowser import
import werkzeug
werkzeug.cached_property = werkzeug.utils.cached_property

I belive it uses the standard design. By the way, I've solved it by adding this before the robobrowser import
import werkzeug
werkzeug.cached_property = werkzeug.utils.cached_property


Failure to install

I'm attempting to set the bee code interpreter on a mac. I have rancher desktop installed, and ran the run.sh script. It fails while building.
When trying to git clone --recurse-submodules the repo, the submodules fail to clone. This appears to be the same with the download zip and tagged releases.

bash ./scripts/run.sh
[+] Building 3.1s (13/15)                                  docker:desktop-linux
=> [internal] load build definition from Dockerfile                       0.0s
=> => transferring dockerfile: 843B                                       0.0s
=> [internal] load metadata for docker.io/library/python:3.12-slim        0.3s
=> [internal] load metadata for docker.io/library/python:3.12             0.4s
=> [internal] load .dockerignore                                          0.0s
=> => transferring context: 165B                                          0.0s
=> [builder 1/6] FROM docker.io/library/python:3.12@sha256:b52e97a85736b  0.0s
=> [runtime 1/4] FROM docker.io/library/python:3.12-slim@sha256:032c5261  0.0s
=> CACHED [runtime 2/4] RUN apt-get update &&    apt-get install --no-in  0.0s
=> [internal] load build context                                          0.0s
=> => transferring context: 1.94kB                                        0.0s
=> CACHED [builder 2/6] RUN apt-get update &&    apt-get install --no-in  0.0s
=> CACHED [builder 3/6] RUN pipx install poetry &&    pipx inject poetry  0.0s
=> CACHED [builder 4/6] WORKDIR /src                                      0.0s
=> CACHED [builder 5/6] COPY . .                                          0.0s
=> ERROR [builder 6/6] RUN poetry bundle venv --python=/usr/local/bin/py  2.7s

[builder 6/6] RUN poetry bundle venv --python=/usr/local/bin/python --only=main /venv:
0.164
0.216   • Bundling bee-code-interpreter (0.0.25) into /venv
0.216   • Bundling bee-code-interpreter (0.0.25) into /venv: Creating a virtual environment using Python /usr/local/bin/python
0.376   • Bundling bee-code-interpreter (0.0.25) into /venv: Installing dependencies
2.546   • Bundling bee-code-interpreter (0.0.25) into /venv: Installing bee-code-interpreter (0.0.25)
2.548
2.548 /src/submodules/bee-proto/gen/python/proto does not contain any element

Dockerfile:11
9 |     WORKDIR /src
10 |     COPY . .
11 | >>> RUN poetry bundle venv --python=/usr/local/bin/python --only=main /venv
12 |
13 |     FROM docker.io/python:${PYTHON_VERSION}-slim AS runtime
ERROR: failed to solve: process "/bin/sh -c poetry bundle venv --python=/usr/local/bin/python --only=main /venv" did not complete successfully: exit code: 1

It seems that you incorrectly cloned the repository. This has worked for me.
git clone --recurse-submodules git@github.com:i-am-bee/bee-code-interpreter.git
bash ./scripts/run.sh

When I did the clone I got this error. I assume that the missing file is because the permission denied issue comes up.

git clone --recurse-submodules https://github.com/i-am-bee/bee-code-interpreter.git
Cloning into 'bee-code-interpreter'...
remote: Enumerating objects: 619, done.
remote: Counting objects: 100% (246/246), done.
remote: Compressing objects: 100% (142/142), done.
remote: Total 619 (delta 148), reused 170 (delta 91), pack-reused 373 (from 1)
Receiving objects: 100% (619/619), 205.67 KiB | 2.67 MiB/s, done.
Resolving deltas: 100% (337/337), done.
Submodule 'submodules/bee-proto' (git@github.com:i-am-bee/bee-proto) registered for path 'submodules/bee-proto'
Cloning into '/Users/michaeldepies/bee-code-interpreter/submodules/bee-proto'...
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:i-am-bee/bee-proto' into submodule path '/Users/michaeldepies/bee-code-interpreter/submodules/bee-proto' failed
Failed to clone 'submodules/bee-proto'. Retry scheduled
Cloning into '/Users/michaeldepies/bee-code-interpreter/submodules/bee-proto'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:i-am-bee/bee-proto' into submodule path '/Users/michaeldepies/bee-code-interpreter/submodules/bee-proto' failed
Failed to clone 'submodules/bee-proto' a second time, aborting

@MikeDepies, you don't seem to have access to GitHub via SSH Key, but it is needed based on the error message If you look at .git/submodulesyou can see that thesubmodule` must be downloaded via SSH instead HTTP.
So first, set up the credentials and then clone them again.

This will not be needed once we finish https://github.com/i-am-bee/bee-code-interpreter/issues/8

okay, I was able to get past that, but have now run into this timeout when creating the pods - any thoughts?

serviceaccount "code-interpreter-sa" deleted
role.rbac.authorization.k8s.io "pod-manager-role" deleted
rolebinding.rbac.authorization.k8s.io "pod-manager-binding" deleted
pod "code-interpreter-service" deleted
serviceaccount/code-interpreter-sa created
role.rbac.authorization.k8s.io/pod-manager-role created
rolebinding.rbac.authorization.k8s.io/pod-manager-binding created
pod/code-interpreter-service created
error: timed out waiting for the condition on pods/code-interpreter-service


Feature Gate

Story - Why do we need the Feature Gate

Half-baked features might propagate to staging or prod environments.
Even if the feature development is completed, we might want to keep it disabled for time due to various reasons such as pricing.
We need to enable/disable some features based on the tenant.

Requirements

Ability to turn on/off features on each environment separately.

Via config file
Via REST API

Identified features that will be controlled by Feature Gate.

https://docs.google.com/spreadsheets/d/14q4qD_O14Lvd78WZeyKy48tkHz0shzMwVWaOxdWwos8/edit#gid=0

Implementation

BE

API level

UI

Levels of block in UI

Hide from UI
Disable from UI (Greyed icons)
Need to show an indication for the feature status.

Experimental
New feature
Beta feature

Duplicate


New Beta of Vue 3 Error with VuetifyJS

Version
4.3.1
Reproduction link
https://github.com/sinner/vue3-new-features/tree/error/vue-3-plugin
Environment info
- MacOS
- Node v13.7.0
- @vue/cli: 4.3.1
- vuetify: 2.2.28
- vuetify-loader: 1.4.3

Steps to reproduce
Add the vue-next plugin in an existing Vue CLI project already using VuetifyJS and execute npm run serve
What is expected?
After adding the vue-next plugin executing npm run serve it should serve the application with the Vue 3 new features without errors
What is actually happening?
After executing npm run serve it throws an error

I've reviewed previously this ticket https://github.com/vuetifyjs/vuetify-loader/pull/97 and I've seen in the vuetify-loader the lines with the fixes even with some improvements, but the error is still there:
This is the error details:
> npm run serve
><EMAIL_ADDRESS>serve /Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp
> vue-cli-service serve

 INFO  Starting development server...
 ERROR  Error: [VuetifyLoaderPlugin Error] No matching rule for vue-loader found.
Make sure there is at least one root-level rule that uses vue-loader.
Error: [VuetifyLoaderPlugin Error] No matching rule for vue-loader found.
Make sure there is at least one root-level rule that uses vue-loader.
    at VuetifyLoaderPlugin.apply (/Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp/node_modules/vuetify-loader/lib/plugin.js:29:13)
    at webpack (/Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp/node_modules/webpack/lib/webpack.js:51:13)
    at serve (/Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp/node_modules/@vue/cli-service/lib/commands/serve.js:162:22)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/jsinner/.npm/_logs/2020-05-14T15_12_21_989Z-debug.log

<!-- generated by vue-issues. DO NOT REMOVE -->

If you need more information about the log file content, here you are:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/Users/jsinner/.nvm/versions/node/v13.7.0/bin/node',
1 verbose cli   '/Users/jsinner/.nvm/versions/node/v13.7.0/bin/npm',
1 verbose cli   'run',
1 verbose cli   'serve'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'preserve', 'serve', 'postserve' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /Users/jsinner/.nvm/versions/node/v13.7.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp/node_modules/.bin:/usr/local/opt/zip/bin:/usr/local/opt/python@3.8/bin:/Users/jsinner/.nvm/versions/node/v13.7.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/usr/local/opt/zip/bin:/usr/local/opt/python@3.8/bin:/Users/jsinner/.nvm/versions/node/v13.7.0/bin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'vue-cli-service serve' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec serve script
13 verbose stack Error<EMAIL_ADDRESS>serve: `vue-cli-service serve`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/Users/jsinner/.nvm/versions/node/v13.7.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:321:20)
13 verbose stack     at ChildProcess.<anonymous> (/Users/jsinner/.nvm/versions/node/v13.7.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:321:20)
13 verbose stack     at maybeClose (internal/child_process.js:1026:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/jsinner/workspace/study/vuejs-tests/vue3-features-backp
16 verbose Darwin 18.7.0
17 verbose argv "/Users/jsinner/.nvm/versions/node/v13.7.0/bin/node" "/Users/jsinner/.nvm/versions/node/v13.7.0/bin/npm" "run" "serve"
18 verbose node v13.7.0
19 verbose npm  v6.14.2
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>serve: `vue-cli-service serve`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>serve script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]


TestInParallel feature not working as expected

Although the features are getting executed in parallel, but the assess written within those features are getting mixed up with other features in parallel execution.
e2e-framework version used: v0.0.6
Ex:
Feature1 -> assess1
Feature2 -> asses2
When we try to run them parallel, it executes the following
feature1 -> assess2
feature2 -> assess2
Sample code:
//go:build all || dummy
package install_tests
import (
"context"
"fmt"
"os"
"testing"
"sigs.k8s.io/e2e-framework/pkg/env"
"sigs.k8s.io/e2e-framework/pkg/envconf"
"sigs.k8s.io/e2e-framework/pkg/features"
"time"

)
var (
clusterName string
namespace   string
testEnv     env.Environment
)
func TestMain(m *testing.M) {
cfg, _ := envconf.NewFromFlags()
testEnv = env.NewWithConfig(cfg)

os.Exit(testEnv.Run(m))

}
func TestParallelRuns(t *testing.T) {
featureOne := features.New("Feature One").
Assess("Assess 1", func(ctx context.Context, t *testing.T, config *envconf.Config) context.Context {
println(fmt.Sprintf("feature1-Assess1, datetime: %s", time.Now().String()))
time.Sleep(10 * time.Second)
return ctx
    }).Feature()

featureTwo := features.New("Feature Two").
    Assess("Assess 2", func(ctx context.Context, t *testing.T, config *envconf.Config) context.Context {
        time.Sleep(2 * time.Second)
        println(fmt.Sprintf("feature2-Assess2, datetime: %s", time.Now().String()))
        return ctx
    }).Feature()

testEnv.TestInParallel(t, featureOne, featureTwo)

}
Execution cmd: go test . -v -timeout 240m -count=1 -tags=dummy -args --parallel
Execution output:
=== RUN   TestParallelRuns
=== RUN   TestParallelRuns/Feature_Two
=== RUN   TestParallelRuns/Feature_Two/Assess_2
=== RUN   TestParallelRuns/Feature_One
=== RUN   TestParallelRuns/Feature_One/Assess_2
feature2-Assess2, datetime: 2022-03-16 18:06:37.489844 +0530 IST m=+2.009548369
feature2-Assess2, datetime: 2022-03-16 18:06:37.48979 +0530 IST m=+2.009494100
--- PASS: TestParallelRuns (2.00s)
--- PASS: TestParallelRuns/Feature_Two (2.00s)
--- PASS: TestParallelRuns/Feature_Two/Assess_2 (2.00s)
--- PASS: TestParallelRuns/Feature_One (2.00s)
--- PASS: TestParallelRuns/Feature_One/Assess_2 (2.00s)
PASS
ok      gitlab.eng.vmware.com/tap/tap-packages/suite/dummy      2.479s
NOTE: Notice that the Assess_2 is not part of Feature_One but is executed under it.

Thanks for filing the issue @dapdelivery. We will look into it.
/cc @harshanarayana

for i, feature := range testFeatures {
		featName := feature.Name()
		if featName == "" {
			featName = fmt.Sprintf("Feature-%d", i+1)
		}
		if runInParallel {
			wg.Add(1)
			go func(w *sync.WaitGroup) {
				defer w.Done()
				e.processTestFeature(t, featName, feature)
			}(&wg)
		} else {
			e.processTestFeature(t, featName, feature)
		}
	}

Goofup on my part here. Need a
feature := feature in the loop


jsdoc: Add jsdoc for loadData API

What kind of change does this PR introduce?
Docs
Issue related to this PR
173

issue link:
https://github.com/hatemhosny/racing-bars/issues/173

Hello @hatemhosny,
I’ve added JSDoc comments for loadData. Could you please review them and let me know if you have any suggestions or changes? I’d like to keep these in mind as I document the rest of the API.
I think this will help me get a better grasp of the code! 😄

That's beautiful, @AhmedElbohoty
please go on 👍

you probably want to start with these:
https://github.com/hatemhosny/racing-bars/blob/develop/src/index.ts

Also, please remove this, so that comments will end up in the exported types.

Hello @hatemhosny,
Sorry for the delay 🙏. I was really busy last month, but I’ll resume documenting the code
.

No worries, @AhmedElbohoty
Thank you.

@AhmedElbohoty
Can we please keep this PR for JS Docs only and not add refactors that we have not agreed upon?
P.S. I frequently use early return pattern and I do not currently plan to change it.


Support Instance Metadata v2

AWS just announced there's a new, session-based Metadata Service API.
Implementation details in the EC2 User Guide.

Looks like we should be careful implementing this. Even AWS are getting this wrong. https://github.com/aws/aws-cli/issues/4682


Share directory between distros

Describe the solution you'd like
In WSL2, I'd like to be able to share a directory between distros. I can see it is possible, as Docker for Windows is doing it by creating devices (/dev/sdd, /dev/sdc on my system, using ext4) and mounting them on /mnt.
I see 2 options:

A data drive, that does not belong to any distro and is shared by the ones I want.
A directory could belong to a distro, and be shared with others.

You could also try to change something on the namespaces and maybe use symbolic links between distros, that would be good enough, and wouldn't need mounting. I'm not sure how feasible that would be. I don't really care about the implementation.
Describe alternatives you've considered
I can't see a clear alternative.
Additional context
My use case it that I'd like to share /home/user. It would save space and help a lot.

I currently already share a directory available on the Windows platform, as my home directory for the different distros I have.

Somewhere in my Windows 10 infrastructure, I have a ...WSL_HOME/<user> directory.
Note that this directory is going to be on one of my drives (e.g. C:), and therefore show up in WSL (e.g. /mnt/c)
In my WSL distros, I bind that directory to a directory in my WSL infrastructure (in the /etc/fstab file):

#   /etc/fstab
...
C: /mnt/c drvfs rw,noatime,metadata,uid=1000,gid=1000,umask=022,fmask=011
/mnt/c/.../WSL_Home /<user> /home/<user> drvfs bind

This requires that the /home/<user> directory is empty..., so you need to move all the files and directories from your original WSL created home directory, to the mounted location in Windows first...
You could also bind this directory to any other directory (e.g. /mnt/h), and then change your /etc/passwd file to make that directory your home directory...

The second option is actually implemented. You can create a directory in /mnt/wsl/, mount whatever you want on it and it will appear on every distro installed.
For example, just adding this to my Ubuntu ~/.profile it automatically mounts on launch an external Alpine /home folder that appears in every distro under /mnt/wsl/Alpine.
# mount external /home folder from Alpine distro
if [ ! -d /mnt/wsl/Alpine ]; then
    mkdir /mnt/wsl/Alpine
    wsl.exe -d Alpine mount --bind /home/ /mnt/wsl/Alpine/
fi

I was not aware of the second option, thanks @onomatopellan !
I did now find https://github.com/microsoft/WSL/issues/4577, which explains why I'm not aware of it :-).
Also, it seems that this crossDistro option is only available for WSL2?
I'm still stuck with WSL...

@beltaurus Yes, it's a WSL2 only thing since all the running distros in WSL2 are just containers on a single kernel/lightweight VM.

I was not aware of this functionality, @onomatopellan, very cool.
Unfortunately, /mnt/wsl uses tmpfs, so when wsl shutsdown you loose everything that was there. What I could do is when Ubuntu (my main distro) comes up, it adds a symlink from /home/user to /mnt/wsl/homeuser/, and when OpenSuse comes up, it does the oposite, it mounts from /mnt/wsl/homeuser/ to /home/user.
The problem is that if OpenSuse starts before Ubuntu, there will be nothing at /mnt/wsl/homeuser/.
So it kinda works, but there are issues.

@giggio : Can you use my suggestion then? Or are there other obstacles with sharing a given windows directory over the different distros?

@giggio Correct, it's tmpfs but you only loses the folder used as mount point. In my case I can modify the Alpine home files from Ubuntu and, of course, the changes are preserved after wsl shutdown.
I can understand why this feature is undocumented and so far it's only used by Docker devs. Things can become dangerous fast, especially with different user file permissions. But it's still very useful and the most important thing to know is this:
Every time you launch a distro it attaches that distro's VHDX to the running WSL2 VM as a new sdx device.
You can observe that with sudo lsblk for example. After knowing that it's the user's decision when and where to mount them although /mnt/wsl/ will still be the only folder truly shared by all distros.

Yes, I'm not using Windows because it's slow at the moment.
I don't like that I have to have another distro running to be able to mount. There should be a way to mount a device to multiple distros, a device that does not belong to any of the distros.
They are just separated by namespaces, they could share that.
For example, I create a device (using wsl.exe), and it is auto mounted to any distro that starts up.

@giggio It looks like the Docker team already asked for something similar https://github.com/microsoft/WSL/issues/4730.
Something like that solution would be great. @benhillis

@onomatopellan I seem to only be able to mount a single distro with this method. Do we happen to know if this by design?
if [ ! -d /mnt/wsl/NewishUbu ]; then
    mkdir /mnt/wsl/NewishUbu
    wsl.exe -d NewishUbu mount --bind /home/beardedeagle/ /mnt/wsl/NewishUbu/
fi

if [ ! -d /mnt/wsl/OldUbu ]; then
    mkdir /mnt/wsl/OldUbu
    wsl.exe -d OldUbu mount --bind /home/beardedeagle/ /mnt/wsl/OldUbu/
fi

which produces the following:
mount: /mnt/wsl/OldUbu/: mount point does not exist.

@beardedeagle are you sure both distros are WSL2? If OldUbu is WSL1 it won't work since there is no /mnt/wsl in WSL1.

@onomatopellan yup, they are all wsl2:
PS C:\Windows\System32> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  OldUbu                 Stopped         2
  NewishUbu              Stopped         2

To clarify both NewishUbu and OldUbu started their life as wsl1 containers on another machine. I imported them as wsl2 though.

@beardedeagle  I just tried with two distros and it works. I think the mount command should be called by the root user which is default in Alpine but not in Ubuntu.
Try with this:
wsl.exe -d OldUbu -u root mount --bind /home/beardedeagle/ /mnt/wsl/OldUbu/

The shared /mnt/wsl directory behavior mentioned in #4577 (message) shipped to Insiders sometime last fall and landed in 20H1 aka 2004 aka 19041.
Creating a bind mount inside a Ubuntu-18.04 instance would look something like...
$ sudo mkdir /mnt/wsl/Ubuntu-18.04
$ sudo mount --bind / /mnt/wsl/Ubuntu-18.04  # share all of /

... but you can pick whatever you want for the source and target of the mount, so long as the target is under /mnt/wsl. The feature is only available in WSL2.
/fixed 19041

@therealkenc this issue has not been addressed.
Yes, you can share a drive from a distro to another, but I don't want that. I want a drive that is not part of any distros, so I can add my home directory there and use it in any distro that boots first. I don't want to have to boot them in order.
Also, please see this comment with other issues: https://github.com/microsoft/WSL/issues/5177#issuecomment-625368935
It is not possible to do what I need with today's implementation.

That's #689. [If this issue was interpreted as "I want a drive that is not part of any distros" contrast issue title "Share directory between distros" it wouldn't have survived a dupe-closed in May.]

Unfortunately, /mnt/wsl uses tmpfs, so when wsl shutsdown you loose everything that was there.

Yeah, there's that. Feel free to open a new feature request "persist /mnt/wsl mountpoints" or somesuch.

In my default distro (which was upgraded from wsl1 a long time ago) I do not have the folder /mnt/wsl. I have no idea why not.
Simply creating the folder and then following the instructions in this thread do not seem to work, the mounted folder is not available in other distros.
Is there a way to properly repair the distro such that the /mnt/wsl folder is mounted properly?

@justinmchase Make sure you are in a WSL2 distro with wsl.exe -l -v and you have latest linux kernel installed with uname -a. Running mount you should see something like tmpfs on /mnt/wsl type tmpfs (rw,relatime)

In the end to fix it I had to completely uninstall Ubuntu and then re-install it from the store. This created a new distro which had the /mnt/wsl folder functioning correctly.
I have no idea how I got in that bad state but it was possibly an error in the upgrade process and I never noticed the issue until now.

But what if one (or both) of them are WSL1, is there a better way of sharing their filesystems. I guess mounting over network is the only option, but any suggestions on which one to use, is it possible to have something like sshfs but piping file through wsl.exe instead of the real ssh[^1], it could be annoying to have a daemon running in all of the WSL instances.
A related stackexchance question
[^1]: I'm not sure if that is how sshfs works

I'm not very Linux saavy, so how to I make it so my home dir is shared between my WSL 2 distros?

In my default distro (which was upgraded from wsl1 a long time ago) I do not have the folder /mnt/wsl. I have no idea why not.
Simply creating the folder and then following the instructions in this thread do not seem to work, the mounted folder is not available in other distros.
Is there a way to properly repair the distro such that the /mnt/wsl folder is mounted properly?

I had this problem too, I actually found out that the bind mount were in the wrong place, issuing mnt | grep wsl showed me that the podman sockets were being mounted under /wsl/podman-sockets/machine-default
this happens because I had the automount option configured to / on my /etc/wsl.conf on this distro, so keep your eyes on this config.
Anyway you can either revert the default path for wsl mounts ou you can discover where the sock is being mounted and point the podman connection to the right place.
After solving this I was able to run devcontainers in vscode, if anyone came here with this problem


rst doc doesn't render correctly on PyPi

Following https://github.com/python-constraint/python-constraint/issues/10
I noticed that rst doc doesn't render correctly on PyPi
see https://pypi.python.org/pypi/python-constraint/1.3
$ restview --pypi-strict README.rst

should help to fix this

Fixed
New released version named 1.3.1
see https://pypi.python.org/pypi/python-constraint/1.3.1


Light theme for UI

Users should have a "light" theme as opposed to the current dark one - which should be selectable in the global settings slideout.

for inspiration

I'm not sure how strict the frontend is reusing the color styles but it would actually be pretty nice to create a mapping for tmTheme files / vscode themes.
If anyone is up for managing the theme storage and parsing I'd be up to do the token matching :)

It should also have "System" option in theme and set it as default.
When a new user open monokle, it will load theme as per system settings.

This should be more of a priority. Dark mode can be terrible for people with astigmatism - roughly 1 in 3 people in the US and can experience significant issues with light text on dark backgrounds. Users should be given the option to increase accessiblity and uptake.


[Backport] Fix resource leaks (ComplexColumn and GenericColumn) (#3629)

Backport of #3629

Remove unused ComplexColumnImpl class

Remove throws IOException from close() in GenericColumn, ComplexColumn, IndexedFloats and IndexedLongs

Use concise try-with-resources syntax in several places

Fix resource leaks (ComplexColumn and GenericColumn) in SegmentAnalyzer, SearchQueryRunner, QueryableIndexIndexableAdapter and QueryableIndexStorageAdapter

Use Closer in Iterable, returned from QueryableIndexIndexableAdapter.getRows(), in order to try to close everything even if closing some parts thew exceptions

# Conflicts:
#	processing/src/main/java/io/druid/segment/QueryableIndexIndexableAdapter.java
#	processing/src/main/java/io/druid/segment/QueryableIndexStorageAdapter.java
#	processing/src/main/java/io/druid/segment/column/SimpleColumn.java
#	processing/src/main/java/io/druid/segment/data/BlockLayoutIndexedLongSupplier.java

:+1:

The name is "fix resource leaks", but the implementation appears to be just moving things to use try-with-resources or Closer instead of closeQuietly.  Can you provide some more color on why closeQuietly was resulting in resource leaks?
Closer was introduced in Guava 14, but hadoop is still using 11, so using it has the potential to cause some compatibility issues.

@cheddar in the original PR "moving thinks around" is separated from actual resource leak fixes to make them move visible: https://github.com/druid-io/druid/pull/3629 fixes themselves: https://github.com/druid-io/druid/pull/3629/commits/1375e652bddd140466b80fb5eef8f0698545315e
I think Closer is used extensively in the Druid codebase

@leventov Closer is used extensively, but purposefully avoided for any file that Hadoop indexing may touch. Agree with cheddar this needs to be tested for hadoop

@fjy @cheddar thanks, didn't know that. How this testing could be done?

Do we really need to backport this? It doesn't seem like a critical fix, and there is some risk identified. Can we leave it for 0.9.3? (which #3629 is already marked for)

Just asking because we are pretty late in the rc train and would like to stick to critical issues and regressions.

@gianm we have seen 700 000 dangling direct byte buffers on historical nodes, presumably because of these leaks. It leads to GC issues and OOMs, i. e. instability. At Metamarkets are going to use it with 0.9.2 anyway. That is why we are pretty much indifferent is it backported or not, as long as it is already in master (0.9.3 onwards).

we are having issues with garbage collection pauses and occasional OOMs in Druid <IP_ADDRESS> and would love it if this fix were to make it into the 0.9.2 release

Okay, based on recent comments from @leventov and @sascha-coenen the balance may shift to including this in 0.9.2. Especially since we already decided to upgrade Guice for 0.9.2 in #3222, and we already expect some people to need to adjust hadoop configs there.

I'm soft 👍  on including in 0.9.2-rc2. If nobody disagrees then IMO we should do it and just be on the lookout for people reporting hadoop issues with that version. We can also run it through the hadoop testing system we have been building here.

I ran our hadoop-gauntlet tests on this branch and they all passed:

emr472 Passed
emr500 Passed
quickstart.cloudera Passed
sandbox.hortonworks.com Passed
sequenceiq-230 Passed
sequenceiq-240 Passed
sequenceiq-241 Passed
sequenceiq-250 Passed
sequenceiq-251 Passed
sequenceiq-252 Passed
sequenceiq-260 Passed
sequenceiq-271 Passed

So I'm 👍  on backport.

Thanks @gianm!

Great! thanks a lot @gianm!


Converter does not accept a response unless it is a dictionary

What is the current behavior?
Now when getting a response from the Python SDK, the captions converter will not work. The response type that comes back from the SDK is a PrerecordedResponse type. This needs to be converted to a dictionary for the captions to work. This can be done by the user with this:
transcription = DeepgramConverter(json.loads(response.to_json()))
However, we need to fix the captions package to be able to handle that type and convert it to a dictionary.
Steps to reproduce
In the following code, change json.loads(response.to_json() to response or response.to_json() (remove the json.loads)
import json
from deepgram import (
    DeepgramClient,
    PrerecordedOptions,
)
from deepgram_captions import DeepgramConverter, srt

AUDIO_URL = {
    "url": "https://dpgr.am/spacewalk.wav"
}

deepgram = DeepgramClient("")
options = PrerecordedOptions(
    model="nova",
    smart_format=True,
    utterances=True
)
response = deepgram.listen.prerecorded.v("1").transcribe_url(AUDIO_URL, options)
if isinstance(json.loads(response.to_json()), dict):
    print("Response is a dictionary.")
else:
    print("Response is not a dictionary.")

transcription = DeepgramConverter(json.loads(response.to_json()))

captions = srt(transcription)
print(captions)

Expected behavior
Expect to not have to add json.loads
OR MAYBE JUST UPDATE THE README TO INFORM USERS OF HOW TO DO THIS
See discord conversation where this was originally raised: https://discord.com/channels/1108042150941294664/1204723190044295238/1204723190044295238

This should also work:
transcription = DeepgramConverter(response.to_dict())

This was merged and should be fixed:
https://github.com/deepgram/deepgram-python-captions/pull/12


[PAIShare] Return upload error message to client

Coverage increased (+10.2%) to 71.537% when pulling 8e4ab0bc1f532ad9235dca1ee3400531849268d6 on yanli2017:paishare into 08ec2916bafa7500fbb37c6eca4bf23f03715387 on Microsoft:paishare.


Fix PATH prepending when using Fish on Linux

Support Linux on EnvMixin to handle fish_user_paths being prepended to the PATH, overriding any configuration in the VSCode environment via the context.environmentVariableCollection API.
Fixes https://github.com/microsoft/vscode/issues/99878 when using Fish on Linux
More context: https://github.com/microsoft/vscode/pull/226589#issuecomment-2405802480
cc @meganrogge

@Tyriar I applied the fix conditionally based on the shell being used.
While further testing it, I noticed that the envMixin should be applied even on non-login shells with fish, because the variable $fish_user_paths is always set, regardless if the shell is login or not.
Otherwise, in order for the fix to work, the user needs to explicitly use the following config. And that kind of extra configuration is not necessary for the PATH prefixing to work on both bash and zsh.
{
  "terminal.integrated.profiles.linux": {
    "fish login": {
      "path": "fish",
      "args": [
        "-l"
      ]
    }
  },
  "terminal.integrated.defaultProfile.linux": "fish login"
}

Should the PR title be updated to indicate Fish in general, not just on Linux?

Thanks for working on this. I created this issue - we'll want to link it to this PR. https://github.com/microsoft/vscode/issues/232495


add the program " stack using linked list"

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

If any error in code pls contact @karshil2309


pkg/cover: better coverage reports (summary/counters)

It may be useful to generate shorter summary coverage report with just percents per dir/file. It may be useful in identifying yet uncovered subsystems.
Note: it would be nice to keep whole report in a single self-contained html file as it is now. But then will require some more complex navigation, e.g. going between dir/file tree view and a single file; or 2 panes: one shows dirs/files and another a single selected file.
On a related note: we could include coverage counters into reports (how many times a particular lines is covered). llvm coverage report generator can do this:
https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-cov/SourceCoverageViewHTML.cpp
Also: need better handling for lines that are both covered and not-covered.

Some pages that contain snippets of actual reports, for UI inspiration:
https://chromium.googlesource.com/chromium/src/+/master/docs/code_coverage.md
http://www.stablecoder.ca/2018/01/15/code-coverage.html


netserver: fix FileName usage

I introduce compile breakage with previous commit:
https://github.com/HewlettPackard/netperf/commit/5380b1f5b67fa97f7574b73478a3cf4301f7707a

FileName is an array and not a pointer - treat it like one. :)
use correct variable name ("FileName" not "Filename")

[Credit to zman0900 for pointing this out]

BTW, I should point out that this compiles on linux but I've not tested it any further than that. If someone else can test this, and confirm ToT works with this, I'd be grateful. TIA.

Ping? It's been three weeks since I posted this pull request. Can I or Rick Jones (perfgeek) be added as maintainers for this project so contributors get a response in a reasonable time frame?


fix callListeners issue not being able to find event in eventStack

.call() was failing for any event besides stateChange. I just provided the index to eventStack to fix it.

@CrazyDeveloper I made another change to the way the open method checks for the presence of mobi. It does an explicit check to see if typeof mobi !== 'undefined'. This was previously throwing an error when I called open.
Also made a change to fix a typo in the filename.

:+1:


Savings to NHS calculations

Currently the measures page contains the message:

How the CCGs are doing: Over the past 6 months, if all CCGs had prescribed at the median ratio or better, then NHS England would have spent £x less. (We use the national median as a suggested target because by definition, 50% of CCGs were already prescribing at this level or better, so we think it ought to be achievable.)

Most MO teams describe either annual savings (often by annualising 3 months worth of data), or quarterly savings, as prescribing behaviour has a greater tendency to change over 6 months, and given the time lag on the data the calculations are not as relevant.
We should give consideration to either showing 3 month savings, or annualising.
This also relates to issue #375 in that we need to ensure clarity on the calculation is made.
We should also considering rounding up the savings value, as there is currently false precision.
e.g. for Keppra for December it states:

How the CCGs are doing: Over the past 6 months, if all CCGs had prescribed at the median ratio or better, then NHS England would have spent £1,685,926.67 less. (We use the national median as a suggested target because by definition, 50% of CCGs were already prescribing at this level or better, so we think it ought to be achievable.)

It would be better to say something like:

...then the NHS in England would have spent approximately £1.69 million less

Also note the change in language from "NHS England" to "the NHS in England", as CCGs, not NHS England, bear the costs of primary care prescribing.

Related to #50 (and there is also a suggestion for rounding savings in #133)

Make part of #135 (rounding was also suggested from user testing -  #133)


Add the ability to sign-in/out multiple times for volunteering events

Overview
Volunteering events have multiple shifts that a volunteer may want to sign-in/out multiple times for. This means that these events must support the ability to sign in and out multiple times whilst still calculating points correctly.
Tasks

[ ] Add ability to sign-in/out multiple times. This may require a list of sign in times.

Do not call this signInTimes or signOutTimes because that may lead to developer confusion from the fields signInTime and `signOutTime

[ ] Modify point calculation to reflect this new system.

Slightly depends on https://github.com/TAMUSHPE/MobileApp/issues/486

While point calculation could be done without it, it'd be good to standardize calculation beforehand

This requirement is not needed actually since points can be given manually or managed in other ways.


Add FFT in Clojure

I know there are a lot of useless commit but I couldn't resolve the issue

Are you still alive? We might close this PR if it gets stale, which would be a pity since it's almost good to go.

Yeah I just got alot of issues in real life I need to resolve. Thanks for the concern @jiegillet

I'm sorry to hear that. I'll keep the PR open, please take all the time you need.


Background not changing

I could be stupid and not actually changing the config file right, but for some reason the background will not change to the specified picture. The following are what I have tried:
background=/home/ray/Pictures/my silly cat.png
background=/home/ray/Pictures/"my silly cat.png"
background=/home/ray/Pictures/"my silly cat".png
background=/home/ray/Pictures/'my silly cat.png'
background=/home/ray/Pictures/'my silly cat'.png
background=/home/ray/Pictures/mysillycat.png
background=///home/ray/Pictures/mysillycat.png
background=mysillycat.png
There are probably some others that I forgot about, almost all of these have also been done in .jpg format, and at some point of trial and error, the background just turned pure white, making all of the text unreadable. I just reinstalled the theme which fixed that.
Anything I'm doing wrong or other things I should try?

Deleting everything after backgroundFill= (on the same line) just makes the screen completely white. The picture is just in my pictures folder, which i have permissions for, and I even tried moving the image to /home/ray/, which also dident work. Finnally, I also tried using another picture, and it dident work as well. This is my config after everything:
[General]
passwordCharacter=*
background=/home/ray/abc.png
backgroundFill=
backgroundFillMode=aspect
cursorColor=

PS: I am using completely AMD, which it seems like you are having other troubles with.

(oops i closed it on accident i havent used github in a year)
I tried a few different things, it still isnt working. I cleared backgroundFill, which made the screen pure white, I tried moving the image to /home/ray/ which I definitely have permissions in, and the image has read & write permissions. I also tried changing the picture to a different picture, but still never worked. This is my config after all of this:
[General]
passwordCharacter=*
background=/home/ray/abc.png
backgroundFill=
backgroundFillMode=aspect
cursorColor=

I am using completely AMD, and I know you were having problems with AMDGPUs, could it be that? Thanks.

I was able to set the background image by putting the image login.jpg in the theme directory and setting background=login.jpg

Copying the background image to the theme path fixes the issue.


[T2A5][F10-A2]Lee Wenwei Johnervan

Ready for review.

Well done for implementing all 3 suggested enhancements Johnervan! In the future do note that you're not only limited to the suggested enhancements mentioned. Feel free to add even more enhancements, as many as you can think of !


feat: Adds asynch capabilities

Adds asynch capabilities to the transform function within the TextAnalyticsSDK class.

Remove this one -- New PR submitted.


theme does not load on first website load

I changed the theme and refreshed the page. Dont see the stored theme unless I click on a button

Now the Problem has been fixed by calling localStorage after first initialization of components. This is still a small issue becaues on first load for 1 second we see black background and then immediately it chnages


nitrpg: add nitrpg.user.js for enhanced user experience

A script to use with user-script compliant plugin for your browser to enhance the user experience on github for nitrpg players.

+1, this is cute!

+1


Update skins myself?

Am I able to add some of the newer gloves into the changer?


Dynamically add menu items

I need to add custom context menus for some components In my app. I woud like to use ComponentFactory for this. How can I add menu items in my dynamically added ContextMenuComponent? Please see the below code for reference
createContextMenu(): any {
        if (!this.contextMenuItems || this.contextMenuItems.length === 0) {
            return;
        }
        const contextMenuComponentFactory = this.componentFactoryResolver.resolveComponentFactory(ContextMenuComponent);
        const contextMenuCompRef = this.viewContainerRef.createComponent(contextMenuComponentFactory);
        const contextMenuComp = contextMenuCompRef.instance;
        this.contextMenuItems.forEach(contextMenuItem => {
              // loop over all context menu records and add them to context menu component
        });
    }

That's an interesting problem.  I've never had to do that before.
You could try doing this:
<ng-template contextMenuItem></ng-template>
<!-- as many of these as you need, or use an *ngFor -->

@ViewChild(ContextMenuItemDirective) contextMenuItemDirectives: QueryList<ContextMenuItemDirective>;

createContextMenu(): any {
        if (!this.contextMenuItems || this.contextMenuItems.length === 0) {
            return;
        }
        const contextMenuComponentFactory = this.componentFactoryResolver.resolveComponentFactory(ContextMenuComponent);
        const contextMenuCompRef = this.viewContainerRef.createComponent(contextMenuComponentFactory);
        const contextMenuComp = contextMenuCompRef.instance;
        contextMenuComp.menuItems = this.contextMenuItems;
    }

I'm not sure if that will work.
I also found a more generic way to add ng-content to a dynamically created component:
https://blog.ng-book.com/dynamic-components-with-content-projection-in-angular/
I'd use the Handling Templates strategy in that article.  And have the template look like this:
<ng-template #contextMenuItems>
  <ng-template *ngFor="let action of contextMenuItems" contextMenuItem let-item
    [visible]="action.visible" [enabled]="action.enabled" [divider]="action.divider"
    (execute)="action.click($event.item)">
    {{ action.html($event.item) }}
  </ng-template>
</ng-template>

Good luck!  Let me know if you get it working.  I'm curious.

Thanks a lot for your assistance but this would not work in my case since I have a complex components that extends each other and I need to add this logic at the most low level component, that is extended by about 20 components. As angular components doesn't not support template inheritance, I can not use any template code. That is why I'm trying to do this programmatically. So, now I see two possible solutions: add template markup to each of my components or somehow inject menus dynamically. I've already use dynamically created components widely in my app. In every component I expose ViewContainerRef so other components can use it to dynamically inject needed components. In your component I see 2 things that could porevent from injecting it dynamically I a way I did before:
-it doesn't expose ViewContainerRef
-it uses ng-template and directive for menu items.
I think addind public ViewContainerRef to ContextMenuComponent and adding support for menu items components (not a directives) would let use dynamic injection.
So, in this case we can dynamically create ContextMenuComponent, and using its ViewContainerRef inject as many MenuItemsComponents as we need.

You could try passing the TemplateRef down as an Input to whatever component needs it.
I’m open to making a public ViewContainerRef, but I don’t want to change ContextMenuItems from directives to components.  It’s not worth making a breaking change for a minority use case.
On Dec 7, 2018, 1:01 AM -0500, Alex Bokhankovich<EMAIL_ADDRESS>wrote:

Thanks a lot for your assistance but this would not work in my case since I have a complex components that extends each other and I need to add this logic at the most low level component, that is extended by about 20 components. As angular components doesn't not support template inheritance, I can not use any template code. That is why I'm trying to do this programmatically. So, now I see two possible solutions: add template markup to each of my components or somehow inject menus dynamically. I've already use dynamically created components widely in my app. In every component I expose ViewContainerRef so other components can use it to dynamically inject needed components. In your component I see 2 things that could porevent from injecting it dynamically I a way I did before:
-it doesn't expose ViewContainerRef
-it uses ng-template and directive for menu items.
I think addind public ViewContainerRef to ContextMenuComponent and adding support for menu items components (not a directives) would let use dynamic injection.
So, in this case we can dynamically create ContextMenuComponent, and using its ViewContainerRef inject as many MenuItemsComponents as we need.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I've solved this by creating component, that I inject in every place where I need custom context menu
import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';
import { ContextMenuComponent } from 'ngx-contextmenu';
import { TypeChecker } from '../../animation/type-checker';
import { Point } from '../../models/point';
import { ReceptorAction } from '../actions/receptor-action';
import { ContextMenuItem } from './context-menu-item';

@Component({
    selector: 'app-context-menu-receptor',
    templatel: '<context-menu>
    <ng-template contextMenuItem
        *ngFor="let menuItem of menuItems"
        (execute)="execReceptorAction($event.item, menuItem.action)">
        {{menuItem.name}}
    </ng-template>
</context-menu>',
    styleUrls: ['./context-menu-receptor.component.scss']
})
export class ContextMenuReceptorComponent implements OnInit {
    @ViewChild(ContextMenuComponent) public contextMenu: ContextMenuComponent;
    @Output() receptorTriggered: EventEmitter < ReceptorAction > = new EventEmitter();

    menuItems: ContextMenuItem[];
    constructor() {}

    ngOnInit() {}

    execReceptorAction(position: Point, receptorAction: ReceptorAction) {

        if (TypeChecker.instanceOfWindowOpenAction(receptorAction)) {
            receptorAction.position = position;
        }

        this.receptorTriggered.emit(receptorAction)
    }
}

and in my component I inject this and set it's menu items
    createContextMenu(): any {
       if (!this.contextMenuItems || this.contextMenuItems.length === 0) {
           return;
       }

       const contextMenuComponentFactory = this.componentFactoryResolver.resolveComponentFactory(ContextMenuReceptorComponent);
       const contextMenuCompRef = this.viewContainerRef.createComponent(contextMenuComponentFactory);
       const contextMenuComp = contextMenuCompRef.instance;

       contextMenuComp.menuItems = this.contextMenuItems;

       this.contextMenu = contextMenuComp.contextMenu;
       contextMenuComp.receptorTriggered.subscribe((action) => {

           this.receptorTriggered.emit(action);
       })
       contextMenuComp.ngOnInit();

       this.viewContainerRef.element.nativeElement.addEventListener('contextmenu', ($event, item) => {
           this.onContextMenu($event, this.contextMenuItems);
       });
   }


Delete Cell icon (Jupyter Notebook) is gone in VS Code 1.74.0

Environment data

VS Code version: 1.74.0
Jupyter Extension version (available under the Extensions sidebar): v2022.11.1003412109
Python Extension version (available under the Extensions sidebar): v2022.20.0
OS (Windows | Mac | Linux distro) and version: Windows 10 Enterprise - OS Build 19043.2251
Python and/or Anaconda version: Python 3.9.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N.A.
Jupyter server running: Local

Issue Description
After updating to VS Code 1.74.0, the "Delete Cell" icon that used to appear next to the "Copy Cell" and "Go to code" icons is gone! One could see the three icons when hovering the mouse over the top right corner of a Jupyter notebook cell. Now only the latter two icons show up.
Screen shot

duplicate of https://github.com/microsoft/vscode/issues/168493

Noted. Thanks. I hope the fix comes out soon.


Pass previous state to store.subscribe

https://github.com/posva/pinia/blob/765e487a19a8563f5607d0fadd0ea4efce3e1f59/src/store.ts#L71
According to the the docs, watch should provide a previous value so it could be passed in subscriptions. It could then be used to create a diff in DevTools or logging utility.

since pinia mutates the object, it will be the exact same object and cannot be used for diffs in devtools. What you can is create a custom function that creates snapshots of the states instead. Similar to what happens with devtools


Attribute titles not displaying

This is on a fresh game, with only compact dnd sheet and the requisite actions list modules enabled. DnD 5e 2.1.4, foundry 10.291.

The current dnd system version is not compatible with the stable release. Use the alpha release instead.

I am getting the same thing, any hope of an update?


Makefile targets for cross build and distributions

example:
VERSION=0.1.0 make build-cross dist
The command line above should build a bunch of tars and zips that can
be uploaded when we cut a release.
Code was borrowed from https://github.com/kubernetes/helm/blob/master/Makefile

/assign @j-griffith
/assign @flaper87

/lgtm
/approve

/test openlab/cloud-provider-openstack-unittest
/test openlab/cloud-provider-openstack-acceptance-test-k8s-cinder
/test openlab/cloud-provider-openstack-acceptance-test-csi-cinder

/test openlab/cloud-provider-openstack-acceptance-test-standalone-cinder

/test openlab/cloud-provider-openstack-unittest

/test pull-cloud-provider-openstack-test

/test cloud-provider-openstack-acceptance-test-k8s-cinder

/test cloud-provider-openstack-acceptance-test-k8s-cinder

The error is not related to this change so I'm sending it through.
/lgtm

/lgtm
/approve

/approve


Why the create table sql is different from the show create table sql

mysql> create table idx(title text, type int, price float engine='columnar');
Query OK, 0 rows affected (0.01 sec)

mysql> show create table idx;
+-------+------------------------------------------------------------------------------+
| Table | Create Table                                                                 |
+-------+------------------------------------------------------------------------------+
| idx   | CREATE TABLE idx (
type integer,
price float engine='columnar',
title text
) |
+-------+------------------------------------------------------------------------------+
1 row in set (0.00 sec)

I am very puzzled as to why the above two are different. Is there any adjustment in the manticore?

Hi. I don't think it has anything to do with the columnar library since without it it behaves similarly:
mysql> create table idx(title text, type int, price float);
Query OK, 0 rows affected (0.00 sec)

mysql> show create table idx;
+-------+------------------------------------------------------------+
| Table | Create Table                                               |
+-------+------------------------------------------------------------+
| idx   | CREATE TABLE idx (
type integer,
price float,
title text
) |
+-------+------------------------------------------------------------+
1 row in set (0.00 sec)

If you believe it's a problem please create an issue in https://github.com/manticoresoftware/manticoresearch/issues and explain what's bad in this behaviour.

  Thank you for your reply.
      My usage scenario is like this. I have a lot of csv files that have been generated, and these csv files are still being generated. At present, I have inserted these csv files into clickhouse.  Due to the huge amount of data, I feel that it is not suitable to use clickhouse for full-text search. At this time, I found your project, and I want to use your project to do it. Full Text Search. Because the field correspondence of my csv file has been determined, I see that the order of the fields seems to be adjusted when I create the table, and I am afraid that these csv files cannot be inserted into the manticore. Also, I would like to ask, does a command like clickhouse exist in manticore
cat a.csv | clickhouse-client --database=db --query="insert into table test format CSV"

  My create table sql like this:
create table t_log_http (
    log_time bigint,
    uuid bigint,
    src_mac text stored,
    dst_mac text stored,
    src_location text stored,
    dst_location text stored,
    app_protocol text stored,
    app_name text stored,
    is_ipv6 bit(8),
    src_ip text stored,
    dst_ip text stored,
    ip_protocol text stored,
    src_port bit(16),
    dst_port bit(16),
    method text stored,
    uri text stored,
    host text,
    url_category text stored,
    referer text stored,
    user_agent text stored,
    xff text stored,
    subject text stored,
    rsp_code text stored) engine='columnar';

  I currently don't see the way I want on the official documentation, so what I think is to use a method like the following to insert data, but this execution efficiency is too low
cat t_log_http.csv|awk -F "," '{printf("insert into t_log_http values(%s,%s,'\''%s'\'',%s,%s,%s,%s,%s,%s,%s,%s,%s,'\''
%s'\'',%s);\n",$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)}' > t_log_http.sql

➤ Sergey Nikolaev commented:

the order of the fields seems to be adjusted when I create the table, and I am afraid that these csv files cannot be inserted into the manticore

When you do INSERT INTO tbl VALUES(...) in my opinion it's always good to specify the fields list explicitly, e.g. insert into t_log_http(log_time, uuid, ...) values(...).
There's no tool like clickhouse-client which can accept data at STDIN and convert it into INSERT INTO. Just simple awk may be suboptimal since it inserts data line by line, which may be not very fast, but it's the right direction. I recommend two ways:

use plain index and source of type csvpipe. Interactive course: https://play.manticoresearch.com/csv/. Docs: https://manual.manticoresearch.com/Adding_data_from_external_storages/Fetching_from_CSV,TSV
make more complex script which can do batches and parallel inserts, e.g. you can take this as an example https://gist.githubusercontent.com/sanikolaev/6a48de957b41481512ff8d94ed4af351/raw/e49d9212bcd964ad08c7199c08f401f6470b4501/load_sql.php .

The reason I don't use plain mode is that I see on the docs
What you cannot do with a plain index:

insert more data into an index after it's built
update it
delete from it
create/delete/alter a plain index online (you need to define it in a configuration file)
use UUID for automatic ID generation. When you fetch data from an external storage it must include a unique identifier for each document

In my usage scenario, I will continuously generate csv files and need to continuously insert data. Is the plain index mode still appropriate in this case?

full text fields and attributes are different types and all statements like desc show create table and so on iterate attributes then fields that is why there is no original order, ie attributes and fields are not mixed.

In my usage scenario, I will continuously generate csv files and need to continuously insert data. Is the plain index mode still appropriate in this case?

Continuous data processing is also possible with plain indexes, since you can:

combine multiple plain indexes into a distributed index (https://mnt.cr/distributed)
add remove indexes to config while Manticore is running or make your config a script at all (https://mnt.cr/shebang) and do RELOAD INDEXES (https://mnt.cr/reload indexes) to sync with the config
merge indexes (https://manual.manticoresearch.com/Adding_data_from_external_storages/Adding_data_from_indexes/Merging_indexes)

etc.
But it's easier to just use an RT index. I gave you a script example, if you know php it shouldn't be a big deal to make it do what you want. Eventually we have in plans to implement some manticore-client (similar to clickhouse-client), but unfortunately it's only plans yet. Pull requests are very welcome!


build(deps): weekly dependabot updates

:tada: This PR is included in version 0.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Boot boot2docker.iso directly from Virtualbox?

Hello,
I create a VM from virtualbox manually(allocated 20G space for the vmdk), and attach the offically boot2docker.iso and then start the vm, everything looks fine, but when I typed "df -h" I got
root@boot2docker:~# df -h
Filesystem        Size        Used    Available    Use% Mounted on
rootfs             445.6M  218.4M      227.2M       49% /
tmpfs              445.6M  218.4M      227.2M       49% /
tmpfs              247.5M            0      247.5M         0% /dev/shm
I'm wondering where is my 20G vmdk? and how can I mount it.  Many thanks.
dan

Sorry, this repository is long-since deprecated in favor of Docker Toolbox (whose usage is now also discouraged in favor of Docker for Windows and Docker for Mac).


Link Documents to Template Gallery

Page: https://liferay.design/blueprints/resources/documents/
Need to replace the link to our proper Google Drive Templates.
Replace
"Add these templates to your Google Drive."
with
"Access these templates in Google Docs.
To display template gallery, go to "Settings" in the menu on the left. Check "Display recent templates..." and click "Ok."

Click "Template gallery" on the top right and use any of the approved templates under *Liferay Corporate Templates".

"
Thank you!!

fixed in #811


How to use the semantic ground-truth image segmentation results in HM3D datasets?

Habitat-Sim version
v0.3.0
When I use semantic_img = observations["semantic"] to call the ground-truth image segmentation results, I find that the output result is a matrix of all zeros, which is visualized as a dark image. How can I solve this problem?
❓ Questions and Help

Has anyone encountered a similar problem? I am eager to solve this problem, thank you.

It seems that in simulator.py, after calling tgt.read_frame_object_id(self.view), self.view becomes all 0. But why is this?

I still haven't figured this out and I need help.


make ProviderBase<Object, T> become ProviderBase<Object?, T>

Duplicate of https://github.com/rrousselGit/river_pod/pull/373

Thanks!


Can't reproduce the accuracy in the paper

Hi @tteepe
I run 1_train_casia-b.sh and called ckpt_epoch_best.pth. But the accuracy is a bit low.

I wonder how to reproduce the results in the article. Do I need to set the random seed or reduce lr?
Here is the accuracy graph from tensorboard.

As written in the paper,  the GaitGraph are trained in two cycles. After running the 1_train_casia-b_fine.sh, you should run 1_train_casia-b_fine.sh. In this way, you can reproduce the results in GaitGraph. Hope this can be helpful~

As written in the paper,  the GaitGraph is trained in two cycles. After running the 1_train_casia-b_fine.sh, you should run 1_train_casia-b_fine.sh. In this way, you can reproduce the results in GaitGraph. Hope this can be helpful~

As written in the paper, the GaitGraph is trained in two cycles. After running the 1_train_casia-b_fine.sh, you should run 1_train_casia-b_fine.sh. In this way, you can reproduce the results in GaitGraph. Hope this can be helpful~

It has been solved. Thank you!


Syntax for refinement types

Proposal:
from typing_extensions import Annotated

UserId = Annotated[int, lambda u: 0 < u < 100]
num1 = UserId(80) + 1  # ok
num2 = UserId(800) + 1 # TypeError

PEP-593 has the rationale. Introduced in python3.9.
3.8 users will need to use typing_extensions.
Related to #440. More discussion in https://github.com/python/typing/issues/600.

Cross linking fstar syntax, just for comparison:
https://www.fstar-lang.org/tutorial/book/part1/part1_getting_off_the_ground.html#boolean-refinement-types
Dafny is kind of similar:
type u8 = x: int | 0 <= x < 255

My guess is that we'll have to go with a less ergonomic syntax for now and perhaps add some syntax sugar later on.


Added Header support for Service Checks

Upgraded com.ecwid.consul:consul-api to 1.4.1, which adds
support for Headers in NewService model
Added new property healthCheckHeaders in ConsulDiscoveryProperties
Updated docs with instructions on how to set headers

Fixes gh-391

@lomeshpatel Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@lomeshpatel Thank you for signing the Contributor License Agreement!

Squashed and merged with some polish (notably removing Gson) via fc0c5a74cf4e4c60cf6bbf470f578849727019bd

Thanks for your first contribution to spring-cloud-consul!

 And Thank you for merging it.
I see that ToStringCreator is being used now. Sweet!