Conda servers don't seem to cache gzip compressed indexes - limiting download speed to 2-3MB/s (compressed)

Checklist

[X] I added a descriptive title
[X] I searched open reports and couldn't find a duplicate

What happened?
Using mamba, I noticed that the maximum download speed of compressed package index jsons is 2-3 MB/s, well below my download speed.
Notably, downloading uncompressed was faster than telling the server to serve gzip.
This suggests that gzip compressed fiels are not cached
Additional Context
This was discussed and investigated at length in the mamba issue, please check this for further details: https://github.com/mamba-org/mamba/issues/2021
I was asked to open here by @jakirkham https://github.com/conda-forge/conda-forge.github.io/issues/1835#issuecomment-1281702037
@jonashaag @wolfv

cc @jezdez

Any progress here? It would be amazing if mamba channel downloads could last only 2s instead of 20s :)

No progress so far, that would be visible here. @barabo can you look into (or redirect to the appropriate person) what's causing this? This smells like a CDN misconfiguration to me

I looked into this a bit last week and couldn't find anything obviously wrong in the CDN configuration for the bz2 compressed repodata files.  It was curious, however, that I couldn't find any record of mamba user agents downloading the bz2 repodata files.  It seems that mamba user agents exclusively download repodata.json files from channels.

In general, though, I think the team that runs the anaconda.org server prefers that users do not download the bz2 repodata because it takes longer for them to generate it server-side.  And since the repodata.json files are generated per-request - they specify that cloudflare not cache them (nor the bz2 files) (cache status=dynamic).
For the cloned channels (conda-forge, bioconda, pytorch, etc) - there's no problem downloading the bz2 repodata - it's just relatively uncommon for anyone to do it.

@barabo yes, we're never using the bz2 files.
This is about the on the fly gzip compression. You might be able to cache the gzip compression to serve the static files faster (just a theory) since the files are not that dynamic (change every 30 min or so)

Although it might not be so simple from some googling around: https://community.cloudflare.com/t/how-to-serve-directly-my-brotli-and-gzip-pre-compressed-css-and-js-instead-of-the-cloudflare-compressed-ones/247288/9

Well, I don't know what to say.  Cloudflare's docs say that they do compress certain content-types by default, and it looks like the repodata.json files are fetched as one of those types.  So, I expect Cloudflare is gzip compressing them.  I don't think we're providing the headers necessary to disable compression.
curl -I https://conda.anaconda.org/conda-forge/linux-64/repodata.json  0.02s user 0.01s system 11% cpu 0.262 total
(base) canderson@carls-mbp-2 mamba % curl -I https://conda.anaconda.org/conda-forge/linux-64/repodata.json
HTTP/2 200
date: Mon, 07 Nov 2022 22:43:43 GMT
content-type: application/json
content-length: 228290132
cf-ray: 766996e68a9413eb-ORD
accept-ranges: bytes
age: 324
cache-control: public, max-age=1200
etag: "2ee6b095b3f5fb9dda17f1b2741201cc"
expires: Mon, 07 Nov 2022 23:03:43 GMT
last-modified: Mon, 07 Nov 2022 22:37:52 GMT
vary: Accept-Encoding
cf-cache-status: HIT
set-cookie: __cf_bm=ogC55_Mnd.vxNKi64N8y5NMwCkAmbTi54a7gOTljyEg-1667861023-0-AR3kbil5B1sYC6XpDoAiJYLvMxpA2RsIw7EMZylo/0xD9tXjEIT2rT9nzlb6g1WQD/kDEGcWitubLaZ10maRNHh7vBC8K0g7ZaJcueAqCibq; path=/; expires=Mon, 07-Nov-22 23:13:43 GMT; domain=.anaconda.org; HttpOnly; Secure; SameSite=None
server: cloudflare

But on the other hand, this section of the page suggests that the provided user agent can determine whether gzip or brotli (or both) will be used.  I wonder if the mamba user agents aren't recognized by cloudflare in an optimal way.  I don't think I have access to inspect how this is done, though.
However, in my local testing, I don't see any performance penalty for using the mamba user agent strings.  I typically am getting 20-40MB down (when downloading the conda-forge linux-64 repodata.json) - regardless of which agent string I provide to curl.

Gzip compression does clearly happen but its on-the-fly nature seems to be the bottleneck.
Maybe it would be possible to explicitly add repodata.json.gz so that cloudflare doesn't need to recompute every time?
Alternatively, one could implement Zstd compressed repodata.json.zst (#648) which @wolfv seems to be happy to accept.
Here's another benchmark showing that --compressed clearly works but has a raw download speed of 3MB/s as opposed to bz2 download which gets a raw speed of 8MB/s. And 8MB/s is the max download speed I have. You (@barabo) seem to be able to get 20-40MB raw download speed for bz2 - but should still only get 3MB/s if you use --compressed. Is that correct?
$ curl --compressed https://conda.anaconda.org/conda-forge/linux-64/repodata.json > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26.2M    0 26.2M    0     0  3059k      0 --:--:--  0:00:08 --:--:-- 3119k

$ curl https://conda.anaconda.org/conda-forge/linux-64/repodata.json > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  217M  100  217M    0     0  4904k      0  0:00:45  0:00:45 --:--:-- 9584k

$ curl https://conda.anaconda.org/conda-forge/linux-64/repodata.json.bz2 > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.8M  100 22.8M    0     0  8372k      0  0:00:02  0:00:02 --:--:-- 8370k

This is where the compression happens https://github.com/conda/conda-index/blob/main/conda_index/index/init.py#L798

I do like zstd and would like to remove bz2 entirely. Conda currently looks for bz2 but doesn't use it which is weird. If we were to support it that function would need to be updated, we'd need a new flag on conda-index, and we'd have to update a glob pattern on our CDN sync.

mamba doesn't use bz2 either and @wolfv has mentioned that he would be happy for zstd to be used by mamba whereas he's not keen on bz2 - so that sounds like a good plan!

Also when's conda-forge going to produce .conda by default?

I'm not quite sure what .conda means in this context, also I'm not a conda-forge person 😀 Maybe @jakirkham or @jezdez know?

When Anaconda.org and the CDN can support them. IIUC that is not the case yet currently (happy to learn I'm wrong).

They should be supported now on anaconda.org and the CDN!

Great! 🎉 For a long time that wasn't the case.
There's some other work that would need to be done on the conda-forge side first ( https://github.com/conda-forge/conda-forge.github.io/issues/1586 )

A separate question is how we would go about converting the existing packages to .conda

cc @beckermr

I would suggest not converting the existing packages

We need to do a bunch of manual testing for .conda packages before we can roll that out. I've put in PRs in many places where the extension is assumed, but for sure we are going to miss things.
I don't have a ton of conda-forge dev time these days, so it has been slow going on my end.

Maybe we could come up with a list of things to do so folks like Cornelius could help?

Sure. See the attached issue. We need PRs to conda-smithy next. I will add a few other items.

I would be willing to invest some time into .conda packages if you can guide me to some open problems that I’m able to work on.
That said, this discussion is off topic, shall we split into a separate thread?
Re gzip compression, IIUC the question of on the fly vs cached gzip responses is still open. I can try to find a setup of Cloudflare CDN that uses cached gzip responses in a personal Cloudflare account and report back here.

I'd like all conda-forge related things to appear in conda-forge repos. So yes, let's move any discussion over there. The next item @jonashaag is a PR to smithy to optionally turn on .conda artifacts

xref: https://github.com/conda-forge/conda-forge.github.io/issues/1586

Result from trying out gzip compression on a personal Cloudflare account: You cannot make Cloudflare use cached/pre-compressed responses. It will always re-compress your files. (Maybe caching works for smaller files, not sure.)
So to improve repodata load times we need to request a pre-compressed file (eg. repodata.json.bz2).
For the selection of the compression format, here's some non-scientific compression benchmarks (b = bzip2, g = gzip, z = zstd):

orig

1

b9
13,9
0,105016637432424

b1
11,6
0,116227201341733

g9
5,8
0,125971405821175

g7
2,3
0,128959094531222

g5
1,8
0,134876966036568

g1
0,9
0,16432670929425

z15
10,5
0,121263110685134

z10
2,0
0,122599202681385

z5
0,8
0,129368847595369

z1
0,3
0,115159940890874

So zstd is the clear winner here. It's interesting that -1 is smaller than -5, it's not a benchmarking mistake. I'm going to report an issue upstream about this.

@jonashaag Good to run a benchmark with repodata.json! zstd is known to be very performant so not a huge surprise ;)
Interesting that zstd -1 performs so well. I guess that's the zstd mode we should use then!
I think your time is for compression? Would be good to have both - zstd is particularly good for fast decompression as well.
You can get higher compression ratios with zstd --ultra -20 but that takes unreasonably long for minor gains.
I'll add a decompression speed benchmark on
curl https://conda.anaconda.org/conda-forge/linux-64/repodata.json > repodata.json

method | decompression time in seconds
-- | -- | --
orig |   | 1
b9 | 13.9 | 2.75
b1 | 11.6 | 2.67
g9 |  0.33
g1 | 0.36
z1 | 0.12
So zstd -1 is the best for compression and uncompression speed, and only loses against b9 by a small margin for compression ratio. Overall very clear result: we should use zstd.

Try zstd -b1 :)

Oh that's neat! Learned something again!
Looks like we'll soon get zst compressed outputs @jonashaag, see https://github.com/conda/conda-index/pull/65
Time to add mamba support 🙃

🤩🤩🤩

Are you already aware of the libmamba solver for Conda?

We decided on zstd -T0 -16 for repodata.json.zst by conda/conda-index. At that level the compression starts to get a bit slow. Decompression is very fast at all levels.
Smaller or private channels hosted on https://anaconda.org/conda may have repodata.json generated on-demand; in that case zstd -1 or -3 might be warranted.

WOW on my home internet repodata.json (uncompressed) curl's to /dev/null faster than repodata.json (compressed). Naturally repodata.json.zst beats them all. Thanks for reporting!


How to configure ulog with different levels?

