Mashrabboy

Coding Challenge Submission
Description
Describe your project here
Prerequisites, Dependencies, Versions
Please add anything here you've built that requires the above specifics
Licensing
Please state if license is CC, MIT or ISC or other (please no GPL)
Outside Libraries
Link any outside open source libraries used
Steps
Tell us how to run it locally

This PR does add anything, it just adds a file with your name so we really can't accept it.  If it is the start of something else but not ready, you should either mark as draft, or not do the PR yet.


delete func config vars from UI currently not working

The PUT seems to work properly (removes the config param I'm trying to delete) ... but doesn't actually remove config.

Hi @carimura, I've just checked on a clean version of master and it's working for me. For example:
I create an app ui app with two configs:
vzarola-Mac:~ vzarola$ fn inspect app uiapp
{
	"config": {
		"aConfigVar": "var1",
		"aConfigVar2": "var2"
	},
	"created_at": "2019-04-25T18:18:02.687Z",
	"id": "01D9AVFZHZNG8G00GZJ0000001",
	"name": "uiapp",
	"updated_at": "2019-04-25T18:18:02.687Z"
}

I then deleted one of the configs using the UI and got
vzarola-Mac:~ vzarola$ fn inspect app uiapp
{
	"config": {
		"aConfigVar2": "var2"
	},
	"created_at": "2019-04-25T18:18:02.687Z",
	"id": "01D9AVFZHZNG8G00GZJ0000001",
	"name": "uiapp",
	"updated_at": "2019-04-25T18:18:31.102Z"
}

Do you have any more info so I can try and replicate? Does the issue happen with both apps and functions?

oh i see it's supposed to send an empty val. Ya I don't see that.. per screenshot below, the config var I was deleting was a:b

Humm I can't seem to replicate the issue (just tried with a function using a => b, c => d and deleting a => b. Have you tried running webpack again? Maybe something went wrong with the build. Are there any errors in the console at all?
Created a function using the UI:
vzarola-Mac:~ vzarola$ fn inspect function uiapp hello
{
	"annotations": {
		"fnproject.io/fn/invokeEndpoint": "http://localhost:8080/invoke/01D9AW09QVNG8G00GZJ0000002"
	},
	"app_id": "01D9AVFZHZNG8G00GZJ0000001",
	"config": {
		"a": "b",
		"c": "d"
	},
	"created_at": "2019-04-25T18:26:57.403Z",
	"id": "01D9AW09QVNG8G00GZJ0000002",
	"idle_timeout": 30,
	"image": "fnproject/hello",
	"memory": 128,
	"name": "hello",
	"timeout": 30,
	"updated_at": "2019-04-25T18:29:54.089Z"
}

After deleting a => b
vzarola-Mac:~ vzarola$ fn inspect function uiapp hello
{
	"annotations": {
		"fnproject.io/fn/invokeEndpoint": "http://localhost:8080/invoke/01D9AW09QVNG8G00GZJ0000002"
	},
	"app_id": "01D9AVFZHZNG8G00GZJ0000001",
	"config": {
		"c": "d"
	},
	"created_at": "2019-04-25T18:26:57.403Z",
	"id": "01D9AW09QVNG8G00GZJ0000002",
	"idle_timeout": 30,
	"image": "fnproject/hello",
	"memory": 128,
	"name": "hello",
	"timeout": 30,
	"updated_at": "2019-04-25T18:30:05.803Z"
}

Here's a screenshot of Firefox's debug tools when I click save after deleting a config for a function:

wait. i think this is user error again. My webpack was failing thus I wasn't testing latest. one sec

yep. mea culpa. we're good!!

Wooo. You had me worried for a second then - thought I'd missed something 😅


fix(tfctl): show plan current working directory

Showing plan sometimes requires terraform to access the source code (https://github.com/hashicorp/terraform/issues/21966).
I'm unable to display plans without this fix, got:
Error: failed to parse Terraform plan: exit status 1

Error: Failed to load plugin schemas

Error while loading schemas for plugin components: 7 problems:

- Failed to obtain provider schema: Could not load the schema for provider
registry.terraform.io/gavinbunney/kubectl: failed to instantiate provider
"registry.terraform.io/gavinbunney/kubectl" to obtain schema: unavailable
provider "registry.terraform.io/gavinbunney/kubectl".
- Failed to obtain provider schema: Could not load the schema for provider
registry.terraform.io/hashicorp/aws: failed to instantiate provider
"registry.terraform.io/hashicorp/aws" to obtain schema: unavailable provider
"registry.terraform.io/hashicorp/aws".
[...]

Plan shows fine with the fix.
Note: my computer has Golang 1.18 and make test fails because of go get changes. Would be nice to bump Golang or isolate it.

Thank you @github-vincent-miszczak for the PR.
@phoban01 could you take a look at this, please?


[fix rubocop#11157] -- Update Registry Docs

This PR fixes https://github.com/rubocop/rubocop/issues/11157.
RuboCop::Cop::Cop is deprecated, so updated to RuboCop::Cop::Registry
Updated to run qualified_cop_name on the registry as opposed to the array of cops (RuboCop::Cop::Cop.all)
Added warn yard documentation

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.

Didn't add tests as this is a documentation change

[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

did not add one - I checked other documentation only PR's and appears it is required for user-observable changes

Looks good. Thanks!


Background task

I want to implement background task like symbol table construction of the entire project directory.
If I call the task in callback (ex. did_changed), the next callback can't be processed until finishing the task.
Using spawn may resolve the problem, but communication between threads is not easy. So I prefer single thread.
Is there a proper way?
I think the following interface may be useful, for example.
#[tower_lsp::async_trait]
impl LanguageServer for Backend {
    async fn background(&self) -> Result<()> { // `background` is called at the time of no request.
        // small task which doesn't degrade response
    }
}

I'm not sure spawn/communication between threads is really that bad, if nothing else i'd posted an example of that in #340 as I hadn't had any luck in using the tokio's LocalSet, to get thread local futures working, one thing that really helps is that Client is clone.  Perhaps there is a better way, but it does work at a last resort

Perhaps the symbol table data structure could be wrapped in an Arc<tokio::sync::RwLock<_>>, and this could be used to synchronize the background task?
async fn background(&self) -> Result<()> {
    // Wait for background task to complete, if any. If none, this
    // should resolve immediately.
    let _ = self.symbol_table.read().await;

    // Spawn background task...
    let mut symbol_table = self.symbol_table.clone();
    tokio::spawn(async move {
        let mut table = symbol_table.write().await;
        // Update `table` here. Next call to `background()` will only be
        // allowed to execute until after this guard is dropped.
    });

    // ...
}

FYI @ratmice, I hope to relax the Send bound requirements on LanguageServer futures eventually as part of https://github.com/ebkalderon/tower-lsp/issues/284#issuecomment-1385611695, thereby supporting thread-local futures out of the box. The Client type will remain Send, of course, in case anyone wants to pass it into a Send task.

Thank you for your suggestion.
I'll try to use background thread.

Sure thing, @dalance! Feel free to post back with the results and if the behavior matches what you expect, and feel free to reopen the ticket if it doesn't resolve the issue. We can always iterate on ways to improve the experience going forward.


Add CardboardViewer profile for last Google Cardboard

I just tested last Google Cardboard but none of the profile match.
And I was not able to get the right settings.
Example:

CardboardV3: new CardboardViewer({
id: 'CardboardV3',
label: 'Cardboard 2016',
fov: 96,
interLensDistance: 0.055,
baselineLensDistance: 0.030,
screenLensDistance: 0.035,
distortionCoefficients: [0.02, 0.02],
inverseCoefficients: [-0.33836704, -0.18162185, 0.862655, -1.2462051,
1.0560602, -0.58208317, 0.21609078, -0.05444823, 0.009177956,
-9.904169E-4, 6.183535E-5, -1.6981803E-6]
})

Links:

https://store.google.com/product/google_cardboard
https://www.google.com/get/cardboard/viewerprofilegenerator/

QR:

This one is working fine:

https://vr.chromeexperiments.com/


fix: bundle packages so that those work in node envs too

Using @leather-wallet/query package in the extension is causing extension's tests to fail. Now the reason that happens is because currently monorepo packages are setup to compile packages for moduleResolution: Bundler. Using that moduleResolution doesn't include file extensions in the compiled files' imports, and that causes stuff like vitest (that can use only node environment) to fail. Now, I had pretty much 2 options to fix this issue.

Append .js file extension at the end of every import in our source code, which is ugly and annoying, though is an official suggestion by Typescript
Bundle the package into a single .mjs file.

After researching multiple projects it seemed like the 2nd option is the most popular one. In a package like zod they use rollup for that. In formik - tsdx. After reviewing my options it seemed like rollup is the best way to go here.
So in this PR you can find my attempt at implementing rollup bundler for our packages. Tests in extension package are no longer failing using these rollup bundled packages.

Summary by CodeRabbit

New Features

Introduced Rollup bundling for more efficient builds across multiple packages.
Added concurrent build and watch scripts for improved development workflow.

Improvements

Updated export paths to include ES module imports and TypeScript declaration files for better compatibility and type safety.

Dependencies

Added concurrently for running multiple commands in parallel.
Added shared Rollup configuration package @leather-wallet/rollup-config.

Documentation

Added README for shared Rollup configuration settings.

What are the advantages of using rollup vs tsup, that we already use in @leather-wallet/rpc?
Tsup is a super minimal wrapper over Rollup. If we could use that instead, that'd be better than introducing a new tool. If there are reasons to use Rollup over Tsup, let's discuss.
Also, RE this build isn't, I think this can be solved extension side with the tsconfig changes here (that I never managed to get merged)?


Support GHE in token options page

Related: https://github.com/refined-github/refined-github/pull/7380#issuecomment-2143737791

Some code uses Url while some other uses URL. I went for the latter.

Sorry for making many rookie errors, I'm still very much a beginner


Error setting up R environment

Hi,
I was trying to set up the local environment of the Data Pipeline, so I could test everything before deploying it on the cloud. The problem is that when trying to install the R requirements, I get the following errors:
Installing package into ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
Warning: dependency ‘cowplot’ is not available
trying URL 'https://cran.us.r-project.org/src/contrib/ggpubr_0.2.4.tar.gz'
Content type 'application/x-gzip' length 2665439 bytes (2.5 MB)
==================================================
downloaded 2.5 MB

ERROR: dependency ‘cowplot’ is not available for package ‘ggpubr’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/ggpubr’

The downloaded source packages are in
        ‘/tmp/RtmprfcfL5/downloaded_packages’
Installing package into ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
Warning: dependencies ‘DescTools’, ‘mvtnorm’ are not available
also installing the dependencies ‘libcoin’, ‘multcomp’, ‘coin’

trying URL 'https://cran.us.r-project.org/src/contrib/libcoin_1.0-5.tar.gz'
Content type 'application/x-gzip' length 779010 bytes (760 KB)
==================================================
downloaded 760 KB

trying URL 'https://cran.us.r-project.org/src/contrib/multcomp_1.4-11.tar.gz'
Content type 'application/x-gzip' length 603504 bytes (589 KB)
==================================================
downloaded 589 KB

trying URL 'https://cran.us.r-project.org/src/contrib/coin_1.3-1.tar.gz'
Content type 'application/x-gzip' length 1263884 bytes (1.2 MB)
==================================================
downloaded 1.2 MB

trying URL 'https://cran.us.r-project.org/src/contrib/rcompanion_2.3.7.tar.gz'
Content type 'application/x-gzip' length 113737 bytes (111 KB)
==================================================
downloaded 111 KB

ERROR: dependency ‘mvtnorm’ is not available for package ‘libcoin’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/libcoin’
ERROR: dependency ‘mvtnorm’ is not available for package ‘multcomp’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/multcomp’
ERROR: dependencies ‘libcoin’, ‘mvtnorm’, ‘multcomp’ are not available for package ‘coin’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/coin’
ERROR: dependencies ‘DescTools’, ‘coin’ are not available for package ‘rcompanion’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/rcompanion’

The downloaded source packages are in
        ‘/tmp/RtmprfcfL5/downloaded_packages’
Warning messages:
1: In install.packages(p, repos = "https://cran.us.r-project.org") :
  installation of package ‘ggpubr’ had non-zero exit status
2: In install.packages(p, repos = "https://cran.us.r-project.org") :
  installation of package ‘libcoin’ had non-zero exit status
3: In install.packages(p, repos = "https://cran.us.r-project.org") :
  installation of package ‘multcomp’ had non-zero exit status
4: In install.packages(p, repos = "https://cran.us.r-project.org") :
  installation of package ‘coin’ had non-zero exit status
5: In install.packages(p, repos = "https://cran.us.r-project.org") :
  installation of package ‘rcompanion’ had non-zero exit status

Which version of R was developed everything on? Could we have the specs of the R development environment?
Thank you very much.
Best wishes,
Unai.

I think that I should dig up in the code and the errors a little bit more before creating an issue, but anyway, I hope that it may be useful for anyone out there.
The problem was that by running apt install r-core-base littler to install the R language and the command line R version, we get (if I remember correctly) the version 3.4 for R. However, the version needed for the Pipeline to work is 3.5.2. So, I dig up in the code and found the answer in the Dockerfile from the beiwe-backend repo. This file is the one that sets up the container in the cloud, and so it installs R to be able to run all the code. So, I converted the Docker instructions into commands for my ubuntu 18, and got the following commands (you should run them from home):
# Install system requirements
sudo apt update
sudo apt install -y gnupg2 python3-pip software-properties-common git

# Ubuntu 18.04 repository doesn't include R(3.5.2). To fix this we need to add
# an external repository to install R from. First, we need to add GPG key:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
# Once we have the trusted key, we add the repository as follows:
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/"
sudo apt update
sudo apt install -y r-base

# Install python requirements (in case you need to run it)
sudo pip3 install --upgrade pip
sudo pip3 install -r Beiwe-Analysis/Pipeline/python3-requirements.txt

# Install R requirements
sudo Rscript --vanilla Beiwe-Analysis/Summary/install_required_packages.R

Note that should already have by this point pip3 and git installed to be able to clone the repo and install the python3 requirements.

I could set up the environment correctly and the R code worked perfectly with these steps, so I think I'll close this issue.

Hi Unai,
Can you clarify what the underlying issues here was?  I'm reading your report as an inability to install R requirements on your local setup, most likely due to running a different version of ubuntu?

Hi Eli,
As stated by the steps in the instructions for the Data Pipeline, I was setting up the environment to test it locally. I may have missed the instructions on how to install it correctly locally and I just used apt to install the packages. The problem is that the base repos for ubuntu 18 don't contain the R version required (3.5) by the pipeline code, and instead contain the version 3.4. So that's why when I tried to install the requirements for R, it failed.
So as a summary, I was running the correct version of Ubuntu but didn't install the correct version of R. Didn't know which was the required R version until I looked into the Dockerfile.

This is among the reasons we use docker here, the versioning is super pedantic.


Added option to specify dimension of the image

Hi @nashpb thanks for you PR.
I think this is not necessary since you can get the same result as in the example below:
echo LazyLoad::widget([
    'src' => 'url/to/your/image.jpg',
    'fallback' => true,
    'options' => ['width' => 100, 'height' => 100]
]);

Oh okay! Thx for the reply and a great widget!


Does remote log support distributed printing to multiple remote services?

It refers to multiple server addresses, and then the logs are distributed to different servers according to a certain rule.

You can configure more than one here. At present, it is loop (rotation training). The server address is configured as xxxobj@tcp -H XXX - P 333: TCP - H XXX - P 222, so the remote log server can be configured for high availability.

这里配置多个就可以了，目前就是loop(轮训)了，服务器地址配置为xxxobj@tcp -h xxx -p 333:tcp -h xxx -p 222，这样配置远程日志服务器可以实现高可用。


Project collaboration

Is this project active? (I don't see any other way to message Josiah.) I've been thinking of working on something similar but would rather contribute to an existing project than start from scratch. But this one seems dormant...

Hi!
Version 2 is being developed at https://github.com/josiahls/fast-reinforcement-learning-2, similar to how fastai is developing fastai2 in a different repo. I haven't uploaded a pip package quite yet / could do this weekend if the github actions works properly. A good reference for an rl arch library is https://github.com/Shmuma/ptan
Current Repo Arch Issues
I found that the current fastrl does not have the flexibility to handle more complicated agents such as A3C. I think the current DataBunch is too large and clunky.
Turns out, having an Agent object is needed for an rl library. The nn.Module's are too dumb to properly plug into different environments and making them do so can make a neural net undesirably complicated, but an AgentLearner is too heavy to move around to different machines/robots.
Current Repo RAM Issues
It also doesnt handle ram well. One of the primary goals was to allow a student/research reduce turn around time by being able to run rl projects in a notebook and easily get logs/videos. The issue the current repo has is it doesn't delete/filter logs well enough.
Possibly adding tensorboard as a permanent dependency could solve this, however I have also found openai has a Monitor wrapper that saves some logs to disk thus avoiding the ram issues altogether.
Development Issues
Writing code then switching to a test dir to see if that code runs is extremely tedious and slow. I also found that if I wanted a doc website, this would be even slower. fastai2 is currently being developed using nbdev and I so far have had a great experience with it. I am also integrating fastcore into fastrl, hopefully to make the eventual transition to fastai2 less painful.
Near Term Goals
I am starting with getting A3C working along with SAC. I plan to work backwards in terms of model complexity. Hopefully that can make the arch more robust to different models.
As the repo stands, I am at the training A3C stage. I can execute learn.fit(10,lr=0.01,wd=1) and it will train to as far as I have A3C implemented.
Communication
I could make a discord channel if it makes communication easier.
I am happy to make/add an documentation if you would like to contribute. Fair warning that I will likely be changing a lot of base line code and break things. Until merging into https://github.com/josiahls/fast-reinforcement-learning

Thanks, it sounds like you're on an intelligent path. I'm going to do some background work to better get up to speed with fastai2 before a deep dive into your existing frl2, so publish at your own schedule. I have been going back and forth deciding whether to deep dive into Tensorflow2 agents as my starting point just to have an active community to work with, but I greatly prefer Howard's approach in Pytorch - so given your  progress and plans I think I will pursue this for a bit and see how it pans out.
A discord channel would be great - but no rush since I have a fair bit of homework to do.
I'm quite impressed with your comments above focusing on actual engineering and performance issues. For a teaser on my background, I built my first neural network from scratch in Smalltalk back in 1990 or so. The thinking was then that we should focus on modeling biological systems using "state of the art" object-oriented design to make it easy to radically redesign our models on the fly - which was a lot of fun - but the performance was abysmal. I just thought, with Moore's law and all... let the hardware catch up. I've learned a lot about reality since then, especially about what can be done today with relatively simple models given enough speed and data.
Now my thinking on performance is more inline with data-flow thinking driven by game-design needs. If there's any other software paradigm that pushes performance boundaries beyond the limits its triple-A gaming, and I have huge respect for the talent and lessons' learned by those developers. If I haven't totally lost you - you might want to take a look at https://youtu.be/g1TsP60z2OQ or https://www.youtube.com/watch?v=TH9VCN6UkyQ. I don't think we're ready to throw out Python and start over in deep learning with a new language, but that kind of thinking can influence design decisions if we consider them early in development they way you are doing. CUDA is doing a lot of this for us of course, but we can't let our abstractions fool us into thinking all areas of the system don't need that level of attention.
Cheers, for now.
Ken

I agree in the limitations of python, Definitely do what you think is best for your goals. At least for fastai, they seem to be looking at swift as a possible replacement (https://www.fast.ai/2019/03/06/fastai-swift/), which, based on my limited experience with swift, has been pretty good. It is interesting to note the desirability of a different design methodology than OOP per the second video you linked. Swift seems to use POP, which I'm not completely sure on the difference between that and DOD, or honestly smartly implemented OOP. Swift is also supported by tf2 which I find interesting.
If fastai completely shifts to swift (or some future language), I'll be perfectly happy to make sure fastrl shifts with it. (I'd be a little sad leaving python :( ) I hope that I have enough of an understanding of existing RL (and HRL) algorithms in the next 1-2 years to really want to develop on the cutting edge stuff that hasnt even made it fully to pytorch or tensorflow (research by https://numenta.com/ is of interest but in C++ for example).
I'll make a discord soon, maybe after A3C and SAC at least. I'm happy to continue the convo there :)

I've programmed professionally in FORTRAN, Lisp, Smalltalk, PHP, Visual Basic, C, C#, Java, JavaScript, Typescript,  and now Python... so moving to Swift is just a blip if that becomes necessary. Smalltalk will always be my favorite from a language standpoint, but the version and build control was abysmal. Anyway... I'm a little slow getting up to speed here because of some personal issues this last week, but hopefully that's passed.
My goal is to integrate the different DL technologies into a more general AI capability, but we need absolutely rock-solid DL "primitives" like Fastai provides to make that feasible, and FastRL is a major missing piece.

BTW, thanks so much for the Numenta link - I just watched their Microsoft presentation. I think they're spot on in their approach. I did some work in course coding analysis back in the 80's for using different numbers of nodes to represent concepts with the dimensions being number of distinct concepts vs number that can be represented simultaneously - and if you set the cross talk threshold between concepts at 1 percent or so, you can get a very large number of simultaneous concepts active in memory. Of course the maximum number of distinct concepts that can be represented is when every node is used in the representation and the max number of distinct concepts that can be unambiguously represented in parallel  is when only one node is used per concept, but allowing some cross talk also provides for shared nodes much like we find in word encodings. I only did a simple analysis but never implemented anything - I'm thrilled to see this kind of work being pursued now.

Looking deeper into Swift for TensorFlow and how well its integrated with Python - I'm leaning into skipping fastai2... or perhaps wrapping the naughty bits into Swift using the native Python import. hmmm...

Sorry for the late response.
I agree! I like their brain first, theory based approach! It's definitely cool that you have worked for a while in the area of concepts, and trying to get computers to make connections between them. This is going to be important for RL in general I think as opposed to the model-free approach.
I checked your links on the discord about s4tf (mines jokellum). Pretty disappointing, however I wasn't expecting a serious shift for a few years anyways. It seems for now, we are still going to be searching for a language that can provide low level code but a high level API :/ . I still like swift as a candidate language. For now it seems like python is still king here. I anticipate python becoming a road block at least for fastrl in about 2 years at least for me. After that I would be needing to look into c++ and cuda with python bindings...
I would also want to wait for some nbdev alternative to be available for whatever language that fastai transitions too lol. I like nbdev too much to move back to traditional dev.

It looks like the Swift version is not moving as fast as i would have thought after Jeremy's endorsement last year - but its still in active development. Also the Julia discussion on Discord shows that the progress there to integrate Fastai2 is much further along than I expected. For now, I'm just gonna punt and focus on the Python version while those two futures battle it out.

Any progress updating to fastai2?

Hi, I hope your research is going well! I am just adding a courtesy update here: I recently added DIAYN HRL. I plan to add DADS, then I am going to do a massive refactor of fastrl 2 in Feb. fastrl 2 models train fast enough in terms of batches, however pure computation are extremely innefficient due to me trying things / adding code that "just makes things work enough".
This refactor's 2 goals are:

reduce duplicate source code while making it more flexible
make rl training extremely fast time-wise.

Speed wise, I plan to use pytorch dictionaries as the fastrl 2.0 primary primitive. The openai spinning up library also uses this.

Hi, I hope your research is going well! I am just adding a courtesy update here: I recently added DIAYN HRL. I plan to add DADS, then I am going to do a massive refactor of fastrl 2 in Feb. fastrl 2 models train fast enough in terms of batches, however pure computation are extremely innefficient due to me trying things / adding code that "just makes things work enough".
This refactor's 2 goals are:

reduce duplicate source code while making it more flexible
make rl training extremely fast time-wise.

Speed wise, I plan to use pytorch dictionaries as the fastrl 2.0 primary primitive. The openai spinning up library also uses this.


bug: Release at a detached commit

Description
Release tag push at a detached commit of a fork of depandabot.
Which lead to v0.2.4 as the only available last tag and changelog contains whole history.
Example:

detached commit: https://github.com/tensorchord/envd-lsp/commit/9bb022fd9674a11aaa535eff9791246b185ae543
Reproduction
git tag
v0.0.1-alpha.1
v0.0.1-alpha.2
v0.0.1-alpha.3
v0.2.0
v0.2.2
v0.2.3
v0.2.4
v0.2.5
v0.3.0
v0.3.1
v0.3.5

git describe --abbrev=0 --tags
v0.2.4

Additional Info
Action: https://github.com/tensorchord/envd-lsp/actions/runs/3828232773/jobs/6513594739
The Action checkout the detached branch.

Fix
To fix it, we need to:

Remove<EMAIL_ADDRESS>and turn to git tag push
Add ref: main to actions/checkout@v3 to force pull main branch
Add kachick/wait-other-jobs@v1 to wait PR merged finished before push tag

- name: Wait other jobs(CI and lint)
      uses: kachick/wait-other-jobs@v1
      timeout-minutes: 10
      with:
        min-interval-seconds: '10'
        github-token: '${{ secrets.GITHUB_TOKEN }}'

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

/assign


Also includes @saul's fix for https://github.com/Microsoft/visualfsharp/issues/3005


Standardize code samples

The code samples often contain bad formatted or written code which do not take care of the X++ best practices. This is surely not good for new X++ developers.
Examples:

Method access modifier should always start with lower-case.
Method parenthesis should not start with / end with simple blanks

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

ID: a2b3708d-a8c1-612b-f4f3-9802ad0c5448
Version Independent ID: d2f14c0f-b695-a234-53ef-864d8e243d14
Content: Class extension - Method wrapping and Chain of Command - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/extensibility/method-wrapping-coc.md
Service: dynamics-ax-platform
GitHub Login: @robadawy
Microsoft Alias: robadawy

@SysC0mp, thank you for making code examples updates. You updates have been approved and will be published later this week.


Where should i put my customized .esformatter for windows?

While i am using mac, i put my .esformatter file at ~/,  and it works well.
But i put it at ~/ while i am using windows, it seems not working.
Can someone help me on this issue?

Nothing to do with this plugin. Ask on StackOverflow or https://github.com/millermedeiros/esformatter

Thanks for quick reply.


[Thumbnail] error at creation of dataset

On my version (Linux Ubuntu 16.04) - and not on @fcollot version.
If i create a dataset (with Create a Mesh from Mask for instance), the thumbnail is a part on my screen behind MUSIC, as Chrome for instance. Like a small screenshot.
This can be really annoying (and not safe if you have your bank account on your web browser for instance, or anything private).
NB: generated in medVtkView::buildThumbnail

@mjuhoor and I had this bug on Linux. This is only happening with non-proprietary drivers on Linux. No problem on NVidia drivers. We close this issue.

I think this is to do with the problems of doing off-screen rendering with non Nvidia cards, so there is this trick of creating a camera just to grab it and close it. It could be good to see if VTK update will help on this, as some users may not have an nvidia card.

(NB. d->viewWidget->activateWindow(); in medVtkView::buildThumbnail displayed briefly the small view and allow to get the thumbnail.)
Ok @msermesant i reopen this issue until we test VTK updates!

The error is not happening anymore


Trying to use metric.compute but get OSError

I want to use metric.compute from load_metric('accuracy') to get training accuracy, but receive OSError. I am wondering what is the mechanism behind the metric calculation, why would it report an OSError?
195     for epoch in range(num_train_epochs):
196         model.train()
197         for step, batch in enumerate(train_loader):
198             # print(batch['input_ids'].shape)
199             outputs = model(**batch)
200
201             loss = outputs.loss
202             loss /= gradient_accumulation_steps
203             accelerator.backward(loss)
204
205             predictions = outputs.logits.argmax(dim=-1)
206             metric.add_batch(
207                 predictions=accelerator.gather(predictions),
208                 references=accelerator.gather(batch['labels'])
209             )
210             progress_bar.set_postfix({'loss': loss.item(), 'train batch acc.': train_metrics})
211
212             if (step + 1) % 50 == 0 or step == len(train_loader) - 1:
213                 train_metrics = metric.compute()

the error message is as below:
Traceback (most recent call last):
  File "run_multi.py", line 273, in <module>
    main()
  File "/home/yshuang/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/yshuang/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/yshuang/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/yshuang/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "run_multi.py", line 213, in main
    train_metrics = metric.compute()
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/metric.py", line 391, in compute
    self._finalize()
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/metric.py", line 342, in _finalize
    self.writer.finalize()
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/arrow_writer.py", line 370, in finalize
    self.stream.close()
  File "pyarrow/io.pxi", line 132, in pyarrow.lib.NativeFile.close
  File "pyarrow/error.pxi", line 99, in pyarrow.lib.check_status
OSError: error closing file

Environment info

datasets version: 1.6.1
Platform: Linux NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)"
Python version: python3.8.5
PyArrow version: 4.0.0

also, I test the function on some little data ,  get the same message:
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from datasets import load_metric
>>> metric = load_metric('accuracy')
>>> metric.add_batch(predictions=[1, 1, 1, 1], references=[1, 1, 0, 0])
2021-05-15 16:39:17.240991: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
>>> metric.compute()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/metric.py", line 391, in compute
    self._finalize()
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/metric.py", line 342, in _finalize
    self.writer.finalize()
  File "/home/yshuang/.local/lib/python3.8/site-packages/datasets/arrow_writer.py", line 370, in finalize
    self.stream.close()
  File "pyarrow/io.pxi", line 132, in pyarrow.lib.NativeFile.close
  File "pyarrow/error.pxi", line 112, in pyarrow.lib.check_status
OSError: error closing file

Hi @hyusterr,
If you look at the example provided in metrics/accuracy.py, it only does metric.compute() to calculate the accuracy. Here's an example:
from datasets import load_metric
metric = load_metric('accuracy')
output = metric.compute(predictions=[1, 1, 1, 1], references=[1, 1, 0, 0])
print(output['accuracy'])  # 0.5

I thought I can use Metric to collect predictions and references, this follows the step from huggingface's sample colab.
BTW, I fix the problem by setting other cache_dir in load_metric, but I'm still wondering about the mechanism.

I tried this code on a colab notebook and it worked fine (with gpu enabled):
from datasets import load_metric
metric = load_metric('accuracy')
output = metric.add_batch(predictions=[1, 1, 1, 1], references=[1, 1, 0, 0])
final_score = metric.compute()
print(final_score)  # 0.5

Also, in load_metric, I saw cache_dir is optional and it defaults to ~/.datasets/

Hi ! By default it caches the predictions and references used to compute the metric in ~/.cache/metrics (not ~/.datasets/). Let me update the documentation @bhavitvyamalik .
The cache is used to store all the predictions and references passed to add_batch for example in order to compute the metric later when compute is called.
I think the issue might come from the cache directory that is used by default. Can you check that you have the right permissions ? Otherwise feel free to set cache_dir to another location.


Implement program.subscribe() for program accounts

Concerning issue #528
Not tested yet

Not sure if this is still an issue or not but going to close for now.


Main categories with placeholder pages + styled typography

Preview is available here:http://design-system-pr161.previews.kube001.services.stellar-ops.com/


ASM_CONST recording and playback

No need, there are already WASM imports that call ASM_CONST functions (_emscripten_asm_const_double, _emscripten_asm_const_int)


Type uchar is undefined

With newer versions of g++ and clang++, for some odd reasons type uchar (present in Blender.h) is not present (g++ suggests using u_char).
"uchar" in Blender.h is autogenerated directly from the Blender DNA, as far as I remember.
I'd like code to be backward compatible (for compilers that already include type uchar).
What to do?

I think I'll try the following fix:
Near the top of Blender.h:
#ifdef __cplusplus
// fix starts here
#	ifndef uchar
	typedef unsigned char uchar;
#	endif
// fix ends here
namespace Blender	{
extern "C"	{
#endif // __cplusplus

I've read that in C++ the same typedef can be safely repeated, so it should work.
Problem might arise if somebody wants to use it in plain C, but, since the other header (fbtBlend.h) is a C++ header, why should somebody do it?


Ikhapova terms of use

Added terms of use to docs

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

MicrosoftCollaboratePortal/TOC.md
:white_check_mark:Succeeded

MicrosoftCollaboratePortal/terms-of-use.md
:white_check_mark:Succeeded

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


Thank you very much! Provide such a great extension 😜

Thank you very much! Provide such a great extension 😜
But found several problems in use:
Question 1:
Server resources of some Japanese websites, such as images and videos, cannot be parsed. Hope that troubleshoots the issue and fixes it in time.

Question 2:
by the following way
https://www.youtube.com
height: 300

![height:800px](https://www.youtube.com)

![height:800px;profile:account-1](https://www.youtube.com)

How can I customize the display style of the embedded webpage?
For example: I want to make the embedded webpage look rounded, just like the following performance
Embedded web pages display rounded corner styles

The current embedded page display style is as follows:

Question 3:
Use the following syntax:
![height:800px](https://12bit.vn/)

![height:800px](https://www.youtube.com/)

![height:800px;profile:account-1](https://www.youtube.com/)

An error will appear in the editor:

The latest version: 1.81
Obsidian: 1.35

All web page styles and image resources failed to load. . . 😂

look like we have a big trouble with Japan website. I think this issue should be resolve by VPN, and some website prevent tobe embedded. In this case, 3rd party service should be used, like hidemyass.com. I can not fix that issue from the plugin.
It's a good idea, I will find a way to allow you to custom CSS
it's normal behaviour, because I override the default behaviour of the editor. I will try to fix it

Previously in version 1.30 there was also a problem with Japanese website images not loading, but later you fixed this problem.

There are actually a few more features that need to be added for this plugin to work fully, so I'll sort it out and send it to you later. Thank you for providing such an excellent plugin.

about the Japan website. Do you remember what is the solution? I just added support for useragent:

https://github.com/nguyenvanduocit/obsidian-open-gate/issues/8
You can compare the code of 1.3.3. This version solves the problem that the image resources of the Japanese website cannot be loaded. Then compare it with 1.8.1 to see which key codes are overwritten or lost.

A good reference to the 1.3.3 code will definitely solve this problem😜👍

about the Japan website. Do you remember what is the solution? I just added support for useragent:

The following syntaxes are not supported. . .
![height:800px](https://www.youtube.com)

it's really complicated to support these parrams in short syntax.

I think it should be possible to change the following line
useragent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Write it into the JS function and call it!

I am not sure
![height:800px](https://www.youtube.com/)
How does this syntax work.

Don't worry, think about it slowly, you should come up with an ideal solution:
The console gives the following error:
to load resource: net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin
R_BLOCKED_BY_RESPONSE. NotSameOrigin 403
These should be the main reasons why Japanese website images and website style resources cannot be loaded!

There should be no use of the following line
useragent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
way to solve the current problems.


Longhorn instance manager is leaving zombie processes

Longhorn 0.7.0 leaves zombie procs when volumes are attached/detached.
The following example can be observed on nodes running the longhorn instance manager.
The PPID of each proc belongs to longhorn-instance-manager --debug daemon --listen <IP_ADDRESS>:8500
4     0  5407 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0  5872 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0  8646 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0  9679 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 11014 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 11718 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 14331 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 14384 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 16206 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 16233 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 17187 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 19897 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 21617 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 24606 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 25391 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>
4     0 28978 24127  20   0      0     0 -      Z    ?          0:00 [sleep] <defunct>```

It should have been fixed in v0.7.0 engine as #795 . We've introduced tini as pid 1 to reap the process properly. Can you describe the reproduce steps?

I saw the original bug, so I was surprised when all these zombies started turning up.
In our specific test case, they are happening when workloads in Rancher are redeployed frequently to test startup container functionality.
During redeployment, the pods hang for a few minutes with multi-attach errors, before eventually restarting.  I don't know if this has any bearing on the matter.

@namuch I know there might be a lot going on, but can you briefly describe the steps? Also, are you running the command on the host or inside the instance manager container? And what command you ran?

To reproduce:

Count zombie procs on node where workload is deployed: ps axl | grep defunct is what I use.

Redeploy the workload in rancher ui by either upgrading or just a simple redeploy from menu.

Count zombie procs again on both the node the workload was originally on, and the node that workload got re-assigned to (if it was different)

In my test cases, all nodes involved in the upgrade/redeploy leaves at one (sometimes 2, but appears to be random), new zombie proc each time.

Thanks @namuch . I am able to reproduce the issue.

Fixed as a side effect of https://github.com/longhorn/longhorn/issues/880 .
Can be verified using the reproduce steps above.

Validation: PASSED

Running Longhorn v0.8.1 i as well get a lot of zombie processes. Running k3s on a single node.
The parent process looks as follows:
root      6992  6402  1 05:59 ?        00:02:18 longhorn-manager -d daemon --engine-image longhornio/longhorn-engine:v0.8.1 --instance-manager-image longhornio/longhorn-instance-manager:v1_20200301 --manager-image longhornio/longhorn-manager:v0.8.1 --service-account longhorn-service-account
No specific action has been done... just wait to get more and more of them.


Do not set underflow flag on eos

Summary: Underflow flag should not be set if Eos, this avoids rialto cancelling an underflow on recovery from a seek.
Type: BugFix
Test Plan: YouTube Cert Tests, Unittests
Jira: RIALTO-180

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/1304/ started

https://jenkins.code.rdkcentral.com/job/github-triggered/32205/ started

https://jenkins.code.rdkcentral.com/job/build-component/68962/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/2242/ started.

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/5337/

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/5336/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/5338/


[Bug][deployment] bind 80 failed for config-ui container with containerd

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Deploy with the master branch (using helm), Kubernetes 1.24 using contained, and seems contained does not support bind with 80/443 by default settings.
So prefer to use 4000 port for config-ui container. This will keep the same settings as dev, and it will not require privileged users for bind the port.
ref: https://github.com/containerd/containerd/issues/2516
Error for config-ui container:
[root@nuc ~]# kubectl logs  devlake0-ui-67ccb4cf4b-6wwk7
2022/06/21 17:46:06 [emerg] 12#12: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
[root@nuc ~]#

What you expected to happen
Hope nginx could run with non-root user in any container environment.
How to reproduce
helm install or kubectl apply yaml under Kubernetes with contained, and check the config-ui's pod's log.
Anything else
N/A
Version
main
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for reporting the issue. I'm looking forward to your PR.

Fixed by #2375, will be released v0.12.


Install error

I installed the plugin on my localhost-site running the latest grav-version with receptar-skeleton. Once installed the event-plugin it gives me an error "Undefined variable: eventPages"... see attachment
Can you help me?

I've pushed a hotfix solving this with v1.0.8. You can install via git or wait until the update hits the Grav site.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_03ce81ba-1d31-4140-8b9c-979591ba6a6d/pull/1 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target_03ce81ba-1d31-4140-8b9c-979591ba6a6d.git

Docs Build status updates of commit 1cd6e75:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-ServiceAccountCannotAccessRepository] Your repository https://github.com/VSC-Service-Account/docs-archive-test-source has enabled Docs Build service account. It seems that at least one of the accounts, e2ebd4, does not have Read permission to the repo. Please ask your repo admin to grant correct permission to service accounts (refer to this document: https://review.docs.microsoft.com/en-us/engineering/projects/ops/engdocs/how-to-grant-service-account-permission-in-your-repository?branch=master#ops-e2e-ppe) and then retry the build. Don't know who to contact? Refer https://repos.opensource.microsoft.com/VSC-Service-Account/repos/docs-archive-test-source/permissions/ to get admin list of the repo if the repo is in one of the organizations Microsoft owns.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[0.0.5] No energy output (Ender IO Capacitor Bank)

Energy can't be pulled from an Ender IO Capacitor Bank used with a Remote Interface, but it can be pushed into one
https://u.pomf.is/ghaqrt.png

It won't passively push energy through a Remote Interface, but one should be able to pull


python3Packages.falconpy: init at v1.4.6

Adding Crowdstrike's SDK falconpy
https://github.com/CrowdStrike/falconpy
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365455

aarch64-darwin

:white_check_mark: 4 packages built:

python311Packages.falconpy
python311Packages.falconpy.dist
python312Packages.falconpy
python312Packages.falconpy.dist


[ELE-422] Exclude packages models from dashboard

Is your feature request related to a problem? Please describe.
Today the dashboard includes data about the Elementary (and other packages models).
Elementary are not controlled by the project owner, so no reason to show in the report.
However, some packages are part of the owner's dbt project (practically, not technically) so other packages should probably be subject to configuration with exclude as default.

Additional context
Slack thread - https://elementary-community.slack.com/archives/C02CTC89LAX/p1676892610316469
(Willi Mueller, leila)
ELE-422

How common is it that dbt users define other projects as packages?
When doing so, do they not generate report for the other projects?
Because otherwise we could claim that they'll see it on the other reports.

Updating that from 0.7.3 the Elementary models are excluded.
About your questions @elongl -

We saw several users, mostly in big envs, managing their dbt project in packages. It's a way to manage "different repos" without the downsides of different projects. it's their way to overcome the fact dbt doesn't support multi project yet.
No. They use it as a single project.

Hi, I'm just introducing elementary in a new project for a new customer 💫
Just like 10 months ago I stumbled upon this issue. I've got 9 models and 8 of them have tests, but the dashboard shows that 16 don't have any tests. What could be the reason?
From my point of view, just excluding all external packages would be great and would prevent new users from doubting the edr report.
After running edr report for the first time, I am surprised that so many tables are not tested. However, the tables not tested come from packages other than mine.
My packages:
packages:
  - package: dbt-labs/dbt_utils
    version: 1.1.1
  - package: calogica/dbt_expectations
    version: 0.10.1
  - package: elementary-data/elementary
    version: 0.13.0


Improve ergonomics

Add model objects for the most commonly used elements of the Phenopacket Schema support autocompletion, and to improve ergonomics.
The ergonomics improvements should include something similar to Phenopacket tools, where we can set sex, karyotype, age, vital status, etc. directly on the individual.

closing because of PR #92
Let's see how this interacts with the rest of the library and then we can extend as needed.


Allow overriding the pricing provider type

What
Allow overriding the pricing provider type in the custom pricing configuration file.
Why
This allows us to provide the costModels for any provider directly through the configmap in the helm chart. For example, the aws provider and spot feed information could be configured with a values override that looks like this:
opencost:
  customPricing:
    enabled: true
    provider: aws
    costModel:
      awsSpotDataRegion: us-east-2
      awsSpotDataBucket: my-spot-bucket
      awsSpotDataPrefix: spot_pricing_prefix

My hope is this simplifies Cost Model configuration for all providers by providing a straightforward path to configure it directly through the helm chart.

You'll need to rebase and we should circle back on the documentation to add a section on custom pricing (beyond just on-prem).


Generate initial models for XGBoost Standalone models

Generated initial XGBoost models for the following:

XGBoost Model for TrainTestSplit for Container Level (IRQ + BPF Features) (Summation Package Power Label)
XGBoost Model for KFoldCrossValidation for Container Level (IRQ + BPF Features) (Summation Package Power Label)
XGBoost Model for TrainTestSplit for Node Level (IRQ + BPF Features) (Summation Package Power Label)
XGBoost Model for KFoldCrossValidation for Node Level (IRQ + BPF Features) (Summation Package Power Label)

These models will be used in for the Golang Model Repo.

This is great! Thanks for making these models!


Lazy Query or option to pause query

It would be nice to have the option to use lazy queries, or skip queries

Yes!  Otherwise we basically end up having to code "hacks" around running queries if we want to run queries on certain events - like search form submission, etc.

supporting @skip is definitely something I'd like to address. Until then, you should be able to use a component inside of an #if block to pull this off.

True, we can do that alright. And it's pretty much how I ended up working around the limitation.
But some @skip or lazy query in general would be fantastic in the long run!

Any updates on this feature?

@endigma not yet! I've been totally consumed by the store API but once that's in place, I'm going to get back to working through these tickets. If you wanted to take a shot at it, I'd love to provide any guidance you need. Feel free to reach out on discord if you want a more direct method of getting ahold of me

Thinking about this some more, I think the store api was basically “lazy queries” in disguise. Now that there is a way to programmatically interact with a query you can use it wherever you want. I’ll leave this open for a bit longer in case you think of something I missed

I'm pretty convinced now that the store api satisfies these needs. The only thing that's really "missing" is the ability to define the lazy query inline but I think that's a separate feature


Add JMusicBot Template

https://github.com/jagrosh/MusicBot

v1 will no longer accept new templates. If you wish to re-open this with v2, we'll be glad to look at it again.


Update to 3.1.5

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

When defining a source/url please add a sha256, sha1 or md5 checksum (sha256 preferably).

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Please close and redo from your fork.

Also please re-render with conda-smithy version 1.3.2. This is to handle a change on Travis CI where the default image was bumped from 10.9 to 10.11. The re-rendering will set the image back to 10.9. However, the image is set to expire soon so we will need to change again in the near future.
xref: https://github.com/conda-forge/conda-forge.github.io/issues/249


Performance regression of regex-automata from 0.2 to 0.3.1

What version of regex are you using?
regex-automata 0.3.1
Describe the bug at a high level.
I'm using regex_automata::dfa::dense::Dfa<Vec<u32>> for tokenization. Upgrading it from 0.2 to 0.3.1 will cause >100% performance regression on large files.
What are the steps to reproduce the behavior?
I simplified the original code to a single DFA in a single file: see this gist.
The input file BENCH_FILE is from all-packages.nix of NixOS/nixpkgs which is about 1.3MiB.
Benchmark command: BENCH_FILE=/path/to/all-packages.nix cargo run --release -- --bench
What is the actual behavior?
The results from both versions are the same, while 0.3.1 costs +211% more run time without LTO, or +77% with LTO.
What is the expected behavior?
No significant performance regression.

Without LTO, I was able to get it down to:
$ BENCH_FILE=all-packages.nix ./target/release/i1029 --bench lex_0_
Gnuplot not found, using plotters backend
lex_0_3                 time:   [5.1468 ms 5.1512 ms 5.1559 ms]
                        change: [-0.7741% -0.6408% -0.5166%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe

lex_0_2                 time:   [3.6026 ms 3.6069 ms 3.6114 ms]
                        change: [+0.2592% +0.4406% +0.6263%] (p = 0.00 < 0.05)
                        Change within noise threshold.

And then with LTO:
$ BENCH_FILE=all-packages.nix ./target/release/i1029 --bench lex_0_
Gnuplot not found, using plotters backend
lex_0_3                 time:   [5.1701 ms 5.1730 ms 5.1758 ms]
                        change: [+0.3135% +0.4220% +0.5280%] (p = 0.00 < 0.05)
                        Change within noise threshold.

lex_0_2                 time:   [3.2121 ms 3.2148 ms 3.2175 ms]
                        change: [-11.009% -10.873% -10.746%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

The problem, without LTO, was that there were several functions not getting inline that really ought to be. I fixed that with inline(always) annotations. As expected, that make the without LTO and with LTO timings become much closer. But regex-automata 0.2 is still faster.
The underlying issue here is that this is a latency benchmark, and I've generally prioritized throughput. I'm open to improving latency, but it's quite tricky to do. regex-automata 0.2 was never intended for anyone to use, so I don't really consider it a reasonable baseline. It was in a half-finished state and I published it (with a giant warning) to unblock some folks that really wanted it published.
One of the things that changed between 0.2 and 0.3 was a lot of polishing with respect to the APIs around search configuration, such as how to compute start states, whether to run anchored searches and so on. This has likely had a sub-optimal impact on overall codegen from a latency perspective. It's not quite clear to me how to win that back. There's a penalty being paid here for the abstraction and configuration offered by the crate.
I will note that you do technically have an escape hatch here. You can write your own search routine because the lower level DFA routines are all exposed. It was a specific design goal that all of the routines used by a DFA find_leftmost_fwd search could be implemented in terms of public APIs without penalty. Which means you can write the specialized code you need. This is basically my justification for prioritizing throughput so much higher for latency, because while inconvenient and more difficult, you have options:
pub fn lex_0_3_manual(src: &[u8]) -> Vec<(u32, u32)> {
    use regex_automata::{dfa::Automaton, Anchored};

    let dfa = &*DFA03;
    let start =
        dfa.universal_start_state(Anchored::Yes).expect("no look-around");
    let search = |haystack: &[u8]| -> Option<(u32, usize)> {
        let mut sid = start;
        let mut mat = None;
        for (i, byte) in haystack.iter().copied().enumerate() {
            sid = dfa.next_state(sid, byte);
            if dfa.is_match_state(sid) {
                let pid = dfa.match_pattern(sid, 0);
                mat = Some((pid.as_u32(), i));
            } else if dfa.is_dead_state(sid) {
                return mat;
            }
        }
        sid = dfa.next_eoi_state(sid);
        if dfa.is_match_state(sid) {
            let pid = dfa.match_pattern(sid, 0);
            mat = Some((pid.as_u32(), haystack.len()));
        }
        mat
    };

    let mut out = Vec::new();
    let mut offset = 0;
    while offset < src.len() {
        let rest = &src[offset..];
        let Some((pid, match_offset)) = search(rest) else {
            offset += 1;
            continue;
        };
        out.push((pid, match_offset as u32));
        offset += match_offset;
    }
    out
}

And the results:
$ BENCH_FILE=all-packages.nix ./target/release/i1029 --bench
Gnuplot not found, using plotters backend
lex_0_3_manual          time:   [3.5157 ms 3.5174 ms 3.5192 ms]
                        change: [+0.0507% +0.1035% +0.1611%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe

lex_0_3_api             time:   [5.1145 ms 5.1183 ms 5.1223 ms]
                        change: [-0.5894% -0.4813% -0.3867%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild

lex_0_2                 time:   [3.5836 ms 3.5923 ms 3.6010 ms]
                        change: [-0.9221% -0.6103% -0.2693%] (p = 0.00 < 0.05)
                        Change within noise threshold.

(I also get a small improvement if I use Automaton::next_state_unchecked, but it's small and might not be worth the use of unsafe. It depends on your risk tolerance.)
I put up #1030, which adds the inline(always) annotations to make the out-of-the-box perf better.
I'm open to folks trying to further optimize the out-of-the-box experience, but I generally consider "you can drop down and fix this yourself" to be good enough here.

This is "fixed" in regex-automata 0.3.2 on crates.io. (As in, find_leftmost_fwd is now about on par with LTO perf even when LTO is disabled.)

Thanks for the fix and advice. Well, I still have some questions.

The underlying issue here is that this is a latency benchmark, and I've generally prioritized throughput.

What's the difference between "throughput" and "latency" in case of regex matching? Does "throughput" mean the total time cost of searching all matched strings on a large haystack? My scenario is kinda like it I guess?

There's a penalty being paid here for the abstraction and configuration offered by the crate. I will note that you do technically have an escape hatch here. You can write your own search routine because the lower level DFA routines are all exposed. It was a specific design goal that all of the routines used by a DFA find_leftmost_fwd search could be implemented in terms of public APIs without penalty.

So basically the extra cost comes from configuration APIs. But the bench code has only one configuration and a single entry call, the configuration checks should be eliminated by LLVM easily (via constant propagation). The fact that it fails surprised me a bit.

So basically the extra cost comes from configuration APIs.

That's my best guess. I may be wrong. Maybe some of the changes just resulted in a shift that led to sub-optimal shift that could be recovered by moving things around.

The fact that it fails surprised me a bit.

Not me. LLVM isn't magic, but it is mostly a black box to me. It doesn't cut through layers arbitrarily.

What's the difference between "throughput" and "latency" in case of regex matching? Does "throughput" mean the total time cost of searching all matched strings on a large haystack? My scenario is kinda like it I guess?

A latency benchmark is one in which the total runtime is dominated by constant factors. In this case, each individual search mostly reports matches of very small length. Therefore, the total time spent in the core search loop is relatively small compared to the costs needed to get to the search loop in the first place. That is, you're mostly measuring the costs required to start and stop a search.
Usually latency benchmarks are indicated by a high match frequency relative to the length of the haystack. This in turn does indeed mean that most searches on small haystacks are latency benchmarks. But not exclusively so, as in this case.
Popping up a level, my suspicion is that there might be a better way to wire up the task you're doing here. But it might require changing how you lex things. If I were doing this task, I might explore making the lexer match all portions of the haystack so that there is no "didn't match, so let's retry the search at the next offset." Then you might be able to just zip through the haystack without running distinct searches and just reporting matches as they're visited in the underlying DFA. But I ran out of energy to go down that path because I didn't want to start changing the task. And it's just a guess. It's not obvious to me it will be faster.

If I were doing this task, I might explore making the lexer match all portions of the haystack so that there is no "didn't match, so let's retry the search at the next offset." Then you might be able to just zip through the haystack without running distinct searches and just reporting matches as they're visited in the underlying DFA.

Oops, that's accidentally introduced by the benchmark simplification because some patterns are removed. My original code already matches on every current offset as long as the input is syntactically correct.
You can change DQUOTE and QUOTE2 lines to following, then try_search_fwd/find_leftmost_fwd always returns Some on each starting point.
        DQUOTE = r#""[^"]*""#,
        QUOTE2 = "''([^']|'[^'])*''",

0.3.2 did make the without-LTO version performs almost as fast as LTO-ed version. Here I only benched LTO=fat version with 0.3.2:
lex_0_3                 time:   [7.2891 ms 7.2934 ms 7.2986 ms]
lex_0_3_manual          time:   [4.6289 ms 4.6309 ms 4.6332 ms]
lex_0_2                 time:   [4.2605 ms 4.2636 ms 4.2672 ms]

There seems to be only little difference if each search always return Some (7.6850ms before, with retry), and is still +78% slower than 0.2. The manual version does perform better and I'll use it for now.

To be clear, my suggestion wasn't just to make a search always return Some. It was to do that and find a way to traverse the automaton in one pass without starting and stopping a new search for every token. This might require more changes than just making the DFA match every part of the haystack. It's just an idea.


Improve validation especially for E2E tests

Included modifications

make e2e tests to binary for using options for the execution

execute various modes of E2E tests on CircleCI with the options.

build a validation queue system
improve error handlings

Finally I merge this.


🛠 Backend Setup & Database Configuration with ERD Diagram

This PR sets up the backend and configures the database with an ERD diagram for visualization. Utilizes seeds.rb file for city management, handling this task on the backend rather than the React side.

[x] Add migration data
[x] Add models and relation between them
[x] Add cities in seed.rb to populate the database with city data

Review Note:
The ERD design effectively represents database structure and relationships.

👥 Team Note: All team members are requested to review the migration or database to ensure a smooth process forward, avoiding the need for later edits.

@ometman I appreciate the input. I'll definitely consider updating the naming convention


Fix: Output file not properly handled

The issue of output directory facing error occurred due to the assumption that the "OUTPUT_DIR" variable always contains the full path to the output directory. So, when specifying a subdirectory as part of the command-line argument for the output file (-o option), this assumption breaks.
With this modification, the code will properly handle the output directory structure, whether it's a full path or a subdirectory provided by the user as a command-line argument. This should resolve the "Directory not found" error.

I just issued a PR but found this already here.
However the problem with this PR,
If a sub-directory is provided as in the issue, eg: "sample_data/results"
The program creates only the "results/" directory, not "results/sample_data", causing the error. But we need results/sample-data directory to be created. So I have created another PR to create as many sub-directories as required.
you can check that out and improve on that if you want :)

I will close this PR


Update Copyright to "the KubeVirt Authors"

What this PR does / why we need it:
The current state of copyright statements in file headers is a mixture of "the KubeVirt Authors" vs. company XYZ. Since the authors, initial creation year and year(s) where the file has changed can be looked up in much more detail by looking at the Git history, let's simplify the lives of all contributors by removing the year entirely and just put "the KubeVirt Authors" into the copyright notice.
For everyone interested in statistics: CNCF generates nice contribution stats for KubeVirt, one example is the company contributions table, lots more to find there.
References:

the KubeVirt license
the Linux Foundation recommendation for reference.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

Update Copyright to "the KubeVirt Authors"

/uncc

I like the approach but I am afraid that this will generate a huge number retest cycles to be merged.
How about do it step by step? Maybe using a issue to track the different sections?
An example could be:

production code
test code
other tools code

Just an idea

/test pull-kubevirt-generate

@dhiller thanks for considering the CNCF stats.
The original template was taken from the license template, and I'm just not sure what legal implications this has.
Daniel, can you please sync with the CNCF (maybe with the help of @aburdenthehand ) to see if this change has a license implication.
Or maybe you did check this already?
Putting this on hold until this point has been clarified
/hold

I have reached out to CNCF for clarification.

CNCF confirmed that this section of the Linux Foundation recommendation applies here:
"Don’t change someone else’s copyright notice without their permission

You should not change or remove someone else’s copyright notice unless they have expressly (in writing) permitted you to do so. This includes third parties’ notices in pre-existing code."

So before we make any changes on this we need to get written permission from Red Hat, IBM, and NVIDIA (and others if I missed someone in my search). I can start tracking down people to provide said permission if we can't to pursue this. The alternative would be to leave as is and add a recommendation that future work is copyrighted as KubeVirt Authors and we enforce that in our reviews.

CNCF confirmed that this section of the Linux Foundation recommendation applies here:
"Don’t change someone else’s copyright notice without their permission

You should not change or remove someone else’s copyright notice unless they have expressly (in writing) permitted you to do so. This includes third parties’ notices in pre-existing code."

So before we make any changes on this we need to get written permission from Red Hat, IBM, and NVIDIA (and others if I missed someone in my search). I can start tracking down people to provide said permission if we want to pursue this. The alternative would be to leave as is and add a recommendation that future work is copyrighted as KubeVirt Authors and we enforce that in our reviews.

OK, closing this then. Since the feedback was non existing, I assume that people are not interested in their Copyright notice being altered.


Any way of keeping the exsisting column names as they are?

When using dll with capitals in the name for dataclasses anything with capitals gets renamed such as NHS become n_h_s in the dataclass. is there any way of creating the fieldname as they are in the dll?
GBMSM smallint  becomes  g_b_m_s_m: int = None

Also I am seeing the column name order being re-arranged as in the order changes when output to dataclass

@avisual I can implement it as a some setting in create_models() method, something like argument 'no_auto_snake_case=True' - to remove auto formatting to snake case that I use in library
do you think it should be related only to attributes (properties) of classes or also to class names?

if you are generating from existing tables keeping the names the same as originals really helps. I know that the purest of coders would say that fails naming conventions. but then we all work in legacy systems or have no control over some data

@avisual I mean if your table called like 'products' with small case. You want as a result generate class products(): - also in the code? or capitalize it?

arg no_auto_snake_case=True was added in version 0.12.0, version already released - https://pypi.org/project/omymodels/
@avisual can you show the sample with columns re-arrange?  as input sample - output sample?

I will close issue as a stale. If it will be still actual - pls open it again

Sorry had been away on holiday, will try this out today thank you for fixing :)

We could add this option as a flag for the cli e.g. "--auto-snake" set to false by default
just wanted to put this here to remind myself


[Spike] OpenAPI rest client

This spike illustrates using a generated REST client.
Relates to https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1205
Objectives

Develop a REST client module with generated code from the OpenAPI definition, and use it in system tests
Reduce the verbosity, increase the maintainability and improve the clarity of system tests
Ensure the scope of system tests is not integration testing of the controllers, that can be done in specific RestAssured tests
Provide a client module in Maven that can be directly used by end users running on JVM
Dogfood our OpenAPI definition

Results

The org.openapi.generator plugin appears to work reliably as part of the build, and is fast (8 seconds).

The plugin generates an entire gradle project in the build/ directory. We have the option:

Running the plugin manually and committing the files we want, as we are doing for the OpenAPI definition.
Run the plugin as part of every build, and simply add the generated src/main/java folder to the source set.

Since the execution is fast, we opted for the latter option here.

In EDC, we standardise on OkHttpClient and Jackson. The plugin can use various HTTP client libraries and JSON serialisation frameworks. If generating for OkHttpClient, only GSON serialisation can be used. This means that new generated DTO classes must be used on the client side.
The generated DTO classes are mutable, and are created with this style: new MyDto().field1(value1).field2(value2)
An alternative would be to use the native Java HttpClient (Java 11+) and Jackson serialisation. We could then reuse the existing DTO classes. We would then have to refactor existing data management API modules to separate DTOs from services into separate packages.

Decisions

Reuse existing DTOs or generate new DTOs? For quality purposes, my recommendation would be to avoid reusing DTO classes and use generated ones. This ensures that the client behaves exactly and only as specified in the OpenAPI definition, so that the Java client does not have any difference to any other client generated for another language.
Commit generated client code, or regenerate on build? My recommendation would be to regenerate the client on build. This keeps the repo lean, ensures the code is always up to date and does not get manually modified. The time impact is very modest, and should be hardly noticeable in practice thanks to gradle build parallelism and caching.
Choice of client library: My recommendation would be to use the native HttpClient rather than OkHttpClient to maximise portability and reduce client code size (OkHttpClient pulls in Kotlin). Clients who would want the additional advanced features of OkHttpClient would anyway be sophisticated enough that having to regenerate their own client from the OpenAPI definitions would hardly be an issue.

Codecov Report

Merging #249 (9d100b9) into main (9d0ba10) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #249      +/-   ##
============================================
- Coverage     59.15%   59.14%   -0.01%
  Complexity     2824     2824
============================================
  Files           715      715
  Lines         15691    15691
  Branches       1036     1036
============================================
- Hits           9282     9281       -1
  Misses         5990     5990
- Partials        419      420       +1

Impacted Files
Coverage Δ

.../dataspaceconnector/boot/util/TopologicalSort.java
92.85% <0.00%> (-2.39%)
:arrow_down:

Continue to review full report at Codecov.

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


[Deprecation]: Remove internal objects from public API

Motivation
The removal of exported TypeScript types and a hesitance to introduce statically enforceable JSDoc comments means that the package's is even more responsible for maintaining backwards compatibility and a stable public interface.
While the majority of the application's "public interface" is driven through HTML [data-*] attributes and event listeners, there are some Turbo-defined Class interfaces that applications can interact with.
This pull request aims to reduce the surface area of those public interfaces, with the purposes of:

coordinating with consumer applications through built-in classes that the browser provides
limiting the backwards compatibility burden
freeing up Turbo's internal objects to change over time

Summary
The FetchRequest, FetchResponse, and FormSubmission objects are internal abstractions that facilitate Turbo's management of HTTP and Form Submission life cycles.
Currently, references to instances of those classes are available through event.detail for the following events:

turbo:frame-render
turbo:before-fetch-request
turbo:before-fetch-response
turbo:submit-start
turbo:submit-end

Similarly, the turbo:before-fetch-request exposes a fetchOptions object that is a separate instance from the one used to submit the request. This means that any modifications to any value made from within an event listener are ineffective and do not change the ensuing request.
Details
This commit deprecates those properties in favor of their built-in foundations, namely:

Request
Response

The properties that expose those instances will remain as deprecations, but will be inaccessible after an 8.0 release.

Congrats, you're the 1000th PR! You win a prize 💯 * 🔟 🥳


Add type safety to cms-module. Fixes GH-355

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

Fixes GH-355

Please fix the failed tests and lint errors.

please make the pipeline green.


Updated DeployResourceCommand to support TenantId.

Updates DeployResourceCommand to support TenantId.
This is one of two interfaces I would like to introduce for TenantId.
This begins the work to update the various builders to support multi-tenancy in 591
Splitting out into smaller PR's as requested by author.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@Zelldon  This introduces a new interface I would like to apply to the other commands.  If you agree with this approach and the PR is merged, I'll rebase and continue on updating the remaining interfaces.
this is one of two interfaces I want to introduce that deals with tenant ids.  The second one can be seen in the other PR

One more thing could you take a look at the commit guidelines https://github.com/camunda/zeebe/blob/main/CONTRIBUTING.md#commit-message-guidelines
try to use a type prefix for your commit messages, like feat: when adding a feature of refactor: when doing a refactoring.

Updated commit messages to follow guidelines.


Handle no DLSS support error

Display error if DLSS is not supported on the system

Modified one or two lines and added a comment, should be good to go like this


vcf to 23andme conversion

Hi,
Thank you for developing this useful too. However, do you have any plans to implement the conversion of VCF format files to 23andme format?
Thank you.

process_vcf.py should be able to handle this. I will put up an example to do this later.


nvm install lts - tries to install lts.0.0

Issue:
Trying to install "lts" version fails. nvm seems to try parsing "lts" as if it was a version
How To Reproduce:
> nvm install lts
lts.0.0
Node.js vlts.0.0 is only available in 32-bit.
[ C:\WINDOWS\system32 ]  Tue, 08 Feb 2022 19:34:43 GMT
> nvm install --lts
--lts.0.0
Node.js v--lts.0.0 is only available in 32-bit.

Expected Behavior:
Expected to work like it does with nvm install latest:
> nvm install latest -v
Downloading node.js version 17.4.0 (64-bit)...
Complete
Creating C:\ProgramData\nvm\temp

Downloading npm version 8.3.1... Complete
Installing npm v8.3.1...

Installation complete. If you want to use this version, type

nvm use 17.4.0
[ C:\WINDOWS\system32 ]  Tue, 08 Feb 2022 19:43:56 GMT
> nvm list

    17.4.0

Desktop:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19043 N/A Build 19043
nvm version 1.1.7; installed through Chocolate

Additional context:
Work around: nvm install 16.14.0.  Workaround found in:  https://github.com/ampproject/amphtml/issues/17538

You need to update to the newest version (1.19).

Installing/uninstalling versions via aliases was added in 1.18.

@kamack38 is correct, named installations are only supported in 1.1.8 and above.


automate weekly burn-in

Request: automate spinning up a burn-in fleet on a weekly basis, based off most recent besu main commit
Then can run the node analysis tool on these nodes.
Why?

will give extra signal on besu release stability, in between releases

wrong repo


Add OMERO.iviewer page

Adds an OMERO.iviewer page using the Figure page as a template.
Still needs an OMERO.iviewer 'logo' (coloured text) which Liza will provide next week - I've left the figure one in place for now as a place holder (and possibly a new background image for header if Liza fancies making one) but is ready for content review.
It would be good to have a round number of features for the display so suggestions of which one to ditch or for another 3 to add would be good.
Video and release links can be updated when 1.0.0 is out.

https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/iviewer/

Can we come up with 3 more features to get a nice round number for the layout?

https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/iviewer/ updated

I wonder if we want to make more of the features that are not supported in the old web viewer.
A couple that are currently not mentioned are:

Inspect Pixel intensity by mousing over the image
Click on Dataset thumbnails to view images

Other new features which are mentioned could maybe be listed ahead of 'old' features?:

Smooth zoom on tiled images and rotation
Open and sync multiple viewers
Draw, Copy, Paste ROIs
Export ROI pixel intensity as CSV

Thanks @will-moore - https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/iviewer/ looking better now?

Some visual changes here: https://github.com/lunson/www.openmicroscopy.org/tree/style-iviewer
Also, I refactored the layout/include files so that making a landing page like this in the future becomes easier (hopefully).

https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/iviewer/ updated and ready for final review. Thanks for those updates @lunson - looks great :)

https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/iviewer/ and https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/features/view/ updated

@jburel can we merge this and deploy it and then update the video and release announcement link on the same PR as the release announcement for 1.0.0?

@hflynn looks good. let's deploy. We can do that tomorrow morning.


Define new ways to interact the mobs with the player

A firing player is my main bet now.
In the firing scenario the process could be:

Start with something very simple: the player firing small spheres (bullets) from its body
We can add later canyons so the bullets appear from them
We can model later the bullets to be more realistic
When the bullet hits a mob it is destroyed

In order to implement the animation of bullets, we can just create and animation of the bullet crossing the world.
I am researching  a bit how animations can be blended and if the physics animation can be blended with the player animation.

After more thinking about it, using animations for the bullet movement is a bit rigid: you don't control the movement. And for my the pattern is exactly the same than mobs: create a new bullet, point it to a direction and move it. So I will play a bit with this approach. Let's see!

First interesting results playing just with animations:

Thinking more about animations, it is a way to create movements that are easiest to implement than coding them. In Godot you have animations related to properties but also you have other kind of animations:

But it is clear that it is less flexible than developing our custom login for the movement of the nodes. In the case of the bullets, we don't want animations, we want movement of the bullet in the direction in which the player is looking for.

Ok, after some thinking, coding and testing I have the firing working based on bullets scenes.

Next steps:

Add the collision shape to bullets and manage the collision with mobs
When a bullet gets out of the world, remove it
Control the fire frequency
Add a nice material to the bullets

Ok, just pending managing the bullets collision with mobs! Cool! (it is simple)

Ok, time to start firing to mobs with our new weapons :fire: Let's implement the collision logic in the bullets. When a bullet hits a mobs, the mob and the bullet must be destroyed.

Ok, it is working now. To detect the collision between the bullet and the mob, I have added to the bullet an Area (3D), and inside it a ColiisionShape with sphere shape. With it, you can detect when this area has entered inside the mob body. And in this case, destroy the mob.


Norm preserving weights

Need to copy over code from https://github.com/rkansal47/HHbbVV/pull/47 to preserve the normalization after certain systematics.

Solved by #76


Fix re-persisting all emotion elements when saving via backend

I'm currently working on a plugin for a customer, where i need to link elements placed on an emotion canvas and save this mapping to the database. This is so save the connection between an original emotion (element) and the corresponding translated emotion (element). A while ago i realized, that the mapping suddenly gets out of sync, because the IDs of the element entities somehow changed. Reading through the code, i found out, that every time an emotion is save via the backend, all element and their data associations will be purged and re-persisted. Obviously, this will result in a new ID and my element mapping will break.
I was lucky to see, that the API call to save the elements has their old IDs with it. So i re-wrote the saveAction to update existing element entities, persist new ones and delete the removed ones. The data entities will still get re-persisted with a new id, because there is no ID with them.
I would love to see the changes in the core, so i don't need the replace hook in my plugin.

+1

Hi @buddhaCode and thanks for your PR.
This behaviour has changed in Shopware 5.2 to exactly what you need. Since we are releasing Shopware 5.2 in some weeks, there is no need to back-port this behaviour to 5.1.

Great. Love the new code!


VS Code: Shortcuts are not working after Generating Unit Test

Version
v1.30.3
Describe the bug
Platform: Windows
Steps to reproduce:

Have Cody plugin installed in your VS Code editor
Login to Cody with Any user
Make sure there is already code written in Vs Code
Copy code and generate unit test

Observed behavior:
Shortcuts are not working after Generating Unit test
Expected behavior
Shortcut key should work Properly
Additional context
Video link:
https://drive.google.com/file/d/1XqBpesFnbLv2hcpVR8-EtS7Umm-dPTg4/view?t=18

We have verified issue and it is Still repro in latest Build


Simplify the .NET breadcrumb config

Overall, the Learn sites are moving to a simpler, shorter use of breadcrumbs.
Ideally, We'd have nothing but Learn / .NET, but we have hub pages for some areas of .NET:

C#
.NET on Azure
.NET Aspire
.NET Orleans
Architecture guides

In those areas, I have three levels. However, the architecture guides are long-form sections, so those have 4 levels to represent the different architecture guides.

/cc @raprice

@BillWagner One problem with this change is that now if you're on a .NET Framework page like this one, there's nothing obvious to let you know it's .NET Framework-specific. At least with the .NET Framework breadcrumb, there was that visual indicator right at the top of the article.

See for example https://developercommunity.visualstudio.com/t/Clearly-differentiate-between-Net-frame/10204468.


xml.etree error when importing azure.storage.blob

I am using Python 2.7, and have the following statement:
from azure.storage.blob import BlockBlobService, ContainerPermissions
When debugging the Python script in VS 2015 (latest), I get the following error:
copy.Error was unhandled by user code Message: un(shallow)copyable object of type
Clicking "continue" allows you to safely ignore the error, but this still seems like a bug.
(screenshot attached).

cElement tree isn't part of our library, just something we use in Python. Seems like if this is a bug, it's in either Python or Visual Studio. Could you clarify a little more why this looks like a storage issue to you (maybe I'm missing context)?

Hi Matt, see this: https://github.com/Microsoft/PTVS/issues/1218

Thanks Hugues! That looks like the issue, and a potential work around. I'll close this here.