Thanks for the great library, it's exactly what I was looking for.
I had some problems setting the levels of the logger. It would be great to document how to do this when instantiating through anylogger! I couldn't find any examples here, or in anylogger's docs that would allow you to set a default level for all logs on startup. I have tried the debug style with setting DEBUG from env vars, but that doesn't seem to register.
I understand the default level is info, which seems to work, but how can I change this at runtime?
Here's a minimal 3-file sample where I've tried to log with ulog.
The log.info statement will print, but the log.debug will not.
// ----------------------------------------------------------------------------------
// config.ts

import dotenv from 'dotenv'

export function parseEnv() {
    const conf = dotenv.config()
    if (conf.error) throw conf.error
    return Object.freeze(conf.parsed)
}

// ----------------------------------------------------------------------------------
// .env
log=debug

// ----------------------------------------------------------------------------------
// main.ts
import "ulog"
import anylogger from 'anylogger'
const log = anylogger('main')

parseEnv()

log.info('Logging is easy!')
log.debug('Logging is hard!')

I think I've resolved this. Seems like I was not loading the env vars BEFORE instantiating ulog, so it did not read the log level and just used the defaults.


make the logger and config singleton.

I did not see the necessity to make this change, the improvement is very little, and even introduce bugs. Furthermore,  we need to waste a lot of time write / review the code. please don't do such change again.

I did not see the necessity to make this change, the improvement is very little, and even introduce bugs. Furthermore, we need to waste a lot of time write / review the code. please don't do such change again.

please let me explain why I need this change:

for doing the vmss implementation, I will provide one way to run our cpi as one rpc service, for cleaning up the disk and handle the batching requests. based on that, the config and the logger should be the singleton.
and to seperate the "logger" in our cpi and the bosh cli has its value, our cpi should not be dependent on the "Bosh::Clouds::Config." component, because that the bosh component.
and if you are too busy to review this, feel free go reject the review.

for the logger part, in your rpc service maybe you can't use the same logger with main process: if there are logs posted to its STDERR after create_vm is done, the main process can't quit (it is possible, but I did not try).
for "Bosh::Clouds::Config.", other CPI like aws also uses the same mechanism. it is not needed to decouple this dependency.

I will continue the review, but if the reason is more consolidated, I will be happier.

for the logger part, in your rpc service maybe you can't use the same logger with main process: if there are logs posted to its STDERR after create_vm is done, the main process can't quit (it is possible, but I did not try).
Yes, that's why the logger writtable.

for "Bosh::Clouds::Config.", other CPI like aws also uses the same mechanism. it is not needed to decouple this dependency.

we are azure :)

I will continue the review, but if the reason is more consolidated, I will be happier.

will fill the reason form next time. thanks.


Make releases be draft releases

Fix #486

That is just the URL for where to download the "github-release" binary; it is published on my GitHub and paulthomson is my GitHub user(name).


chai-as-promised: Assertions should return Thenable

Assertions of chai-as-promised should return Thenable (see the official example).
Before the patch
var result = chai.expect(promise).to.eventually.equal(3);
result.then(done); // Property 'then' does not exist on type 'Assertion'.¬

After the patch
var result = chai.expect(promise).to.eventually.equal(3);
result.then(done); // OK

@jt000, @jedmao, @Mischi Would you review this pull request, please?

@jt000 I removed Chai.Thenable and reused PromisesAPlus.Thenable.
Please re-review it.

:+1:  Looks good to me. Thanks!

@jt000 thanks!
@Kuniwak thanks mate!


link to packages broken in provision.md

Just reading documentation I have found that "Cache to necessary packages" link is broken in https://github.com/apprenda/kismatic/blob/master/docs/provision.md#pre-install-configuration

Fixed, thanks!


Properly cancel builds

Builds are not properly canceled when the cancel button is clicked. They re-start at the next run.

I tried to reproduce this issue and found what happens actually -
When you cancel the build , it cancel the build but does not change the button label , for that you need to close the panel once and come back to panel and then it will show delete button and from there you can delete the cancelled build.
do we need to change this functionality ? I mean cancel button label should change to delete button without closing the panel ?? and then we should be able to delete the build there only ??

Yes please. When a build is canceled, the UI should automatically go to such a state:

And when the user clicks on "Show build", they should see something of the sort:

Ii did not get the last part of the comment - as per current set up , cancel build stops the process and when you come back using show build button you see the delete button with stopped processes.

Yes, the last part already exists. Just make sure you keep it that way.

I tried one more scenario -
So if you cancel the build after docker image creation so it cancel the building and successfully deleted the docker container and image which is required so this part is also working fine.

After changes what it does is -

Build the version
modal window will open and will start the process.
On click of cancel build , it will cancel the process and will close the connection and close the panel.
On reopen the panel , we will see delete button and close button.
Using delete button , we can delete the cancelled repository.

Is this procedure expected ?

i did some changes now it is not happening.

Great! Can you push your changes?

pushed the changes and now working fine.Hence closing the ticket.


Updated Docker-Start Command

This command seems to be working more easily.
With the old command, the POC Website was not available.

Multiple ports need to be open and the reverse shell has to connect to it. While this is possible without using the network host flag, it makes it a lot harder for users to do and we already get a lot of issues with people not understanding how to use the program.
Regarding the PoC website not being available? I can confirm it works on my end and also on 3 other peoples end right now. If the issue persists with the website not being available when running the Docker, please open an issue and I will check it out myself. Thanks


Install script

It would be nice to offer a curl-able install script like dep's, e.g.
curl https://raw.githubusercontent.com/bndw/pick/master/install.sh | sh

P="github.com/bndw/pick" ; go get -u "$P" ; cd "$GOPATH/src/$P" ; make ; make install

?

@leonklingele here are some key differences with the install script approach:

Does not depend on Go
Uses a release instead of the HEAD of master

I've never deployed releases to GitHub, do you compile the stuff locally and upload the resulting binaries? If so, I'd prefer to not have such an install script (nor any release binaries at all) as a user shouldn't trust in something he can't reproduce.
Have you tried to make a reproducible build of pick? Filippo's post might be of interest: https://blog.filippo.io/reproducing-go-binaries-byte-by-byte/
What I would want to support is having an install script which first fetches the Go toolchain if none was found (either pre-compiled with checksum ~or download the sources, then compile them~ <- doesn't work, you need a working Go binary to actually build Go by yourself) and then fetches and installs pick as described above. What do you think?

Releases are compiled locally on my machine and uploaded to Github. This task should be offloaded to CI and kicked off with a git tag. You can find this pattern in projects like Envoy.
I am interested in this "minimal" installation script approach for the very fact that it does not require installing anything on the host machine (assuming the host has curl). I agree checksums are important and those checks could theoretically be automated in the install script.
I opened this issue primarily as a bookmark; As I look into this approach more in-depth in the coming weeks, I'll share a proposal for your review.


xInput Icons and fixes bug #30.

Added XInput icons;
Added icon slider in the SettingsScreen; #35;
Slider populates based on an enum for ease of adding new icons in the future;

I'm confused about the reloading. Doesn't it already do that? I just tested on the current version and it works. Is there an underlying issue I don't know about?

I'm confused about the reloading. Doesn't it already do that? I just tested on the current version and it works. Is there an underlying issue I don't know about?

My bad, I had played this mod a while back and ControllerList didn't update back then. I removed that code from the PR.

I hate to be that guy but for the future please keep different bug fixes and features in seperate PRs. I squash merge so it will only appear as one commit.

Would you like me divide these up?

Not sure why Intellij pushed that commit to this branch I made a new branch for that bugfix.

Not sure why Intellij pushed that commit to this branch I made a new branch for that bugfix.


add data core component & tests & docs

Issue https://github.com/basemate/matestack-ui-core/issues/180: Add data component
Changes

[x] Added data core component incl. tests & docs

Thanks for the review @bdlb77 & @borref


Sample to show how to set the username to allow for custom metrics

This allows customers to customize the metrics sent by the client to AWS IoT and includes a sample of how it can be used.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi Tim,
The metric string is used to detect which SDK is connecting to the IoT Core service by the IoT Core team, and is used for internal usage metrics. This change would break that. I would suggest collecting metrics another way.


Clarify which data sources are affected by "maximum number of connections per data source" setting

https://docs.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about#maximum-number-of-connections-option-for-directquery
We should clarify which data sources are impacted by the "maximum number of connections per data source" setting. I believe it only impacts legacy/cartridge based connectors, and not DQ connectors that go through Power Query. If it does impact Power Query sources, there might be a different number of default/max value than cartridge based connectors. The Power BI Desktop team should be able to clarify.

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

ID: 1ed1625f-12a2-5962-2959-696188711efe
Version Independent ID: d8796367-6bd1-c63c-db86-59eb5a66c213
Content: Using DirectQuery in Power BI - Power BI
Content Source: powerbi-docs/connect-data/desktop-directquery-about.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, I'll follow up with the Power BI Desktop team.

The setting applies equally to all DirectQuery data sources, when enhanced metadata is enabled (this is now the default setting). Legacy data sources - for datasets created prior to October 2020, or not updated to use enhanced metadata - are impacted differently. I've included a note to clarify.


Allow cost_managment:cost-model:* role

Currently, the cost models page only tests for the cost_managment:cost-model:write role. This change allows for the cost_managment:cost-model:* role.
https://issues.redhat.com/browse/COST-2816
Prod env using cost-admin:

Codecov Report

Merging #2404 (00b03ea) into main (641e986) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #2404      +/-   ##
==========================================
+ Coverage   70.29%   70.30%   +0.01%
==========================================
  Files         422      422
  Lines        8008     8011       +3
  Branches     1884     1754     -130
==========================================
+ Hits         5629     5632       +3
  Misses       2376     2376
  Partials        3        3

Impacted Files
Coverage Δ

src/store/rbac/selectors.ts
100.00% <100.00%> (ø)

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 641e986...00b03ea. Read the comment docs.


Repo Revival

Stable and Incubator charts are going to be extinct in a year. Would be nice to revive this repo if influxdata has the bandwith to.
https://github.com/helm/charts#deprecation-timeline

@naseemkullah thanks for this! yes, this repo needs some love. let me see what i can do internally to get some of these prs reviewed.

Hi @russorat I was thinking this would be a good opportunity to re write some of these charts entirely with the new v2 charts api (compatible only with helm3)... we can post on the stable repo that as folks transition to helm3 they can use the shiny new charts hereby hosted

there has been a lot of added features to the influxdb chart in stable repo for example that we can port over during this transition, I would gladly help for the influxdb chart as we do use it at my org, I have already signed the influx CLA

@naseemkullah I've already written a Helm 3 compatible chart for InfluxDB 2
I'll get the v1 charts updated too. If you wish to pair on this, I'd be happy to work with you.

Sounds great @rawkode, is that new chart in this repo?

https://github.com/rawkode/influxdb-examples/tree/master/influxdbv2-helm-chart

Looks good, maybe take the opportunity to use recommended labels (matter of preference though) (https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels)  and  add serviceAccount as per https://helm.sh/docs/topics/chart_best_practices/rbac/ ... also stable/influxdb has nice features such a backup cronjob to backup and upload to GCS or Azure Object Store, someone is bound to add for S3 and other storage backends I'm sure.
https://github.com/helm/charts/blob/master/stable/influxdb/templates/backup-cronjob.yaml

@naseemkullah   cc @scottrigby  I'm sorry to reply so late. I'm happy to as a maintainer of stable/influxdb. I think there may an example of how to move the stable/chart https://github.com/jaegertracing/jaeger/issues/1976 .  I agree with the content of this issue. The most important for the end-user is to avoid any broken changes and easy to search in Helm Hub to use.  So, In my opinion, we should follow that.

Any update on the new charts? Wouldn't it be better to have them hosted as a repo: (eg. like cert-manager: helm repo add jetstack https://charts.jetstack.io).
I'm now encountering issues with stable/chronograf:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", so it might looks like we have no longer working options to deploy a tick stack using helm.

Any update on the new charts? Wouldn't it be better to have them hosted as a repo: (eg. like cert-manager: helm repo add jetstack https://charts.jetstack.io).

That would indeed be the plan!

I'm now encountering issues with stable/chronograf:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", so it might looks like we have no longer working options to deploy a tick stack using helm.

I'd suggest opening a PR to the stable repo to update the api version of the Deployment object! That chart definitely needs some TLC.

Hi all,
We know that this is currently very frustrating, but please know that we're actively working on this.
I'm currently traveling to an event, but I'll get the automation in place for the new charts completed in the next 48 hours and get the stable charts moved over and updated.
Thank you for your patience

Np @rawkode ! Enjoy the event.
If you'd like help (in particular if wanting to use https://github.com/helm/chart-releaserand github actions for CI, which work amazingly) I'm sure @scottrigby form Helm would be willing to help with the move!

We've not migrated the stable charts to https://github.com/influxdata/helm-charts
We'll add the repo to the Helm Hub when we've finalised the DNS name we wish to use.
Closing this for now, please open new issues on the new repo :D


It always crash when I add an article

Category
Crash

What is the current behavior?
It could not find the .md file when I write the article in Chinese sometimes .
And then the article will remove automatically .
And I found that it will translate to the PinYin when I add an article ,
for example you add an ‘第一章’ , it will translate to 'di-yi-zhang', is not the 'Chapter1'.
It's not necessary I think ， it's less stable.

What is the desired behavior?

Additional information

And it also remove the article when I synchronize images from assets in windows client .
Be upset and a little disappointed ... I'm also a developer..

Another bug: the output directory didn't have README.md and SUMMARY.md when I run gitbook command build. So I can't run the serve command.


terminal flashes on every non-hjkl keypress in interactive mode

Every time I am browsing search results with any method other than vi-like hjkl keys, my entire terminal screen flashes.
For example, I have pressed C-n/C-p and up/down arrow.
The terminal screen also flashes every time I press backspace inside the prompt to enter a search term interactively.
Despite the annoyance, the desired operation is still successful -- item selection changes / characters are deleted.
I haven't heard an audio bell, but I might have disabled that in my shell settings.
I could disable my shell's visual bell feature, but I will not, because I've never had this issue in any other context.

Version: v0.0.8
Shell: zsh (w/grml)
Terminal emulator: kitty

Good evening and thank you for reporting this.
Could you please provide a screenshot/screencast of the effect you're experiencing (in particular browsing via any method other than vi-like keys)?
I presume this is due to your terminal emulator: does it also happen with others emulators other than Kitty? I do not use Kitty myself but have used the extension of many others without ever experiencing such problem. Moreover, what operating system are you using?


refactor: test:generate-variable-declarations mode

In an attempt to make a fix of #777, I found these difficulties in mode="test:generate-variable-declarations":

The responsibility of analyzing context is dispersed.
The variable names being generated are sometimes hard-coded, sometimes dynamic.
Its code path from the initiator to the outcome is a winding road. Several modes and some temporary nodes are involved.
Its parameters are not named consistently.

I guess this complexity grew over time while integrating the independent test: module into XSpec and splitting XSLT and XQuery.
To mitigate it, this pull request refactors mode="test:generate-variable-declarations":

Now mode="test:generate-variable-declarations" owns the responsibility of analyzing context.
Now the variable names being generated are obtained from test:variable-name().
The intermediate modes/nodes have been eliminated.
All the parameters except for the tunnel $pending have been eliminated.

No actual change in the compiled stylesheets/queries.
Besides the automated tests, I manually compared the compiled stylesheets/queries with the current master using this command
for %I in ( test\xspec-node-selection.xspec test\xspec-variable.xspec ) do ( bin\xspec.bat "%~I" && bin\xspec.bat -q "%~I" && bin\xspec.bat "%~dpnI_stylesheet%~xI" )

and verified that only generate-id()-driven variable names were different.

There may be a better refactoring idea; even so, I believe it is better to start from this one than from the current code. So, merging this. I'll soon submit a fix for #777 and ask someone's review.


Enhance vmap to work with nested functions

Let's say I have the following example function:
def foo(a: Array, b: Array, c: Array) -> Array:
    return a + b + c

I need this function to follow the following type signature:
MyType = Callable[[Array], Array]

To achieve this I can use partial:
def bar(b: Array, c: Array) -> MyType:
    return partial(foo, b=b, c=c)

Unfortunately, this way I lose the power of using vmap, e.g. vmap(bar) does not work since the return type of bar is a callable, which is not supported. I can still do vmap(bar(b, c)), however this only vectorises bar w.r.t a, not b and c.
It would be great if nested a callable, which only takes arguments of supported types (like b and c) and ultimately resolves to a supported type is considered valid as well.
Maybe allowing non positional arguments to be mapped could make this work, something like:
vmap(bar(b, c), in_axes=0, in_kwarg_axes={b=0, c=0})

Hi - thanks for the request! I can't see any way that we'd be able to make this work: bar(b, c) is a Python function call that is evaluated, and the result is then passed to vmap. Because of this, there's no way for vmap to interact with the values of b and c that you are passing to bar.
of course, you could pass b and c via an outer funciton that's wrapped in vmap in order for vmap to know about them; something like this:
@vmap
def outer(a, b, c):
  return bar(b, c)(a)

But this is basically re-constructing vmap(f).

Hi, thanks for the fast reply. If bar(b, c) returns a partial object - like in the example - it should know about the keyword arguments b and c. However, I am not sure if vmap can make use of that information or just recognises this as a callable.

Sure, but bar(b, c) returns a partial object where b and c are already bound, before the vmap encounters the values. I don't think there's any way to do what you have in mind without a deep re-design of how vmap works, and my feeling is that the added complexity would not give you much that you can't already do with the existing interface.

I can see that. Thanks for the consideration!


Update data.json

Item added : React Query
Description : React Query is a data fetching library for React applications. It simplifies data fetching, caching, synchronization, and updates by providing a powerful and flexible set of hooks. With React Query, developers can efficiently manage remote and local data states, resulting in improved performance and user experiences.

Hi, please use either GitHub tag or npm versions page source for year created. You can check other items for reference.


Increment version for fluidrelay releases

Increment package version after release of Azure.ResourceManager.FluidRelay

API change check
API changes are not detected in this pull request.


Remove unused variable.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Need one more person to review.

merged to master.


Incorrect formatting for deprecated elements

$subject
E.g. https://central.ballerina.io/ballerinax/googleapis.sheets/3.5.0#Client-appendRowToSheet

How does this happen from Package.md file? These are generated API doc, right?

How does this happen from Package.md file? These are generated API doc, right?

Sorry, my bad. It's not the package.md, it's coming from the annotations in the bal file.

Sorry, my bad. It's not the package.md, it's coming from the annotations in the bal file.

So what is the exact issue here? How can we avoid this?

Sorry, my bad. It's not the package.md, it's coming from the annotations in the bal file.

So what is the exact issue here? How can we avoid this?

The issue occurs in https://github.com/ballerina-platform/module-ballerinax-googleapis.sheets/blob/66907fec1ce68a47e8fa08733dbb8e0918abae0b/ballerina/client.bal#L1142. We have used # which denotes a H1 tag in markdown.
The solution:-
Option 1
We can use ###### and covert it to a H6 tag.

Option 2
Remove the text as we already have the Depreciated label unless there is a message following it.
Option 3
Move the message to top (before the method signature) and show it as a blockquote.

I personally prefer Option 3 as I think the uses should see the depreciation message right away.

These options should not solve the issue since this is how we write doc comments for deprecated items. I think this should be handled from the doc generation side.
@hasithaa any thoughts?

@ThisaruGuruge I agree. I had a chat offline chat with @sm1990 and discussed a possible UX. The idea is to limit the markdown heading based on the context.

Adding @NipunaMadhushan

This issue will be tracked with https://github.com/ballerina-platform/ballerina-lang/issues/41928.

The fix will be available with update 9.

The issue is fixed. The change will be visible from the next version of the connector.


General fixes

It fix the follow issues:
https://github.com/solettaproject/soletta/issues/1718
https://github.com/solettaproject/soletta/issues/1662
https://github.com/solettaproject/soletta/issues/1759

PR seems good to be merged

thanks


Param passing prototype: Retrieve specified element

Retrieves the elements specified in //include/experimental:params using the proposed element identifier

There are a number of SDF test file changes which didn't seem to be used by the code in this PR. Are those changes needed?

Which changes are you referring to?

There are a number of SDF test file changes which didn't seem to be used by the code in this PR. Are those changes needed?

Which changes are you referring to?

There are a number of SDF test file changes which didn't seem to be used by the code in this PR. Are those changes needed?

Which changes are you referring to?

Never mind, I didn't follow all of the inclusions in the SDF files.

There are a number of SDF test file changes which didn't seem to be used by the code in this PR. Are those changes needed?

Which changes are you referring to?

Never mind, I didn't follow all of the inclusions in the SDF files.


refactor(coral): Improve legibility by renaming domain handlers

What is this about?
This PR (https://github.com/aiven/klaw/pull/1509) sheds light on a growing ambiguity in our naming conventions for the POST API handlers we define in domain:

some will create request to create entities: createConnectorRequest, requestTopic, for example
some will create request for actions on entities which have been created by the above requests: editTopic, promoteSchemaRequest for example
some will act directly on requests that were created in the above two categories (no request is created, the action is directly applied): deleteSchemaRequest, declineTopicRequest for example

As seen in the example provided, the naming is not consistent, and  on top of the presence of Request in many of them, leads to confusion.
How could this be improved?
We should:

establish a naming convention for these API handlers
write documentation about this convention
update all the ones that we currently have in domain
apply the defined convention in the future

Possible naming convention
{action}{entity}Request
Only use Request as a noun when the API handlers fires an action against a request entity, with the structure {action}{entity}Request.
Example: deleteTopicRequest, approveTopicRequest
request{entity}{action}
Only use request as a verb when creating a request against a created entity, with the structure request{entity}{action}.
Example: requestTopicCreation, requestConnectorDeletion, requestTopicPromotion, requestTopicClaim
{action}{entity}{optional category?}
Do not use Request or request for direct actions, with the structure {action}{entity}{optional category?}. This is an infrequent case.
Example: updateTopicDocumentation
Is this a feature you would work on yourself?

[ ] I plan to open a pull request for this feature

@programmiri I would be grateful for your feedback on the proposed naming conventions ^^

request{entity}{action}

I'm indecisive if we should even keep the "request" in here.
The "main" action (from a user perspective) is to e.g. create / edit / delete a topic. For this to happen, there will be a request created that needs to be approved, but is that important at this state? Not using "request" for actions that are not fire against a, well, request :D would make understanding of our api in domain easier. Mixing up "requestEditTopic" and "editTopicRequest" is still very easy.
On the other hand, it's technically more correct to have it in - users don't create a topic at this point, they request for a topic to be created. But may that could be made a bit more clear when we add better documentation (aka comments) to our api functions?

Yes, I was also not sure about the request{entity}{action} convention. But I think it is probably worth it so that we stay strictly correct in our naming. I think that the intent and the difference is clear enough between requestTopicEdit and editTopicRequest.
If we had editTopic and editTopicRequest, then the confusion would be that editTopicRequest create a request to edit a topic, as my brain processes it :o

I think that the intent and the difference is clear enough between requestTopicEdit and editTopicRequest.

I don't know 😂  It's the same words in different order! It's very confusing. But it's similar confusing in the other option, like you described.
I think either way we've to document it better then it is now and also see that the naming of our files etc. matches.
request{entity}{action} does describe better how klaw works, so yeah I think we should use it!

It's the same words in different order!

Hahaha but the operative verb is different! I feel like this is the important part in a function ^^
I also think these names help the "Klaw mental model" of the person looking at the code. It's all about the requests!


Implement s.split() for Stream + Sink

Basically, this replaces tokio_core::io::Framed::split, it's unclear why framed needs specific implementation instead of generic one like this.
Also, I think we should remove Stream and Sink for BiLock<T> in favor of this idea. I don't think using Stream on both instances of the same BiLock is generally useful.

Yeah let's go a head and remove the impls directly on BiLock itself, this makes more sense to me 👍

Also we tend to prefer let (tx, rx) = foo() for pair-returning methods, so perhaps the order of the return value could be swapped?

I have to admit that we use (tx, rx) for things returning channel. This use case is quite opposite. However, it may happen that split() is useful for channel-like things too (not very sure though), and it's still easier to remember if order is same. So, I've changed method to return (sink, stream).
Also fixed indent, rebased and removed Stream/Sink for BiLock.

Okay, last amendment fixes --no-default-features

Thanks!


Update alertmanagersURL to alertmanagersURLs

the value was changed in this PR https://github.com/thanos-io/kube-thanos/pull/164 from alertmanagersURL to alertmanagersURLs. we need to update operator to make it work.
cc @metalmatze
Signed-off-by: clyang82<EMAIL_ADDRESS>

if this is an array of strings, I would suggest instead naming this alertmanagerURLs as it is multiple URLs for the alertmanager component.
if it is instead supposed to be an array of an array of strings, then the double plural would make sense

I think it is an array of strings, but why it is naming --alertmanagers-url in thanos rule, i guess alertmanagers means alertmanager cluster even if it is just one url.

The --alertmanagers.url flag can be specified multiple times to provide multiple Alertmanagers. I think that this naming is quite confusing. The normal pattern for repeatable flag is to name the flag singular and do --alertmanager.url=A --alertmanager.url=B... OR to make the flag plural and allow comma-separated values, e.g. --alertmanager.urls=A,B,C.... I think we could make this clearer in our own CRD by calling it AlertmanagerURLs

Has there been any movement on merging this PR? I recently encountered this issue. Setting the property to alertmanagersURLs  overrides the value in kube-thanos as expected.

@squat Are there any updates? Would you have time to re-review this?


[fine_tuning] testing: test: apply the cluster-profiles even outside of the pure bare-metal clusters

Before this PR, the metal_profiles field was used to apply cluster-specific CI presets when a given bare-metal cluster was detected (by searching a known node name in the cluster nodes). This worked only for BareMetal cluster infrastructures (and no defined infrastructure).
Running in a bare-metal cluster without a cluster-profile would raise an exception, so that the cluster name/type is always set via the custom profile. The reason for that is that the cluster type is a critical value to include in the test KPIs.
With this PR, the metal_profiles are always looked up and applied (if found). But the exception is still raised only if no cluster profile is found in a baremetal cluster.

@albertoperdomo2 , can you let me know if you agree with this PR?

@kpouget LGTM! 👍🏽


Update sites.yml

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[x] I have included a link to the GTMetrix report
[ x The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain: esmailelbob.xyz
  url: https://en.esmailelbob.xyz
  size: 33.6
  last_checked: 2022-08-02

GTMetrix Report: https://gtmetrix.com/reports/en.esmailelbob.xyz/flbGmJ1X/

Please use the uncompressed size in the listing. Thanks!

Please use the uncompressed size in the listing. Thanks!

Check filesize of whole site or only en.esmailelbob.xyz?


is_layout_initialized always returns false for several image types

@treeki asked me for some troubleshooting with Vulkano, because their image was being garbled after uploading it. We tracked down the API calls with RenderDoc, and found that whenever an ImmutableImage is recorded first into a command buffer, Vulkano inserts an image memory barrier that transitions the layout from Undefined to ShaderReadOnlyOptimal. This happens despite the image already having been uploaded and initialised properly with a separate command buffer/future. I confirmed that Vulkano's "image" example displays this behaviour too.
The ImageAccess trait has a method called is_layout_initialized, which is called by SyncCommandBufferBuilder to figure out if the image needs to be transitioned into another layout on first use. If so, then it inserts the aforementioned barrier and calls the layout_initialized method on the image. But for some reason, ImmutableImage and several other image types leave these two methods at their default, meaning that the former always returns false and the latter does nothing at all. Consequently, it inserts this barrier each time you use the image in a command buffer.
This behaviour has apparently been there since the olden days of Vulkano. So I am quite puzzled how this hasn't caused obvious problems until now, and I'm hesitant to make any changes in case it turns out it was made this way for a reason.

The unnecessary transition from Undefined doesn't seem to break rendering in practice - at least on my current setup (Nvidia drivers on Windows 10), but it does break RenderDoc's replay engine which is a shame as it's very useful for debugging shaders. RenderDoc assumes that the Image has been discarded when it sees the spurious barrier.
I added the following method to the ImageAccess impl for ImmutableImage and it seems to fix the problem in my scenario:
    #[inline]
    fn is_layout_initialized(&self) -> bool {
        true
    }

With that addition, both the Vulkano 'image' example and my own project are now correctly debuggable in RenderDoc.
I don't understand enough about Vulkano's internals to know whether this is definitely safe, though - and it's possible that other types (like SubImage) could be subject to the same issue.


Update README for upcoming 10.21 release

Will push commits for changelog, etc., shortly.

For MPH speed limits you can clarify: 3 themes available to choose from: US, UK and German (default).

Yup, that's mentioned in the changelog - should it be added to the Features list too?

Ah, just looked down into features, it is all there, never mind

Anyone have any issues with me working the main README to look like this (it requires use of HTML tags, the images are stored external to the repo):

Maybe instead of embedding that image, we could make more note of the fact there is even documentation? Quite frankly I didn't know there was documentation until I needed it for DLS...

Yeah, I've already removed the toolbar image it's a bit grim. There's already a link to the docs so that should suffice for now.

Needs another review - just updates to the release notes since last review, see changes tab

One last change to add - don't merge yet


Change development workflow to kubesolo

Kubesolo provides a better development workflow enabling the use of a real kubernetes installation with CoreOS, with kubesolo it's possible to focus on features which aren't enabled on minikube at this time (webhook authentication, network policies).

Implemented at https://github.com/kolibox/kbox


fix problem with install (oauth_clients)

Illuminate\Database\QueryException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laraveldrive.oauth_clients' doesn't exist (SQL: insert into oauth_clients (user_id, name, secret, redirect, personal_access_client, password_client, revoked, updated_at, created_at) values (?, Laravel Personal Access Client, d5pkkk5j22xl15Iy4w0I4HWzs5KAO90pPSe7C8YQ, http://localhost, 1, 0, 0, 2021-04-16 01:35:02, 2021-04-16 01:35:02))

migrate your database.

How is the database migrated?


Convert dotted property names into nested values when Serilog v4's experimental AppContext switch is set

This is experimental functionality not intended for production use. It helps prepare for the possible introduction of . into property names, which Serilog v4 will enable behind a feature flag:
AppContext.SetSwitch("Serilog.Parsing.MessageTemplateParser.AcceptDottedPropertyNames", true);

Log.Information("Running loop {Counter.I}, switch is at {Level}", i, levelSwitch.MinimumLevel);

The sink could transmit these to Seq as-is, but the query ergonomics for dotted names in Seq is poor (@Properties['Some.Name']), so they're converted client-side into structured data.
Seq handles the resulting structured property values, but cannot render these in templates - something this PR may help pave the way for in the future.

Lots of exploration and testing required around properties with partially-overlapping names, pre-rendered substitutions (format strings), etc. etc. :-)
See also https://github.com/serilog/serilog/pull/2063

This has already been implemented, but I still want to chime in because I haven't seen anyone mention OpenTelemetry in the discussion of dotted property names in Serilog and Seq. Seq supports OpenTelemetry traces, now, which has been a real boon for adding span-based tracing to our existing logging infrastructure. It also supports dotted span attribute names, including automatic accordion-style display:

I am interested in aligning property/attribute names across our logs and traces, so e.g. searching for a job ID finds both kinds of data. OpenTelemetry strongly encourages "namespaced" dotted names, but it was previously cumbersome (and inefficient) to do the same with Serilog. It looks like this new feature will make it much easier. Please keep this use case in mind as you consider whether to support dotted names in Serilog in the future!


Removing async void methods

Description
We can find async void methods in the source code. Those methods are associated with fire and forget behaviors. There is no way to wait for their end and response accordingly.
async void methods should be used only for event handling.
Instead, async void should be replaced by async Task.
Concerned code

Whole Solution, there is currently 205 occurences of async void.

Gains

An ability to use await on async methods we could not before.
Removing a code smell of the base.

Requirements

If an async void method is detected, make it into a async Task method.
Be wary of async void event handlers. They can stay as is.

Comments
No response

Is anyone working on this issue? I'd like to try it out, I'm new to open-source.

Is anyone working on this issue? I'd like to try it out, I'm new to open-source.

Yeah, I am new to contributing also

@kianiehsan66 how's it going on this?


Forum Navigation

The Forum feature allows a user to interact with others via online forums. Right now we have no backend so this will be purely UI/UX. We want to showcase the flow of a user interacting with the forum by viewing and creating posts. Below are the specifications of the flow.
Broad Forum Tab
When a user initially clicks on the Forum tab from the home page this is what they see. A bunch of topic tiles that specify the content of the posts within them.
For this tab to be finished all of the following must be ticked

[ ] All the various forum topics

[ ] Clicking on them should lead to the specific forum tab

[ ] UI/UX mostly adheres to current design

Specific Forum Tab
When a user clicks on a tile to find post relating to a certain type of content all of those posts appear here. At this point the user can interact again to view a post or select the "New Post" button to create their own.
For this tab to be finished all of the following must be ticked

[ ] A bunch of fake forum posts

[ ] Clicking on a post goes to the post viewing tab

[ ] A new post button

[ ] Clicking on this goes to the post creation tab

[ ] UI/UX mostly adheres to current design

Forum post viewing
This page appears when a user clicks on an existing post the contents post appear along with comments pertaining to it. This could be empty for now or filled with some random content
For this tab to be finished all of the following must be ticked

[ ] UI/UX mostly adheres to current design

Forum post creation
This page appears when a when a user clicks on "New Post" in the specific forum tab.
For this tab to be finished all of the following must be ticked

[ ] Textbox for post content
[ ] Buttons for posting
[ ] UI/UX mostly adheres to current design

Current Designs

Dropped Feature


bad usage example in README

The README file still suggests using parrot recap, which has been replaced with parrot report.

The same goes for --output_filepath in place of --output-filepath.


Documentation

[x] dependencies on mac and linux
[x] how to install it on mac OS and Linux

Things to document

[x] Generate a document website (that contains the help generated with Jazzy)
[x] Update the readme.md
[x] Landing Page?
[x] Document other related projects
[x] Wiki?
[x] how to use gauaka cli
[x] how to statically compile it

This is done @goyox86


lower case greek spacing inconsistent

You can see here
https://beautiful.makie.org/dev/examples/generated/2d/lines/line_latex_bessel/
that subscripts now seem offset. Standard latex would result in

this may be fixed now... i will do a few more checks, but at least the original reason for opening is no longer an issue


ClipboardCapture not working all the time

I created this rule:
<Sysmon schemaversion="4.40">   <CaptureClipboard />   <EventFiltering>       <RuleGroup name="" groupRelation="or">           <ClipboardChange onmatch="exclude">           </ClipboardChange>       </RuleGroup>   </EventFiltering> </Sysmon>
Started sysmon with sysmon -i myconfigfile.cfg.xml
All good so far.
Then I discovered when I copy something to the clipboard locally on the machine like any random copy/paste, then capture clipboard works fine, the file will get created to c:\sysmon\clip-sid.
But, when I put something on the clipboard over the SSH connection, let's say I use something like this ´ssh<EMAIL_ADDRESS>"set-clipboard -value 'my text'" then sysmon just ignores it even if I call the value by adding get-clipboard like:  ´ssh<EMAIL_ADDRESS>"set-clipboard -value 'my text'; get-clipboard" I do get the clipboard content, but sysmon keeps ignoring. No event, nothing.

Thanks for reporting this - it's a current limitation of how clipboard monitoring works. Please direct any subsequent inquires to the support forum, closing this issue.


fix  markdown error on quick_start.md

Codecov Report

Merging #425 (6447d1d) into main (befabbf) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #425   +/-   ##
=======================================
  Coverage   63.19%   63.19%
=======================================
  Files          66       66
  Lines       10103    10103
=======================================
  Hits         6385     6385
  Misses       3718     3718

Flag
Coverage Δ

rust
63.19% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Tail recursion and garbage collection

Strange it can allocate one run:
$ ulimit -m 2000000
$ ulimit -v 2000000
$ ./tpl -v
Trealla Prolog (c) Infradig 2020-2024, v2.55.18
$ ./tpl
?- ['bomb.p'].
true
?- garbage(12,_).
   true.

But not repeatedly:
?- foo.
   throw(error(resource_error(memory),app/3)).

SWI-Prolog has no problems with the test case,
it somehow can reclaim the annonymous variable term.
Source code:
bomb.p.log

Disclaimer: Maybe the ulimit of 2 Gigabyte is too tight,
I am currently experimenting on my side a little bit. It
depends on how much memory the Prolog terms need.

See also #305

#305 tests possible something different. Between does
not produce a lot of objects during tail recursion,
it only decrements one integer. The between example
might be ok, wherea this example might be neverthelesss
not ok, especially since unlike in the between example,
this example has also "intermediate" variables.
The "intermediate" variable is "_":
foo :- garbage(12,_), foo.

The between example has no such variable. All variables
are either in the head or in the tail recursice call,
making it a more trifivial example than this here.

Here some results on a Lenovo Yoga with
Windows 11 for xbetween:
/* SWI-Prolog 9.3.11 */
?- time((xbetween1(1,1000000000,_),fail)).
% 2,000,000,002 inferences, 72.688 CPU in 72.790 seconds (100% CPU, 27515047 Lips)
false.

/* Dogelog Player 1.2.3, WSL2, JDK 21 */
?- time((xbetween1(1,1000000000,_),fail)).
% Time 160451 ms, GC 4 ms, Lips 24929729, Wall 24/09/2024 17:01
fail.

Dang, still ca. 2x times slower. But no
memory problem at all. Prolog specific GC is
very low, only 4 ms, because the Prolog system
doesn't allocate some logical variables for
this example. The extended neck here is semi-det
builtins, that are already evaluated only using
native stack and no Prolog stack, when the
clause is instantiated:
xbetween1(L, U, N) :- L < U, M is L+1, xbetween1(M, U, N).
                      \---- neck ----/

So overhead in Dogelog compared to SWI-Prolog
is among the fact that it abandons and creates a choice
point in every backtracking. Haven't found a way
yet to elegantly avoid this unecessary effort.

Ok, some progress I guess? Testing on the same machine again,
where I already tested SWI-Prolog and Dogelog Player in this thread:
/*  Trealla Prolog 2.56.35 */
?- time((xbetween(1,1000000000,_),fail)).
% Time elapsed 265.081s,<PHONE_NUMBER> Inferences, 18.862 MLips
   false.


Test with fresh venv

#156

Test each notebook in a separate virtualenv; requires per-notebook ipykernel install
Update pre-commit hook to preserve cell 'scrolled' flag and remove python version info

PR Checklist

[ ] Commits signed: All commits must be GPG or SSH signed.
[ ] DCO Compliance: Developer Certificate of Origin (DCO) applies to the code, documentation, and any example data provided. Ensure commits are signed off.
[ ] Notebook outputs cleared: Ensure all notebook outputs are cleared.
[ ] Automated testing: Add the recipe to the automated tests.
[ ] Test in Google Colab:

[ ] Test that it works in Google Colab (Python 3.10.12).
[ ] Colab has its own package set and Python version, so ensure compatibility.

[ ] Test locally:

[ ] Ensure the code works in a fresh Python virtual environment (venv).

[ ] Standard access to secrets and variables Include !pip install git+https://github.com/ibm-granite-community/utils in the first code cell in order to make get_env_var available to accessing secrets and variables in the recipe.
[ ] Flexible LLM platform support The platform should be easily switchable. Use LangChain or LlamaIndex.
[ ] Example data: Follow the example data guidance.
[ ] README.md updates:

[ ] Add a link to the recipe in the Table of Contents (ToC).
[ ] Include a Colab button after that link.

Reviewing...

One other suggestion, the snack box equivalent vanilla_workflows.yaml, uses this to read the list of notebooks:
notebooks=$(cat .github/notebook_lists/vanilla_notebooks.txt | grep -v '^#' | tr '\n' ' ')

The extra filtering for ^# lets people comment out a notebook and it will be skipped.


Adding support for extensions

Hi spiffcode - GHedit is an awesome concept and the software works. One thing that'd be nice to have is the ability to modify the editor with VSCode's extensions. Is extension support currently on the roadmap? Thanks!

That would be a very cool feature. +1


Make in English

Make in English

Make in English

Translation into English is planned, expect updates, work on the project is still going on :)

Make in English

Translation into English is planned, stay tuned, work on the project is still going on :)

Translated


Fix README for 0.2 release

Foremost, the installation instructions for pytorch need to be adjusted.
Furthermore, investigate the badges: I see "build failing" even though it is not, same with "docs failing".
For code coverage, consider coveralls.

coveralls would be neat but is not necessary. Let's do this later.


Skip Style/SymbolProc &:method when refinements are in use

When using refinements the conversion map {|e| e.to_s } is not the same as map(&:to_s). Rubocop should skip this test when a refinement may be the reason for this code.
Currently the statement would be invalidated by the auto correction as well.
module Refinements
  refine String do
    def to_i
      super * 2
    end
  end
end

class Test
  using Refinements

  def test
    p %w(1 2 3).map(&:to_i)
    p %w(1 2 3).map { |e| e.to_i }
  end
end

Test.new.test
# => [1, 2, 3]
# => [2, 4, 6]

Behavior confirmed: https://bugs.ruby-lang.org/issues/9786
Ongoing discussion: https://bugs.ruby-lang.org/issues/9451

Wow, thanks for pointing this out. Do you think that it is possible for RC to tell whether a refinement could affect &:method_name or not? Remember that RC treats each source file separately and does not do global analysis.

Hmm, I have no idea how to check this. Without global analysis there is no way I guess. I just verified that the refinements of a class are also applied in the same class in another file (without "using").
Maybe the only way is to disable the autocorrection and disable this check on a per file basis when refinements are used.

I found a similar issue when a method looks the block's arity.
Example:
def test(&block)
  yield block.arity
end

p test { |e| e.to_s }
p test(&:to_s)

# Result:
#   "1"
#   "-1"

Thanks.

I just verified that the refinements of a class are also applied in the same class in another file (without "using").

@krissi Can you show example code for that? I thought the point of refinements was that they should not be global.

@jonas054 Well, it seems I messed something up and your assumption is correct. Sorry for that. So it seems that no global inspection is needed.
Here my testcase which shows that the refinement is file-local only:
refinements.rb:
module Refinements
  refine String do
    def to_i
      super * 2
    end
  end
end

test.rb:
require_relative 'refinements'

class Test
  using Refinements

  def test
    p %w(1 2 3).map(&:to_i)
    p %w(1 2 3).map { |e| e.to_i }
  end
end

test2.rb:
require_relative 'test'

class Test
  def test2
    p %w(1 2 3).map(&:to_i)
    p %w(1 2 3).map { |e| e.to_i }
  end
end

t = Test.new

t.test
# => [1, 2, 3]
# => [2, 4, 6]

t.test2
# => [1, 2, 3]
# => [1, 2, 3]

Then I guess we should take care and at least no auto-correct in this cop if there's a using before the method call in question, and if the target ruby version is >= 2.0 (is that when refinements were introduced?).

There hasn't been much activity on this ticket and our Core Team is spread too thin on so many tasks, so I'll just close it for the sake of having a cleaner lists of tasks to focus on. We'd gladly review a PR, but it's unlikely that'd we're going to tackle this ourselves in the foreseeable future.


TST: sparse.linalg: store only PROPACK test matrices; generate reference results

Reference issue
MacPython/scipy-wheels#154
scipy/PROPACK#2
What does this implement/fix?
Currently, the PROPACK tests load matrices and "official" reference results from the PROPACK submodule. These matrices and reference results are being removed from the PROPACK submodule because the file sizes are too large.
Now, the PROPACK tests will load the example matrices from an .npz file in the main scipy repo. We will no longer compare to the "official" reference results; only the reference results computed using linalg.svd.
Additional information
The size of the propack_test_data.npz file is 587KB.

This has the additional benefit of removing the custom loading code -- so thumbs up from me.  Once scipy/PROPACK#2 is completed, let's update this PR to use the new PROPACK commit hash

Please go ahead and push the updated commit hash.

this definitely needs a backport label, so adding that


Java 17 support

I wish that MTA build tool would support Java 17 (LTS) and provide all necessary images for it.

Any updates on this?

Hello, any update on this ?

@bd82 any updates on support of Java 17 for Docker images?

The Docker images are no longer part of mbt releases.
See: https://github.com/SAP/cloud-mta-build-tool#the-cloud-mta-build-tool-images-deprecated


Migrate to null-safety

I am using this package in my application.
Will there be an update for the null-safety version?

https://github.com/Lapskaus/bubbled_navigation_bar/pull/8


False Positive on lang-tag-1.5.jar CVE-2020-23171

Reported:
lang-tag-1.5.jar<EMAIL_ADDRESS>cpe:2.3:a:nim-lang:nim-lang:1.5:*:*:*:*:*:*:*) : CVE-2020-23171

which is " Java implementation of "Tags for Identifying Languages" (RFC 5646). "
Although the CVE was issued for:
  cpe:2.3:a:nim-lang:nim-lang:*:*:*:*:*:*:*:*    f

which is the ZIP component of the Nim programming language according to https://github.com/nim-lang/zip/issues/54

Hello, 👋
Which version of Dependency Check are you using?
This looks to be a duplicate of #3594, released with 6.3.0.

It was indeed. Closing issue.


Recursive worldgen bug

In Forge 1.11.2 - <IP_ADDRESS>8 there is a new detection and log for worldgen features that load new chunks and cause more worldgen.
This can cause a lot of lag when loading new chunks. I wrote a post about the issue here.
[23:28:47] [Server thread/WARN] [FML]: Immersive Craft loaded a new chunk (-38, 122  Dimension: 0) during chunk population, causing cascading worldgen lag. Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
You can debug this by grabbing the latest Forge, creating a new world or flying around, and putting a breakpoint at this log (at the bottom of Chunk.java). You should see that one of your worldgen features is loading a new chunk and causing more worldgen.

Fixed in latest version


fix(datahub-ingestion): prevent transitive deps, bump addtional pyspa…

…rk deps
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Cypress test failures unrelated to docker image for ingestion


Licensing

Hi @kephale ,
just a quick question regarding licensing: tyssue is GPL-licensed. I'm wondering if napari-tyssue needs to be GPL-licensed as well. I'm hitting such issues quite often and wonder how you deal with these.
Thanks!
Best,
Robert

Arg oh goodness you're right. This case needs to be GPL license because it adapts GPL scripts from tyssue. However, I might just GPL those 2 modules (and perhaps eventually factor them out).
I certainly want all of this to be open source, but GPL frustrates me so much and dealing with this issue doesn't feel like the most productive use of time, even if it is important and essential.

Ok actually, the situation isn't that bad. The the code that was adapted came from https://github.com/DamCB/tyssue-demo and https://github.com/suzannelab/invagination, both of which are MPLv2. So actually the current situation is OK, but I'll add more details since I'm partway through anyway.

I certainly want all of this to be open source, but GPL frustrates me so much

I ♥ you for this reply. I feel exactly the same 🙌🙂


Create a file with permissions that respects umask

Problem
Data.write(to:) is a only method in the Foundation that can create a
regular file.
However, it ignores umask and always set 0600 permission unlike
macOS Foundation, which respects process umask.
Solution

With .atomic write option
It uses mkstemp(3) in _NSCreateTemporaryFile, which is always
creating a file with 0600 permission, if the system follows
the latest POSIX specification or the permission is undefined.
On macOS Foundation, therefore _NSCreateTemporaryFile uses
mktemp(3) and open(2) instead to respect umask.

Without .atomic write option
It uses 0o600 even if it uses open(2) that respects umask.
Simply gives 0o666 instead.

This is a bug caused by previous commit in
apple/swift-corelibs-foundation#1876.
Swift JIRA is https://bugs.swift.org/browse/SR-13307.

NOTE: This patch addressed the issue on #2854, which reverts
original pull request #2851.

@swift-ci test

It looks like this was just heavy traffic triggering the type evaluation timeout.

@swift-ci please test

/home/buildnode/jenkins/workspace/swift-corelibs-foundation-PR-Linux/swift-corelibs-foundation/Sources/Foundation/NSData.swift:464:30: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
16:20:59             let createMode = Int(S_IREAD | S_IWRITE | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
16:20:59                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Hmm, intersting...

Oh, no, S_IREAD | S_IWRITE shouldn't be here. My bad.

@swift-ci please test

@swift-ci please test

/home/buildnode/jenkins/workspace/swift-corelibs-foundation-PR-Linux@2/swift-corelibs-foundation/Sources/Foundation/NSData.swift:468:34: error: ambiguous use of 'S_IRUSR'
11:31:40             let createMode = Int(S_IRUSR) | Int(S_IWUSR) | Int(S_IRGRP) | Int(S_IWGRP) | Int(S_IROTH) | Int(S_IWOTH)
11:31:40                                  ^

Ugh, multi-platform change isn't easy really.

@swift-ci please test

@swift-ci please test

05:02:09 Test Suite 'JobExecutorTests' started at 2020-08-29 12:02:09.126
05:02:09 Test Case 'JobExecutorTests.testStubProcessProtocol' started at 2020-08-29 12:02:09.126
05:02:09 Exited with signal code 4

03:59:39 ******************** TEST 'Swift-Unit :: ClangImporter/./SwiftClangImporterTests/ClangImporterTest.missingSubmodule' FAILED ********************
03:59:39 Note: Google Test filter = ClangImporterTest.missingSubmodule
03:59:39 [==========] Running 1 test from 1 test case.
03:59:39 [----------] Global test environment set-up.
03:59:39 [----------] 1 test from ClangImporterTest
03:59:39 [ RUN      ] ClangImporterTest.missingSubmodule
03:59:39 /Users/buildnode/jenkins/workspace/swift-corelibs-foundation-PR-macOS/branch-master/swift/unittests/ClangImporter/ClangImporterTests.cpp:194: Failure
03:59:39 Value of: context->getModule({ Located<Identifier>{ CLib2, {} } }) == nullptr
03:59:39   Actual: false
03:59:39 Expected: true
03:59:39 [  FAILED  ] ClangImporterTest.missingSubmodule (29 ms)
03:59:39 [----------] 1 test from ClangImporterTest (29 ms total)
03:59:39
03:59:39 [----------] Global test environment tear-down
03:59:39 [==========] 1 test from 1 test case ran. (29 ms total)
03:59:39 [  PASSED  ] 0 tests.
03:59:39 [  FAILED  ] 1 test, listed below:
03:59:39 [  FAILED  ] ClangImporterTest.missingSubmodule
03:59:39
03:59:39  1 FAILED TEST

Hmm... both CI failed on different position and... seems unrelated to the patch itself...? 🤔

@swift-ci please test


ImportError: No module named widgetsnbextension

Getting the following error when trying to run the suggested command for loading ipywidgets
fredbox:~ fred$ jupyter nbextension enable --py widgetsnbextension
Traceback (most recent call last):
  File "/Users/fred/anaconda/bin/jupyter-nbextension", line 11, in <module>
    sys.exit(main())
  File "/Users/fred/anaconda/lib/python2.7/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/Users/fred/anaconda/lib/python2.7/site-packages/traitlets/config/application.py", line 596, in launch_instance
    app.start()
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 952, in start
    super(NBExtensionApp, self).start()
  File "/Users/fred/anaconda/lib/python2.7/site-packages/jupyter_core/application.py", line 256, in start
    self.subapp.start()
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 860, in start
    self.toggle_nbextension_python(self.extra_args[0])
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 836, in toggle_nbextension_python
    logger=self.log)
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 459, in enable_nbextension_python
    logger=logger)
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 374, in _set_nbextension_state_python
    m, nbexts = _get_nbextension_metadata(module)
  File "/Users/fred/anaconda/lib/python2.7/site-packages/notebook/nbextensions.py", line 1114, in _get_nbextension_metadata
    m = import_item(module)
  File "/Users/fred/anaconda/lib/python2.7/site-packages/traitlets/utils/importstring.py", line 41, in import_item
    return __import__(parts[0])
ImportError: No module named widgetsnbextension
fredbox:~ fred$

Did you install the most recent ipywidgets? That should have also installed the python package widgetsnbextension, which it seems you don't have installed.

I installed the latest available through conda. I tried running jupyter without the additional parameters ("nbextension enable") and it seems to have the extension's functionality... not sure what does it mean?

Does conda say widgetsnbextension is installed? What version of ipywidgets does it say is installed?

fredbox:fred$ conda list | grep widget
ipywidgets                4.1.1                    py27_0
fredbox:fred$

It looks like you have an older version of ipywidgets that doesn't need the widgetsnbextension package. The widgetsnbextension package is needed in ipywidgets 5.0 or later. It also looks like conda does not yet have ipywidgets 5.x available.
What is your end goal here? If you just want to use widgets, the older version that you have installed and is available through conda should just work.

Yes, just wanted to have the full set of widgets available. So guess all good from my point of view.

So you're okay with closing this now, then?


Use istio.deps to locate proxy version.

istio.Version is modified by builds.
Previous fix used istio.VERSION for pinning which does not work because it is modified by the build.
Signed-off-by: Mandar U Jog<EMAIL_ADDRESS>

the proxy sha inside istio.VERSION should be working though

https://k8s-gubernator.appspot.com/build/istio-prow/pull/istio_istio/3616/istio-presubmit/5271/
Search for PROXY_TAG. You will find that early on it is 4ba2.
By the time you see integration.sh being run, istio.VERSION has been updated to shas that are not in the mainline any more.
istio.deps does not get updated by build, so it is more stable.

/lgtm
accepting this because everything is broken but there must be something else wrong if the proxy sha gets overwritten in istio.VERSION - it might get wrong for release yaml too - cc @mattdelco

@mandarjog: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
50a038afc924d8f5fbe8ecdfce93eb0b8c84f5c6
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

It seems very fragile to just use tail to grab the last instance of lastStableSHA in istio.deps and assume it's for proxy.  Perhaps better option is to grab the SHA from pilot/docker/Dockerfile.proxy .
As best I can tell, people have two very different ideas about what PROXY_HUB / PROXY_TAG refer two.  The proxy repo creates (via script/release-docker) docker images called "envoy" and "envoy-debug", which is apparently what this change/test wants to refer to.  The istio repo creates other images called "proxy", "proxy_debug", and "proxy_init", which is probably what PR #2303 had in mind when it expanded the -a parameter of install/updateVersion.sh to also start setting the PROXY_HUB/PROXY_TAG (rather than just the options for pilot, mixer, and ca).
The updateVersion.sh script gets run in this test script as a side-effect of the "make push".  A release build instead runs updateVersion.sh as part of "make istio-archive", though for this target it uses a long list of parameters instead of -a (so PROXY_HUB/PROXY_TAG isn't overridden) but even if it did override proxy this test wouldn't see it since the script it told to output to ${ISTIO_OUT} rather than scribble in the source tree.
If PROXY_HUB/PROXY_TAG is supposed to refer to istio's proxy/proxy_debug then this change was headed down an okay direction but should probably consult something else like Dockerfile.proxy .  A potential complicating factor to consider is this potential change (or another TBD implementation) for people who want to build more of istio from local source:
https://github.com/istio/istio/compare/master...mattdelco:master16
If PROXY_HUB/PROXY_TAG is intended to refer to proxy's envoy/envoy-debug then there's probably more things to straighten out (not the least of which is the behavior of the -a parameter in updateVersion.sh).

The folks I casually surveyed seemed to think that PROXY_HUB/PROXY_TAG is for proxy/proxy_debug in the istio repro ("pilot's proxy", as some said).  This is consistent with how "make push" builds the majority of the docker images in the istio repo and runs "updateVersion.sh -a" to update the various xxx_HUB / xxx_TAG settings (including the ones for proxy) to point to what was built by "make push". The tag should correspond with the result of the current $(git rev-parse --verify HEAD) in the istio repo.
The main source of truth for the artifacts to use from the proxy repo is in the pilot/docker/Dockerfile.proxy[_debug], as that's what used by bin/init.sh and to build "pilot's proxy".

I think the correct way is to still use istio.deps but use jq to query the sha from the correct place.
I was not sure last night if jq is  present on the build machines.
The purpose of istio.deps is to keep depedencies in machine readable format.
I would argue that the build scripts for docker should use this information as the source of truth.


Check for required block/command

Is your feature request related to a problem? Please describe.
In an educational setting or a tutorial, it would be useful to be able to check whether a required block or command is placed/present.
Describe the solution you'd like
Either in the turorial scripting language, or some kind of meta programming functionality in STS being able to check for blocks or commands being used or present, e.g.:

’ ’ 'required
agent.move(BACK,1) - 2
’ ’ ’

if (variable/function/block/command) then {}

Describe alternatives you've considered
Searched the forum for workarounds/alternatives, no luck, asked to file a feature request here.
Additional context
Further details:
https://forum.makecode.com/t/new-tools-in-makecode-tutorial/22285

I think that a tool that allows you to impose the use of a specific block/blocks is a very necessary addition. In the example below, I am pasting a piece of code from a tutorial for children regarding loops. Unfortunately, without additional safeguards, which are time-consuming and not always possible, children can complete this task without using loops. Which makes the classes a waste of time because the child will do what he already knows.

There are alternatives for some cases. The problem with loops that I wrote about above can be solved by using command blocks and measuring the time in which the agent completes the route. If it exceeds the time limit because, for example, the child did everything manually, the level will be reset. The second way I was thinking about is to create your own blocks that work in the same way as the basic ones, e.g. agent move forward, but in addition to executing this command, they increase the value of the variable, which allows us to count how many times the child used this block. But it requires a lot of work for each task created.

So, we do have the ability to validate whether or not students used a block, but we don't have the ability to lock them out to the screen...
https://makecode.com/writing-docs/tutorials/basics#code-validation-validation-local-and-validation-global-sections-

Does @kiki-lee's code validation suggestion solve your case/issue with e.g. the loop example, @Lukaszzaraska?

We have code validation.


Enhance in_statement_indentation

Add option to specify additional indent for block statements (set to 0 if you don't want this)
Extend description and examples
Add CASE to block statements (probably rare that it spans multiple lines)

I can't figure out why test new test is failing 😢

see line 77 in the rule logic

yes, the regular indent is 2. the test sets blockStatements to 0 so the expected indent for if should remain at 2. the test which fails has indent of 2 so there should be no issue raised.

yea, hmm

fixed :)

yea, guess its also buggy
anyhow, merging this one, thanks 👍 I'll open a different PR sometime to have the regression test run

published in 2.76.12


Could not build the application for the simulator. Error launching application on iPhone 11.

Xcode build done.                                           11.7s
Failed to build iOS app
Error output from Xcode build:
↳
2020-09-07 22:04:02.830 xcodebuild[43408:2792577] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for KSImageNamed.ideplugin (com.ksuther.KSImageNamed) not present
2020-09-07 22:04:02.953 xcodebuild[43408:2792577] [MT] PluginLoading: Required plug-in compatibility UUID  for plug-in at path ' not present in DVTPlugInCompatibilityUUIDs
2020-09-07 22:04:02.953 xcodebuild[43408:2792577] [MT] PluginLoading: Required plug-in compatibility UUID  for plug-in at path 'Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **
Xcode's output:
↳
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:88:26: Error: Type 'DiagnosticableMixin' not found.
class PictureStream with DiagnosticableMixin {
^^^^^^^^^^^^^^^^^^^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:192:44: Error: Type 'DiagnosticableMixin' not found.
abstract class PictureStreamCompleter with DiagnosticableMixin {
^^^^^^^^^^^^^^^^^^^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:88:7: Error: The type 'DiagnosticableMixin' can't be mixed in.
class PictureStream with DiagnosticableMixin {
^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:192:16: Error: The type 'DiagnosticableMixin' can't be mixed in.
abstract class PictureStreamCompleter with DiagnosticableMixin {
^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:167:11: Error: Superclass has no method named 'debugFillProperties'.
super.debugFillProperties(properties);
^^^^^^^^^^^^^^^^^^^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:171:30: Error: The method 'toStringShort' isn't defined for the class 'PictureStreamCompleter'.
- 'PictureStreamCompleter' is from 'package:flutter_svg/src/picture_stream.dart' ('../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart').
Try correcting the name to the name of an existing method, or defining a method named 'toStringShort'.
ifPresent: _completer?.toStringShort(),
^^^^^^^^^^^^^
../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.4/lib/src/picture_stream.dart:266:11: Error: Superclass has no method named 'debugFillProperties'.
super.debugFillProperties(description);
^^^^^^^^^^^^^^^^^^^
Command PhaseScriptExecution failed with a nonzero exit code
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description

I'm sorry, It is svg problem, look at bottom

0.17.4 -> 0.18.0
It is everything OK


About KeyError in the training of CondaLaneNet

Traceback (most recent call last):
File "/home/room/python_projects/lanedet-main/main.py", line 65, in
main()
File "/home/room/python_projects/lanedet-main/main.py", line 35, in main
runner.train()
File "/home/room/python_projects/lanedet-main/lanedet/engine/runner.py", line 94, in train
self.train_epoch(epoch, train_loader)
File "/home/room/python_projects/lanedet-main/lanedet/engine/runner.py", line 67, in train_epoch
output = self.net(data)
File "/home/room/anaconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/room/anaconda3/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 165, in forward
return self.module(*inputs[0], **kwargs[0])
File "/home/room/anaconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/room/python_projects/lanedet-main/lanedet/models/nets/detector.py", line 32, in forward
out = self.heads(fea, batch=batch)
File "/home/room/anaconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/room/python_projects/lanedet-main/lanedet/models/heads/condlane.py", line 1011, in forward
return self.forward_train(x_list, kwargs['batch'])
File "/home/room/python_projects/lanedet-main/lanedet/models/heads/condlane.py", line 867, in forward_train
img_metas = batch['img_metas']
KeyError: 'img_metas'

Are you using the latest code?
It is fixed. Refer this issue: https://github.com/Turoad/lanedet/issues/40.

Thanks a lot. I download the latest version and the Error is fixed!


UnicodeEncodeError: 'ascii' After lunch fab update

After clone the repo and lunch $ fab update
$ fab update
Traceback (most recent call last):
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/fabric/main.py", line 717, in main
    *args, **kwargs
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/fabric/tasks.py", line 332, in execute
    results['<local-only>'] = task.run(*args, **new_kwargs)
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/fabric/tasks.py", line 112, in run
    return self.wrapped(*args, **kwargs)
  File "/home/cbertelegni/projects/book15pjt/books15/fabfile/__init__.py", line 135, in update
    text.update()
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/fabric/tasks.py", line 109, in __call__
    return self.run(*args, **kwargs)
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/fabric/tasks.py", line 112, in run
    return self.wrapped(*args, **kwargs)
  File "/home/cbertelegni/projects/book15pjt/books15/fabfile/text.py", line 29, in update
    get_document(app_config.COPY_GOOGLE_DOC_KEY, app_config.COPY_PATH)
  File "/home/cbertelegni/projects/book15pjt/books15/oauth.py", line 108, in get_document
    response = app_config.authomatic.access(credentials, url)
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/authomatic/core.py", line 1412, in access
    content_parser=content_parser)
  File "/home/cbertelegni/projects/book15pjt/ven/local/lib/python2.7/site-packages/authomatic/providers/__init__.py", line 752, in access
    self._log(logging.INFO, 'Got response. HTTP status = {0}. {1}'.format(response.status, response.content))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 124: ordinal not in range(128)

Looks related to an old version of authomatic. We should update requirements.txt


UHF-X: Fix caching issue in address search

What was done

Issue from #kuuma_linja: after-school activity search results contain cached distances.

How to install

Make sure your KASKO instance is up and running on latest dev branch.

git pull origin dev
make fresh

Update the TPR module

composer require drupal/helfi_tpr:dev-UHF-X-address-search-caching

Make sure that your settings.local.php and *.services.yml do not override default cache settings.
Run make drush-updb drush-cr

How to test

[ ] Go to /fi/kasvatus-ja-koulutus/perusopetus/aamu-ja-iltapaivatoiminta-kerhot-ja-harrastukset/iltapaivatoiminta/etsi-iltapaivatoimintapaikkoja. The search results should not contain distances.
[ ] Search for an address in western Helsinki, for example: Lauttasaarentie 10. Search results should contain distances and they should be sorted correctly.
[ ] Search for an address in eastern Helsinki, for example: Vuosaarentie 10. Search results should contain distances and they should be sorted correctly.
[ ] Reload the page (to clear the address search). None of the results should contain the distance.
[ ] Check that code follows our standards

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5987e30) 81.63% compared to head (97c8e1b) 81.63%.

:exclamation: Current head 97c8e1b differs from pull request most recent head 31f7b08. Consider uploading reports for the commit 31f7b08 to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #164   +/-   ##
=========================================
  Coverage     81.63%   81.63%
  Complexity      361      361
=========================================
  Files            50       50
  Lines          2881     2881
=========================================
  Hits           2352     2352
  Misses          529      529

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Analytics node and Random Forest

I was following your example set forth in the pdf except with the telco.sav data available in the demos folder of IBM SPSS Modeler v.17 with Fix pack 1 installed and it seems that the analytics node will not pick up on the target and predictor when connected to the model nugget? Am I missing a step?

Smackbug,
When you connect an analysis node to an R model you have to use the "Field name format" to create the analysis. The R nodes in SPSS today do not use the Type node for determination of the input and prediction variables.


Telemetry in jupysql is intrusive, violates privacy, and should be optional (opt-in, not opt-out)

I appreciate why Ploomber as a company or organization might want telemetry data for how people use their products, but that should be entirely opt-in when these products are meant to be usable outside of the Ploomber ecosystem or infrastructure.
For jupysql, there's no good reason why by default this should (i) make a version check over the internet and print the results of it; (ii) offer any kind of ad about Ploomber Cloud services; and (iii) create persistent config or other files in a user's home directory or filesystem unless some state key to providing %sql functionality in Jupyter is necessary.
I know I can turn off the telemetry and version check (the latter of which is undocumented) through environment variables (note that this is opt-out, not opt-in, and thus unsuitable for a classroom and unacceptable for an educational environment because it by default it compromises student privacy). I'm not sure how to turn off the cloud ad message. And even then, the way the code is written in ploomber_core.Telemetry dirties the home directory when this should be entirely unnecessary for providing %sql functionality.
It's really super unfortunate that this seems to force me to go back to the legacy ipython-sql.

sorry our product didn't comply with your requirements. I'm unsure if there's any action item here, so I'm closing this

That's of course your prerogative, but I also find it unfortunate. The legacy package ipython-sql, which explicitly gives your package, a fork, as the successor, did not have any telemetry or other things potentially intruding on user privacy.
So it seems if I don't want to give up my (and my students') privacy, short of resorting to the legacy package I'd have to create and maintain a new fork, which would be unfortunate as then we're diverting rather than pooling contributions. 😔

Looks like you decided to address this as per #1034. Much appreciated! 🙏


Add repository creation permissions field

Resolves https://github.com/davidji99/go-github/issues/3
This PR is to introduce the application/vnd.github.surtur-preview+json Accept header when getting information about an organization.
Reference: https://developer.github.com/v3/orgs/#get-an-organization

Thank you, @gauntface!
Merging.


Add screenshot of portfolio in readme file

Your portfolio is awesome.
You can add a screenshot or GIF with a readme file with a portfolio link.

Thanks, i will work on that, soon


Conversion error

Facing Conversion error while converting "2.2e+21" , it returns me 22 but it should be 2200 and same for "1.5e+21" gives 15 should be 1500.

scientificToDecimal("2.2e+21") returns "22000000000000000000"for me


How do I access the request's context?

I'm building a Websocket API and I need to access the context to retrieve $context.connectionId. Where is the context placed after the event is processed by the web adapter?

At the moment, Lambda Web Adapter does not support Websocket API. To support it, we need to define custom http headers used to forward the context values. This is not decided yet.
What lauguage are you using to developer the app? You can choose a lauguage specific framework to do this.

I see. I'm using nodejs but I wanted to avoid adding lambda specific libraries, which is why this project seemed very compelling to me. For now I'll just add something to handle my WebSocket needs.

@adarah Lambda Web Adapter version v0.6.0 is released today. In this version, the adapter will forward requestContext as a http header x-amzn-request-context. You should be able to access connectionId in the requestContext.


Error when running gradle build on fresh project

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.19.6

Plugin version
6.0.0

Android version
12

iOS version

macOS version

Xcode version

Google Chrome version

Device information:
Samsung SM-T500
Description
Expected behavior:
gradle build success
Current behavior:
gradle build fails
Steps to reproduce

Create new flutter project and open android directory in Android studio
Clean the project
Rebuild the project

Stacktrace/Logcat
FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Unable to make progress running work. There are items queued for execution but none of them can be started

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':flutter_inappwebview_android:checkDebugAndroidTestAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > 2 issues were found when checking AAR metadata:

       1.  Dependency 'androidx.webkit:webkit:1.8.0' requires libraries and applications that
           depend on it to compile against version 34 or later of the
           Android APIs.

           :flutter_inappwebview_android is currently compiled against android-33.

           Also, the maximum recommended compile SDK version for Android Gradle
           plugin 7.3.0 is 33.

           Recommended action: Update this project's version of the Android Gradle
           plugin to one that supports 34, then update this project to use
           compileSdkVerion of at least 34.

           Note that updating a library or application's compileSdkVersion (which
           allows newer APIs to be used) can be done separately from updating
           targetSdkVersion (which opts the app in to new runtime behavior) and
           minSdkVersion (which determines which devices the app can be installed
           on).

       2.  Dependency 'androidx.browser:browser:1.6.0' requires libraries and applications that
           depend on it to compile against version 34 or later of the
           Android APIs.

           :flutter_inappwebview_android is currently compiled against android-33.

           Also, the maximum recommended compile SDK version for Android Gradle
           plugin 7.3.0 is 33.

           Recommended action: Update this project's version of the Android Gradle
           plugin to one that supports 34, then update this project to use
           compileSdkVerion of at least 34.

           Note that updating a library or application's compileSdkVersion (which
           allows newer APIs to be used) can be done separately from updating
           targetSdkVersion (which opts the app in to new runtime behavior) and
           minSdkVersion (which determines which devices the app can be installed
           on).

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 32s

#2120 will fix this