CDK8s Annual review information in landscape (#1)

Resolves https://github.com/cdk8s-team/cdk8s/issues/1333
Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[ ] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[ ] Have you picked the single best (existing) category for your project?
[ ] Does it follow the other guidelines from the new entries section?
[ ] Have you added your SVG to hosted_logos and referenced it there?
[ ] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[ ] Does your project/product name match the text on the logo?
[ ] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[x] ~30 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

LGTM


saveForm and deleteForm throw an error when no button defined.

When saveForm or deleteForm are called without a button as their first argument getDataOptions throws an error. An empty object {} is used as a default value instead of its string counterpart "{}".
Json.parse in getDataOptions waits for a string.

@bybrunobarros Good catch! Will fix asap...

Fixed with https://github.com/cferdinandi/form-saver/pull/24. Thanks again!

Thank you for this nice little script.


Create Land Obstacle

Fixes #238
The rosparam land_latlons is a string in the format of a list of latlon tuples (converted using the eval function). Example:
roslaunch local_pathfinding all.launch land_latlons:="[(48.70,-124.70), (48.65,-124.70), (48.70,-124.65), (48.65,-124.65)]"

Started debugging the issue. Nothing intelligent, just tons of prints with help of vim

Stops at
    state = sailbot.getCurrentState()

Further analysis of prints leads to finding the loop

Essentially, goal waypoint is always invalid. Must be something wrong with the new polygon

Played around with it a bit more and got it working! Will let you enjoy the fun of getting it working yourself ;)

Great work, very clean code additions

Because the above is a potentially infinite while loop, we should add rospy logs.

land_mass_creator.py usage:
./land_masses/land_mass_creator.py -h

usage: land_mass_creator.py [-h] [-d THRESHOLD_DEPTH] south north west east

Returns locations of shallow water or land, given coordinates

positional arguments:
  south                 bottom latitude bound
  north                 top latitude bound
  west                  left longitude bound
  east                  right longitude bound

optional arguments:
  -h, --help            show this help message and exit
  -d THRESHOLD_DEPTH, --threshold_depth THRESHOLD_DEPTH
                        maximum depth below sea level of the returned location
                        (in metres, exclusive, default 5)

./land_masses/land_mass_creator.py 49.115757 49.303264 -123.394709 -123.159747

netCDF dimensions: 48.0020833333 49.4979166667 -124.997916667 -123.002083333
nc index bounds: lat=[267,312) lon=[384,441)
Saved to land_masses/land_depth_5m_10_05_2021-00_02_47.(txt|kml)
Took 0.420228004456 seconds

Vancouver Land Mass
KML

TXT > visualizer


pow and math_cmp integration test

pow and math_cmp integration test
Description

Replace cairo_programs/math_cmp_is_le_felt.cairo with cairo_programs/math_cmp.cairo
Add integration test: cairo_programs/math_cmp_and_pow_integration_test.cairo

Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[x] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report

Merging #360 (4e0c2e3) into main (9be86f9) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #360   +/-   ##
=======================================
  Coverage   97.82%   97.83%
=======================================
  Files          43       43
  Lines       11641    11641
=======================================
+ Hits        11388    11389    +1
+ Misses        253      252    -1

Impacted Files
Coverage Δ

tests/cairo_run_test.rs
98.16% <100.00%> (ø)

src/vm/hints/math_utils.rs
99.51% <0.00%> (+0.08%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

Looks good! when the correction @fmoletta suggested is done, it would be ok to merge

Just found that when I made the modifications @fmoletta suggested, Out VM throws an error
Error: Program(Parse(Error("EOF while parsing a value", line: 1, column: 0)))
I will create an issue about it so we solve it as soon as possible.


Is DataFame have union or some equivalent method?

In pyspark.sql.DataFrame, it have 3 methods : union, unionAll, unionByName.But i can't find some equivalent method in databricks.koalas.DataFrame.

concat is the solution


Option to follow system theme for dark-mode

Have you checked that your feature request isn't already filed?

[X] I read through FAQ and searched through the past issues, none of which addressed my feature request.
[X] Yes, I have checked that this feature request isn't already filed.

Description & Motivation
It would be great to have a third option for the dark mode toggle which follows the system theme (prefers-color-scheme: dark). Currently as soon as the user either sets the page theme to dark mode or sets their system to dark mode, this setting is remembered so the theme has to be manually changed if the user later uses a light system theme.
This is a little annoying for me since I change my system theme frequently (dark mode during the night, light mode during the day). In my experience most websites with a dark theme allow following the system theme.
Pitch
A third option for the theme toggle which follows the system theme.
Alternatives
Manually changing theme every time I visit the page.
Additional context
The Numpy docs gives an example of what I'm suggesting: https://numpy.org/doc/1.26/
I'm happy to contribute to a PR for this.

I thought about the same solution of numpy site (having a 3rd option there with half icon), but if possible using half sun, half moon icon. Do you know if this is feasible with the free version of font awesome? Also a PR is always welcome.

It looks like there are some good symbols in Font Awesome, but they all require the pro version (e.g. 'moon-over-sun').

The half circle symbol is available for free though.

I'll try to make a PR in the next few days

I've made a PR for this:  #2261
Currently it uses the half-circle symbol, but that can be changed


feat: GET /module?query=

@divy-work Can you get the information you want from https://cdn.deno.land/MODULENAME/meta/versions.json or https://cdn.deno.land/MODULENAME/versions/VERSION/meta/meta.json? I am not very keen on adding a new API endpoint ATM.

No worries! It would have been great to have an endpoint in the API itself.

A major use case are package/deps managers like Trex / Hatcher. Who can get information about the module from the API

A major use case are package/deps managers like Trex / Hatcher. Who can get information about the module from the API

I think they can get the info they need from https://cdn.deno.land/MODULENAME/meta/versions.json right? The data stored in the database is pretty much the same as https://cdn.deno.land/MODULENAME/versions/VERSION/meta/meta.json with the version being the latest version. I don't see how this provides any benefit. This makes a request t o our database rather than doing a cheap and highly cacheable call to S3.


KAS: Never set proxy

This seems to make the apiserver unable to reach anything over
konnektivity. Not completely sure why this happens, probably because it
ends up having the proxy ip address for everything (that is
speculation).
Just skip setting any proxy env vars, the few requests the KAS does can
go through the guest cluster.
Ref https://issues.redhat.com/browse/HOSTEDCP-333

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

can we include a // TODO to make sure we revisit later?
/lgtm


Update Pre-requisites to Openshift 4.11+

Update Pre-requisites to Openshift 4.11+

/lgtm
/approve


cmd/go: "go list all" fails with "build constraints exclude all Go files in ..." in -mod=vendor mode

What version of Go are you using (go version)?

$ go version
go version go1.15.2 linux/amd64

Does this issue reproduce with the latest release?
Same behavior on latest versions of 1.14 and go1.15
What operating system and processor architecture are you using (go env)?
Linux
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/tmp/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/tmp/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/tmp/skaffold/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build621428698=/tmp/go-build -gno-record-gcc-switches"

What did you do?

$ git clone https://github.com/GoogleContainerTools/skaffold.git
$ cd skaffold
$ go list all
package golang.org/x/sys/windows: build constraints exclude all Go files in /tmp/skaffold/vendor/golang.org/x/sys/windows

What did you expect to see?
List of packages
What did you see instead?
Below error:

package golang.org/x/sys/windows: build constraints exclude all Go files in /tmp/skaffold/vendor/golang.org/x/sys/windows

/cc @jayconrod @matloob @bcmills

Thanks for reporting! I was able to reproduce this in 1.15.2 but not at tip. It looks like @bcmills already fixed this in his rewrite of the module-mode package loading logic for 1.16.
You can work around this in 1.15 using the -e flag.

I got bit by this bug where go list is used to resolve relative paths (not just the "all" special pattern).
Unfortunately go list -e is not a valid workaround as go list's output is passed along to other tools, like go vet. These tools fail if an invalid package is passed to them, hence the usefulness of list's invalid package filtering.
The only workaround I've found is to avoid passing invalid paths to go list - easier said than done. So far it means dropping empty go files into packages without any build constraints.


SL-SC-01 shutter firmware

Hello,
A device with strange CB2S module with mixed pad markings, can anyone check and try to add a profile?
SL-SC-01.zip
More info will be added if needed.
Thanks!

Mixed pad markings? What does that mean?

Added as Spacetronik SL-SC-01 Curtain Controller.  I wasn't sure if was generic or not, I could only find it as "Spacetronik", so I added it as that.  If it should be Tuya Generic, let me know and I'll update it.
https://github.com/tuya-cloudcutter/tuya-cloudcutter.github.io/blob/master/devices/spacetronik-sl-sc-01-curtain-controller.json contains the device configuration.

Unfortunately, not really.  I don't see any strings in the binary that would give useful information.  We rarely have much to go on beyond that device_configuration pin mapping.  But it shouldn't take much physical trial and error to get that figured out.


Payment - User can't continue after reaching "Save & Continue"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Pre-Condition: Have a workspace created

Open the Expensify iOS app
Log in to a applause.expensifail.com account
Tap on "Profile" icon > "Payments" > "Add payment method" > "Bank Account"
Proceed with the flow until the "Account type & Password" page
Tap "Save & Continue"

Expected Result:
The user expects to be able to add a deposit bank account through this flow
Actual Result:
The user wont be able to proceed beyond this "Save & continue' page, the button will "Load" and return to its initial state
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number:  1.1.63-2
Reproducible in staging?:  Y
Reproducible in production?: No (Not able to check in production)
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/169194427-f51cd1ba-077b-46d9-a232-befe38415b52.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

I looked into the issue and can see that it throws the error and the reason being the account that you are trying to add is already previously added.
bankaccount? [hmmm] [mobile] API threw ExpError Expensify\Libs\Error\ExpError - 15fc249e-1f89-49be-aa78-1d87132bf9c5 ~~ exceptionJsonCode: '666' exceptionUserMessage: 'Bank account can't be created, it looks like a bank account with the same information already exists in your account.' exceptionMessage: 'Bank account can't be created, it looks like a bank account with the same information already exists in your account.' exceptionFile: '/vagrant/Web-Secure/lib/BankAccountAPI.php' exceptionLine: '883' exceptionCode: '666'

I also tested this with a new account where no bank accounts are added and it worked without any errors.
So a solution would be to show the error message to the user in the app.

@kavimuru Can you confirm if you had already added this bank account before?

@AndrewGable Can you please cross-check this. Thanks

I have already fixing this here https://github.com/Expensify/App/pull/9023. As part of https://github.com/Expensify/App/issues/7185
But I think https://github.com/Expensify/App/issues/9085#issuecomment-1131306339 is the best solution due to the reason.

So I think we can close this one then and yeah https://github.com/Expensify/App/issues/9085#issuecomment-1131306339 would be the best solution here.

Sorry, I meant to say that  https://github.com/Expensify/App/issues/9085#issuecomment-1131306339 is not the best solution. Mistyping...

Did you request a copy for your fix? I think we can just go with whatever they suggest.
And about the other concern while trying to reproduce this locally I saw an inconsistency when I added the same saving account by going through Profile -> Payment -> Add payment method it did filter out the already added account when I reattempted to add a new bank account. But when I added the same bank account by going into the workspace and left it incomplete and then came back to the previous flow Profile -> Payment -> Add payment method it got stuck at Save & Continue.

Thanks. I am also concerned about the filtering of existing accounts. It is clearly an issue with that filtration. Code is designed to hide existing accounts from the dropdown so we should improve this logic to successfully filter all existing accounts. But if there is a possibility of an edge case where we are getting this error, then we can go with showing the error on the UI.
At last, we can keep this open for tracking and I can add this to my PR in the fixed issues list.

It indeed is related to filtration logic, I think the current logic only hides the bank accounts which has been successfully added but for bank accounts that are in process of being added(You can mimic this by trying to add a bank account under one of the workspaces but leave it incomplete) are shown in the dropdown.
This is what the progress of adding a bank account in my workspace looks like.

Anyway making this a Daily for now.

Since this issue sounds like it's on production as part of https://github.com/Expensify/App/issues/7185 - Going to remove deploy blocker label.

Not overdue.

Not overdue

@parasharrajat Hi 👋 Is this getting fixed in your PR?

@techievivek No yet. I am waiting on update from @chiragsalian https://github.com/Expensify/App/issues/7185#issuecomment-1127517594.

Not overdue.

Not overdue. Work is in progress.

Not overdue. Updating this to Weekly.

Not overdue.

Not overdue.

Not overdue, @parasharrajat Can you give an update for this one 🙌 .

The other PR is is about to be deployed on production and then I will complete my changes.

Issue not reproducible during KI retests. (First week)

Not overdue.

Issue not reproducible during KI retests. (Second week)

If it's not reproducible 2x let's close

Yes, we fixed it from the backend https://github.com/Expensify/App/issues/7185#issuecomment-1127517594


Intl.ListFormat support

TC89 proposal: https://github.com/tc39/proposal-intl-list-format
Current stage: stage 3
Currently implemented in: Chrome 72 https://developers.google.com/web/updates/2018/12/intl-listformat

Available at https://caniuse.com/#feat=mdn-javascript_builtins_intl_listformat_format etc


Allow All Users deployment of mez files on workstation or terminal server

Currently we deploy to the folder ...\Documents\Microsoft Power BI Desktop\Custom Connectors and Power BI picks 'm up.
However, this is often a per user scenario, but I would like to be able to make the mez available for all users, by instance by placing them in the Power BI bin\extensions folder or in a public documents folder.
Or even allow a central mez to specify the location of the other mez files, or inject them, or be able to put everything in one mez.

We plan to resolve this as part of the Office Store and Gateway integration work. We're envisioning the ability for a Power BI tenant admin to specify connectors that would be automatically available to their entire organization.


Why aren't downloaded configs in cache folder?

# .rubocop.yml
inherit_from:
  - https://raw.githubusercontent.com/a_user/a_repo/master/.rubocop.yml

Creates a local file called .rubocop-https---raw-omgthisfilepathissolong.yml
Is there a good reason not to create that file in our rubocop_cache instead? It is a cached file, after all...

I guess that was just some oversight.

Cool, I'm on it then

Probably not an oversight 😅 It's trickier than I hoped because there's a lot of different ways to specify the location of the cache, only the Runner actually has the final info and where we need to use it is quite far from there...


Postscript output is broken when certain URLs are in input file

The PostScript doesn't show output when the input file contains certain URLs. The document display or converter hangs.
This probably isn't directly linked to URLs, but I first noticed this when I tried to convert a file with URLs.
Steps to reproduce

Create a file with the following content:

www.curseforge.com/minecraft/mc-mods/alloygery

Generate postscript output
Open output file or convert to pdf

known issue, this is because the PostScript code can't truncate single words that won't fit on a line (it adds words until they don't fit and then moves on to the next line with the remaining words, so it just loops); I had it as a TODO for a while and I'll get around to fixing it eventually

yay I finally got around to fixing it


Implement prescribed sea ice

Purpose
Implement sea ice (prescribed sea ice thickness [e.g., 2 m] and sea ice concentration, with Semtner 0-layer sea ice model (simplified as in this code, documented in this paper)
Final Key Result

Smooth moist BW with multiple surfaces: atmos (full) + land (slab) + hydrology (bucket) + ocean (prescribed) + sea ice (prescribed) with a land-sea mask

Measure of success
(literature comparison / conservation / performance benchmark)

[x] physical tests
[x] conservation of tracers
[x] performance comparable to standalone run

Risks

no domain expertise but should be ok

Design, Features and Dependencies

[x] approved design here
[x] implement sea ice in a SCM #46
[x] use the sea ice model on sphere with a land-sea mask
[x] use prescribed ocean T_sfc and h_i data
[x] pull sea ice out of the test case to the coupler's src
[x] sea-ice mask
[x] add file reader if want to replace sea-ice concentration and depth with prescribed values, e.g. like in CESM AMIP (https://www.cesm.ucar.edu/models/ccsm4.0/cice/doc/node23.html)
[x] add ocean Q flux

Driver PR(s)

[x] sea ice in a SCM  #46
[x] sea ice on sphere - prescribed #50 , #51
[x] sea ice on sphere - dynamical #69
[x] clean-up PR

introduce more coupler-specific interface abstractions https://github.com/CliMA/ClimaCoupler.jl/issues/44
substitute the latest version of ClimaAtmos interface (TC.jl, limiters, perf improvements, etc)
documentation update, incl. comparison to results in Semtner

People

Lead: @LenkaNovak
Collaborators: @jb-mackay , @akshaysridhar
Reviewers: @szy21 @kmdeck

Ideal delivery date

May 6 2022

complete, sea ice to be moved in #212


Update kube to 0.82 and k8s-openapi to 0.18 (and release as 0.22.0)

Release-As: 0.22.0
updated-dependencies:

dependency-name: kube dependency-type: direct:production
dependency-name: k8s-openapi dependency-type: direct:production

@hendrikmaus Gentle ping. I'm happy to help with the maintenance of this crate if you need, too.

Thanks for the help, I missed the notification on this one. My bad. I am happy to invite you into the project.


Default to using the latest patch version of shopify_function

I was going to update to use v1.0.3 but shouldn't we just encourage use of the latest patch?

@andrewhassan @saulecabrera Any concerns with auto-accepting new patch releases by default here?


I have added "press q to quit" after the git help example.

This was asked by more than one participant so I thought of adding it here.

Perfect, thanks... very useful.

Perfect, thanks... very useful.


Widgets

Description
It may be nice to have some widgets to put on your home screen. Maybe a widget with the server status, dns queries, blocked by filters etc

Unfortunately I think that's not possible. This application is created with Flutter, a multi platform framework. Widgets have to be written on native code for each platform, and I don't know how to do that.


Update ComposeCompilerCompatibility mapping

We should change here as well

Right. done

I run the locally and they passed. Not sure what's wroing with CI

merged and cherry-picked to release/1.5.0
cc: @igordmn


Proposal: Generators - or iterable fibers

In #155 it was mentioned, but I think I came up here with a more detailed proposal, and also this issue was closed because the original as not helpful feature which I think is wrong (I will explain in a moment).
Many languages have some way to generate sequences on-the-fly. In Python it's yield and yield from, in C# yield return and yield break with IEnumerable<T>, and in JS (ES6) it's yield along with function*.
Wren already has similar functionality: fibers. It would be a crime to not utilize this.
I think, however, that they should be separated from fibers - having a different type.
Here's what I got after ~5 minutes of playing at https://wren.io/try:
class Generator is Sequence {
  construct new(fn) {
    _fiber = Fiber.new(fn)
  }
  static yield(value) { Fiber.yield(value) } // This way we can mix `Fiber.yield()` and `Generator.yield()` - maybe we should prevent that, but that will add overhead
  // No `yield()` without argument, since generators **always** yield some result
  static yieldFrom(iterable) {
    // The name was taken from Python, of course
    for (item in iterable) {
      Generator.yield(item)
    }
  }
  iterate(a) { // Argument is unused - generators cannot be iterated more than once
    _currentValue = _fiber.call()
    return !_fiber.isDone
  }
  iteratorValue(a) /* Argument is not used */ { _currentValue }
}

Some examples that demonstrate how this simple class (it does not use C even!) is powerful:

Currently, Sequence.map() is written as follows:

class Sequence {
  map(selector) { MapSequence.new(this, selector) }
}
class MapSequence {
  construct new(sequence, selector) {
    _sequence = sequence
    _selector = selector
  }
  iterate(iterator) { _sequence.iterate(iterator) }
  iteratorValue(iterator) { _selector.call(_sequence.iteratorValue(iterator)) }
}

With generators, we can simplify this a lot:
class Sequence {
  map(selector) {
    return Generator.new {
      for (item in this) {
        Generator.yield(selector.call(item))
      }
    }
  }
}

Same for all sequence transformations (where(), skip()...).
I know this is a breaking change: the old map is allowed to iterate over again and again, while the new one is mutable and after the first call will always return empty sequence. However:

This is (AFAIK) how all languages that do lazy transformations (C#, Python, ...) do it.
The previous behavior is deceptive: if the callback has a side effect, it will be executed twice (despite the possibility to mitigate this with more code and caching).

Flatting sequence:

class Sequence {
  flattened {
    return Generator.new {
      for (item in this) {
        if (item is Sequence) {
          Generator.yieldFrom(item.flatten())
        } else {
          Generator.yield(item)
        }
      }
    }
  }
}

[[1, [2, [3, 4]]], [], [5, 6, 7], [[[[]]], [[8]]], [9]].flattened // [1, 2, 3, 4, 5, 6, 7, 8, 9]

While I agree there should be generators, it should be a complete different
thing. Currently the implementation use view type class, which are pretty
cheap with quite some advantages. The generator one only adds value when
used as such.

What's "view type class"?

It is based on a computational logic, that represents a view on the data.
an analogy is string views or in SQL views. A lightweight object that acts
like the real deal, but is a facade that transform data from souces.
Generators on the other end doesn't have an obligation of a souce data. To
avoid the problems you mention with generators, you can use memorization,
but it has its disadvantages in particular when the set is large.
On the other end view, have their own problems like computing values and
iterators each time, but results are more predictable, because in this the
iterators holds all the state, while generator function hold the state.
This is probably because generators are an hybrid concept meant to try to
reduce memory usage based on a decoupling of generating content from
holding data. And the fiber/yield concepts helps a lot in that regards, if
you compare it with a more traditional callback or state machine approach.

Ah. OK. I just didn't recognize the name. Now I recall that dict.items(), dict.keys() and dict.values() in Python are called views.
But about the problem you mentioned, I already dealt with it in my proposal: to recall, I said that (almost? probably, but I don't know all languages) all languages that have lazy-evaluated map() etc (as opposed to JavaScript where they return arrays (although there is a stage 2 proposal for this), and Python comprehensions (list, dict, set) that are just syntactic sugar for their matching functions - [a ** 2 for a in b] is equal to list(map(lambda a ** 2: a, b))), all these languages (that have lazy-evaluated map, recall after the long exceptions list...) are disposables and are not useful after consuming.

Well we can really call it a problem, it is a consequence of the
implementation choice. There are some possibilities to mitigate the issue,
but I think it is better to have both. Generators are better suited for
source stream with a great affinity with infinite ones, while views tends
to be better with finite stream of high capacity. So I really think there
is a need for both.

There is no harm with introducing the Generator class and not using it in map() etc.; I agree generators are useful in context of streams (and while other languages often introduce async generators some versions after generators, in Wren we get it for free since we can yield from any place in the call stack 😃). I know breaking changes are hard decision, but I think in this case the decision was wrong. My opinion is supported by the fact that existing, popular languages behave as I outlined, which make me understand that this is the natural feel of people about sequence transformations. Moreover, when we have generators, the behavior of those functions is confusing: they're multi-use once given a sequence, and single-use when given a generator. The distinction is more of thought than practical; in C#, for example, everything implementing IEnumerable is iterable - but the language does not make a distinguishing between multi-use and single-use iterables, except the knowledge of the programmer. In convention, when you accept an IEnumerable in a general-purpose method, you can iterate over it only once. If you want more, you have to either get an IReadOnlyCollection (again, everything here is a convention; I can write a class that implement IReadOnlyCollection and is disposable - all I need is a Count property), or convert the IEnumerable to list or array.
My opinions are, like their name, just opinions; I will understand, and accept, different opinions and also will have no complaints if the language designers will decide to reject them. But I think it's worth considering once more.

Well in this implementation there is always the issue of the requirements
of returning from the function for the last entry. I don't know how other
languages deal with it, but to me it is a design issue since you have to do
some logic to return the last value. Java like Interable while far from
perfect seems superior.

My Generator class handles this perfectly.

And it's VERY similar to how Python or C# handles this (sorry, but I haven't programmed in Java about half a decade 😞)


Feature: Please provide arm64 docker images as well

Describe the bug
Would you also build containers for arm64/v8 to support Apple M1?  Thanks!
To Reproduce
Steps to reproduce the behavior:

Get a M1 or ARM64  machine
docker pull  mcr.microsoft.com/presidio-analyzer:latest
docker run  mcr.microsoft.com/presidio-analyzer

Expected behavior
Runs super fast without warning
Additional context
 ~  uname -a
Darwin box.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:47:26 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T8101 arm64
 ~  date ; docker run --rm -it mcr.microsoft.com/presidio-analyzer
Wed Apr 20 09:39:31 MST 2022
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
2022-04-20 16:39:40,797 - presidio-analyzer - INFO - Starting analyzer engine
2022-04-20 16:39:40,799 - presidio-analyzer - INFO - nlp_engine not provided, creating default.
2022-04-20 16:40:00,274 - presidio-analyzer - INFO - Created NLP engine: spacy. Loaded models: ['en']
2022-04-20 16:40:00,277 - presidio-analyzer - INFO - registry not provided, creating default.
2022-04-20 16:40:00,280 - presidio-analyzer - INFO - Loaded recognizer: UsBankRecognizer
2022-04-20 16:40:00,283 - presidio-analyzer - INFO - Loaded recognizer: UsLicenseRecognizer
2022-04-20 16:40:00,284 - presidio-analyzer - INFO - Loaded recognizer: UsItinRecognizer
2022-04-20 16:40:00,284 - presidio-analyzer - INFO - Loaded recognizer: UsPassportRecognizer
2022-04-20 16:40:00,284 - presidio-analyzer - INFO - Loaded recognizer: UsSsnRecognizer
2022-04-20 16:40:00,285 - presidio-analyzer - INFO - Loaded recognizer: NhsRecognizer
2022-04-20 16:40:00,286 - presidio-analyzer - INFO - Loaded recognizer: SgFinRecognizer
2022-04-20 16:40:00,286 - presidio-analyzer - INFO - Loaded recognizer: AuAbnRecognizer
2022-04-20 16:40:00,287 - presidio-analyzer - INFO - Loaded recognizer: AuAcnRecognizer
2022-04-20 16:40:00,287 - presidio-analyzer - INFO - Loaded recognizer: AuTfnRecognizer
2022-04-20 16:40:00,288 - presidio-analyzer - INFO - Loaded recognizer: AuMedicareRecognizer
2022-04-20 16:40:00,289 - presidio-analyzer - INFO - Loaded recognizer: CreditCardRecognizer
2022-04-20 16:40:00,289 - presidio-analyzer - INFO - Loaded recognizer: CryptoRecognizer
2022-04-20 16:40:00,290 - presidio-analyzer - INFO - Loaded recognizer: DateRecognizer
2022-04-20 16:40:00,291 - presidio-analyzer - INFO - Loaded recognizer: EmailRecognizer
2022-04-20 16:40:00,291 - presidio-analyzer - INFO - Loaded recognizer: IbanRecognizer
2022-04-20 16:40:00,291 - presidio-analyzer - INFO - Loaded recognizer: IpRecognizer
2022-04-20 16:40:00,292 - presidio-analyzer - INFO - Loaded recognizer: MedicalLicenseRecognizer
2022-04-20 16:40:00,292 - presidio-analyzer - INFO - Loaded recognizer: SpacyRecognizer
2022-04-20 16:40:00,293 - presidio-analyzer - INFO - Loaded recognizer: PhoneRecognizer
2022-04-20 16:40:00,293 - presidio-analyzer - INFO - Loaded recognizer: UrlRecognizer
2022-04-20 16:40:00,293 - presidio-analyzer - INFO -
 _______  _______  _______  _______ _________ ______  _________ _______
(  ____ )(  ____ )(  ____ \(  ____ \\__   __/(  __  \ \__   __/(  ___  )
| (    )|| (    )|| (    \/| (    \/   ) (   | (  \  )   ) (   | (   ) |
| (____)|| (____)|| (__    | (_____    | |   | |   ) |   | |   | |   | |
|  _____)|     __)|  __)   (_____  )   | |   | |   | |   | |   | |   | |
| (      | (\ (   | (            ) |   | |   | |   ) |   | |   | |   | |
| )      | ) \ \__| (____/\/\____) |___) (___| (__/  )___) (___| (___) |
|/       |/   \__/(_______/\_______)\_______/(______/ \_______/(_______)

 * Serving Flask app 'app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
2022-04-20 16:40:00,349 - werkzeug - WARNING -  * Running on all addresses.
   WARNING: This is a development server. Do not use it in a production deployment.
2022-04-20 16:40:00,351 - werkzeug - INFO -  * Running on http://<IP_ADDRESS>:3000/ (Press CTRL+C to quit)

Hi @nathanhruby,
This is a great suggestion and we will look into this. If you or anyone else is interested in creating a PR, please do so and we would be happy to review.

This would be nice to have. More and more people are developing with M1/M2 chips 2 years later


The deployment doesn't work

Tried several times, the result is:
Deployment to resource group 'xxxxxx' failed.
Additional details from the underlying API that might be helpful: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.
{
    "status": "Failed",
    "error": {
        "code": "ResourceDeploymentFailure",
        "message": "The resource operation completed with terminal provisioning state 'Failed'.",
        "details": [
            {
                "code": "OperationFailed",
                "message": "Operation returned an invalid status code 'Unauthorized'",
                "details": []
            }
        ]
    }
}

I tried to create a cluster as described here and the cluster creation process failed with an error 'unauthorized'
(I'm the subscription owner). I tried 3 times, the result is the same. Now I can't even delete these clusters from my subscription. What should I do?
    "properties": {
        "statusMessage": "{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"OperationFailed\",\"message\":\"Operation returned an invalid status code 'Unauthorized'\",\"details\":[]}]}}",
        "eventCategory": "Administrative",

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

ID: 3e0f1828-dfd2-8b0d-886e-0e7bf4741b99
Version Independent ID: a5ab364a-cb3a-bae0-b454-9125610e1dc8
Content: Deploy a Service Fabric managed cluster (preview) using Azure Resource Manager - Azure Service Fabric
Content Source: articles/service-fabric/quickstart-managed-cluster-template.md
Service: service-fabric
GitHub Login: @erikadoyle
Microsoft Alias: edoyle

Thanks for the feedback! We are currently investigating and will update you shortly.

@erikadoyle Do you happen to know someone who could help with this issue with the template? Thanks :)

@mcurko I got the information from the product team there is a known issue related to this. I would need more information from you to confirm that you are experiencing the same.
Can you please share the following via email to<EMAIL_ADDRESS>with Subject 'Attn: Karishma' :-

Subscription Id
resource id of the cluster and the region
Please also share if you have the correlation id for the deployment.

The internal teams confirmed that you have support case open for this and they have been working with the right teams to investigate this. We will now close this issue. I will track your support case and share the resolution here for others, when the case is resolved.


get dwarf-fortress runnable: just install and type df_osx

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Downloading extra stuff via curl is a big no. Why is this better, and why is so much non-standard stuff needed for it?

Darn, I figured extra curling was a big no, but figured I'd send the PR anyway. DF is ancient (14 years old) and only developed by a team of two, so the release format is...particular.
Is there some accepted method in homebrew-cask to supply a script that the user can optionally run after doing a cask install?

Might https://github.com/caskroom/homebrew-cask/issues/20783 be of interest?

I guess while I'm running around playing with casks involving DF, I can do #20783 as well, see #21290. :-)
I still want to get this change to dwarf-fortress in though, because it is just the base game, and it doesn't work as-is right now. In addition, the dwarf-fortress-lnp cask will move a little slower in terms of the version of DF that it includes. In fact, it's already behind:

cask
DF version
released

dwarf-fortress
43.01
2016-05-09

dwarf-fortress-lnp
42.04
2015-12-26

I still don’t like that you’re downloading and mountig external things (essentially doing what a cask is for inside this cask. Can’t you push that to another cask and make this depend on the other?
Like we did Lightroom 6.3 depend on Lightroom 6.0.

Can’t you push that to another cask and make this depend on the other?
Like we did Lightroom 6.3 depend on Lightroom 6.0.

Yep, I can do that. I was trying to avoid adding more casks, but if there's a precedent for it, I'm happy to follow it. Thanks for the link the Lightroom cask.
There will be two new casks I'll need, should each be their own PR, or can I lump them in here?

You can lump them - they are related and so one PR makes sense

@brewingcode Not actively checking this PR but please comment here when changes are done so we can review and merge ASAP, thanks!

I think the changes are done....? Let me know!

Sure, I can take a look tonight
@vitorgalvao if you could look through the shim script. Thanks!

OK, changes pushed. Sorry for the delay, long week. :-)

Thank you for your continued work on this.

My pleasure, thanks for pointing me in the right direction, and for merging.


DateTime module

Hello. This is a simple module to autocomplete the date and time. Source.confirm feels hacky so if there's any way it can
be improved I'd like some help. I'm new to writing nvim lua code. Awesome plugin !

It looks to me like that belongs more in snippets engine rather than completion one.

How different is it from Spell ? Is there a snippet engine with the functionality built in ?

Yes. Current, the implementatuon should be realized by snippet engine.


Icons not clearly visible in the dark mode

As seen in the video below, icons are clearly visible in light mode but not in dark mode
https://user-images.githubusercontent.com/11486375/130489183-6498f075-6ba0-492b-85c6-14d54792bdee.mp4

@IAmSurajBobade Thanks for reporting the issue. I am aware of that. However that's just the docs page and I am not really much familiar with React to make the icons dynamic based on theme. I guess I will have to move to some alternate icons.


Issue making with minGW

Can't seem to make with minGW. Not sure if you can help!
Debug.txt

Just looking at the log you attached, it seems like the compiler these days catches a lot more shady stuff than it did when I wrote this. A couple warnings in my code, an error in the included mingw mutex code.
Try removing -Wall and adding -fpermissive to CXXFLAGS on line 2 of the Makefile, see if that lets you build.

Sorry for the late reply, been away last week. But that is now building correctly. Many thanks!


Problematic handling of Tables read from an external Database whose column names are aliased due to Unicode normalization

The problem
This is essentially an extremely rare edge case, but we need to handle it somehow - the moment it happens in production everyone will be super confused.
The issue is - most tools do not equalize strings modulo Unicode normalization (e.g. 's\u0301' == 'ś') like Enso does. This means, that one can have a table with two columns separate: ś and s\u0301 and once Enso loads a table like this, it will not be able to work with it. This should be very rare in practice, and indicates that the database we are working with is a huge mess. But it can technically happen.
To illustrate, I create such messy table using raw SQL expressions apparently I can even use our Connection.create_table as it does not have any special handling for this edge case.
from Standard.Base import all
from Standard.Table import all
from Standard.Database import all

main =
    c = Database.connect (SQLite In_Memory)

    s1 = 's\u0301'
    s2 = 'ś'

    IO.println (s1 == s2) # True
    IO.println (s1.codepoints != s2.codepoints) # True

    IO.println <|
        #c.execute_update 'CREATE TEMPORARY TABLE test123 ("'+s1+'" INTEGER, "'+s2+'" INTEGER)'
        c.create_table "test123" [Column_Description.Value s1 Value_Type.Integer, Column_Description.Value s2 Value_Type.Integer] temporary=True
    # (Database Table test123)
    IO.println <|
        c.execute_update 'INSERT INTO test123 VALUES (10, 20)'
    # 1

    t = c.query "test123"
    IO.println t # (Database Table test123)
    names = t.column_names
    IO.println names # [ś, ś]
    # Enso cannot distinguish columns of this table from SQLite
    IO.println ((names.at 0) == (names.at 1)) # True

    # And thus it is unable to materialize it
    IO.println t.print # (Error: (Illegal_Argument.Error 'Column names must be distinct.' Nothing))
    IO.println t.read  # (Error: (Illegal_Argument.Error 'Column names must be distinct.' Nothing))

    # But it can read individual columns
    IO.println (t.columns.map .to_vector) # [[10], [20]]

    # Selecting one column selects both due to equality :)
    IO.println (t.select_columns s1 . columns . length) # 2

    # And at only allows us to ever access the first column, we can never see the other one :/
    IO.println (t.at s1 . to_vector) # [10]
    IO.println (t.at s2 . to_vector) # [10]

    # Apparently, set only affects first column!
    t2 = t.set "123" s1
    IO.println (t2.columns.map .to_vector) # [[123], [20]]
    # But regardless if we use s1 or s2, we can only manipulate the first column :/
    IO.println (t.set "456" s2 . columns . map .to_vector) # [[456], [20]]

As we can see, accessing such messy table does not fail but it proceeds to behave pretty badly.

Trying to materialize it, will construct an in-memory Table. But in-memory both columns have the same name so it will fail.
Even worse, operations on the table will behave in a surprising manner - e.g. at can ever reach the first column, because from Enso perspective they are indisinguishable.

Proposed solutions
Workaround
Working with such a messy table is currently very problematic - it can lead to surprising errors - like selecting wrong column (e.g. the dropdown for at will show both instances of the column, but selecting either of them will lead to getting the same column due to the at issue shown above), materializing won't work.
I think it is fair to detect this early - at the stage of query and report that this table is 'messy' and Enso cannot properly work with it. IMO that is better than returning a Table object that will partially work and can potentially lead to computing corrupted data (by using the wrong column etc.).
IMO reporting an error should be fine in this case, because it is really a mess - no one should have tables that have the same name just differing with one being Unicode normalized and the other not being normalized.
A 'defensive' solution
Still, ideally we want Enso to work correctly with whatever messy data is thrown at it. To achieve that, we can have special logic when querying tables that checks for such an edge case. It can then use our 'standard' renaming strategy to make the column names unique - e.g. ś and ś 1. Then on Enso side the column names would be distinguishable and Enso can deal normally with the data. Under the hood, we'd still have to keep an SQL expression for each column and be sure that the identifiers do not 'get normalized' by accident, to ensure that each of the two columns is mapped to the right column.
In case we implement that solution, we should emit a warning when accessing such messy tables, which would explain the situation and why one of the columns got renamed.

The simple workaround is essentially 1-2 lines of code to implement, so IMO we should get it in soon(ish) to avoid unnecessary confusion.
The more complicated solution may take more time, and given that this is such an extremely unlikely scenario, I don't think it's worth tackling very soon.

This was already mostly solved as part of #7495.
https://github.com/enso-org/enso/blob/abdbcfcdb10f28679d693232263aaed8826ff894/test/Table_Tests/src/Database/Postgres_Spec.enso#L238-L250
We are already reporting Duplicate_Output_Column_Names warning. It does not include a thorough explanation of the Unicode clash, but I think it provides the user with enough info - column names in the original table were clashing and so were enabled.


Image not displaying

The image does not load, I just have the spinning wheel.
I have watched the wheel for more than 15 min.

could you give me the special image file?

SwarmIcon.zip

the blp file is blp2
will support in future

Ok, thanks for that.

already publish 0.1.5


Fixed message in Double between matcher

The message was pretty bizarre due to a small typo. This commit fixes that message and makes it clearer.
Solves https://github.com/kotlintest/kotlintest/issues/441

Good spot.


Bug/stopped firewalld

I needed this fix for when the firewalld daemon isn't running before the puppet run.

Should we be using firewalld-offline-cmd or making sure the service is running ?
For now, I'll leave this PR open

I think we can't start the firewall because this command is executed before the catalog is being applied

It's true..
Error: /Stage[main]/Firewalld/Firewalld_zone[public]: Failed to generate additional resources using 'generate': Execution of '/bin/firewall-cmd --permanent --get-zones' returned 252: FirewallD is not running

another thing I encountered with this issue is that it seems the firewalld won't start at all during kickstart. So firewalld config during kickstart always fails.

@koweblomke / @gothicx
The only way I can replicate this is to not include the base firewalld class.
firewalld_zone { 'foo':
  ensure => present,
  target => '%%REJECT%%',
}

[root@localhost tests]# puppet apply test.pp
Notice: Compiled catalog for localhost.localdomain in environment production in 2.11 seconds
Error: /Stage[main]/Main/Firewalld_zone[foo]: Could not evaluate: Execution of '/bin/firewall-cmd --permanent --get-zones' returned 252: FirewallD is not running
Notice: Applied catalog in 1.13 seconds

The above seems to recreate what you're seeing, but thats because the firewalld class is not included which starts the firewalld service before applying any zone changes....eg:
include firewalld

firewalld_zone { 'foo':
  ensure => present,
  target => '%%REJECT%%',
}

[root@localhost tests]# systemctl stop firewalld && puppet apply test.pp
Notice: Compiled catalog for localhost.localdomain in environment production in 1.84 seconds
Notice: /Stage[main]/Firewalld/Service[firewalld]/ensure: ensure changed 'stopped' to 'running'
Notice: /Stage[main]/Main/Firewalld_zone[foo]/ensure: created
Notice: Applied catalog in 6.52 seconds

--get-zones isn't applying any changes, but is run before the catalog is being applied (I think right after the pluginsync). So even including the firewalld class won't do you anything good.
Verstuurd vanaf mijn iPhone

Op 6 aug. 2016 om 10:34 heeft Craig Dunn<EMAIL_ADDRESS>het volgende geschreven:
@koweblomke / @gothicx
The only way I can replicate this is to not include the base firewalld class.
firewalld_zone { 'foo':
ensure => present,
target => '%%REJECT%%',
}
[root@localhost tests]# puppet apply test.pp
Notice: Compiled catalog for localhost.localdomain in environment production in 2.11 seconds
Error: /Stage[main]/Main/Firewalld_zone[foo]: Could not evaluate: Execution of '/bin/firewall-cmd --permanent --get-zones' returned 252: FirewallD is not running
Notice: Applied catalog in 1.13 seconds
The above seems to recreate what you're seeing, but thats because the firewalld class is not included which starts the firewalld service before applying any zone changes....eg:
include firewalld
firewalld_zone { 'foo':
ensure => present,
target => '%%REJECT%%',
}
[root@localhost tests]# systemctl stop firewalld && puppet apply test.pp
Notice: Compiled catalog for localhost.localdomain in environment production in 1.84 seconds
Notice: /Stage[main]/Firewalld/Service[firewalld]/ensure: ensure changed 'stopped' to 'running'
Notice: /Stage[main]/Main/Firewalld_zone[foo]/ensure: created
Notice: Applied catalog in 6.52 seconds
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@koweblomke really?  I can't simulate that at all on my end, the generate() method should get called after the service has been managed... Can you paste an example with full code, and --debug output?

@koweblomke Aaaaah I see now.... I wasn't testing with purge_rich_rules => true therefore the --get-zones was never being called, now I have the same issue

This PR won't be merged, because I'm refactoring how the firewall-cmd command is called (see lib/puppet/provider/firewall.rb and lib/puppet/provider/firewall_direct_* in the refactor/3.0.0 branch.
this raises the question though, should we just use the offline command for everything that uses --permanent? apart from restarts...  Is there a downside to that?

For now, this issue will be addressed in 3.0.0 with this.....
https://github.com/crayfishx/puppet-firewalld/commit/210c6fac44dd80316df3b425ec20c56f4d0beeaf


Retry authentication until it succeeds

Use the failed authentication for retry too.
For #282.

Now the authentication will be retried until it eventually succeeds.
But, as there is no retry interval, it retries immediately every time and CPU usage is 100% until it succeeds.
@sgodbillon, as I understand you are the right person to ask for advice how to solve it correctly.

Hi @vvlevykin,
I think this retry should be left to the application side. As it is now, it's really hard to put an auth retry interval. But on the application side, this is quite easy to deal with: you may just flatMap on the future returned by db.authenticate(user, passwd) to create a future that "sleeps" for a little while before retrying. You can see the implementation of Failover to get a hint on how to that.
However, maybe we can provide a new method for this in the DB trait (or a new flag in the current db.authenticate(user, passwd) that does this automatically.)

Is there a way to do authentication on the application side when the connection is lost and then restored?
I'm asking because there was a case when MongoDB nodes were replaced, but because of misconfiguration, the credentials for one of the databases were added a bit later and the app had to be restarted to continue working.
It's certainly possible to prevent it on another level, but I thought it would be not that bad to have resilience against that.

Yes, you can call db.authenticate(user, passwd) again. A good way would be for you to provide a trigger (like a private rest API for example) in order to reauthenticate on demand by calling this method.
When you call db.authenticate(user, passwd), if there is a successful authentication, it is stored in the connection pool metadata in order to automatically authenticate new connections. The problem is, when the authentication has failed, then it's not registered in the connection metadata. "Fixing" this should not be done, because it would mean that if did, all the new connections would automatically try to authenticate, which is likely to fail.


How to use strategy for publish messages that could not be handled

Hi, in a command handler I'd like to fire an event that, in the absence of an event handler, it should be published in a Sqs Amazon queue. This is my command handler:
class WriteNewPostCommandHandler
{
    private $postRepository;
    private $eventBus;

    public function __construct(PostRepository $postRepository, AsynchronousEventBus $eventBus)
    {
        $this->postRepository = $postRepository;
        $this->eventBus = $eventBus;
    }

    public function handle(WriteNewPost $command)
    {
        $post = new Post(
            $this->postRepository->nextIdentity(),
            $command->postTitle(),
            $command->postBody()
        );

        $this->postRepository->add($post);

        $event = new PostWasWritten($post->id());

        $this->eventBus->handle($event);
    }
}

this is my service definition:
    write_new_post_command_handler:
        class: Acme\CoolBlog\Application\Command\Post\WriteNewPostCommandHandler
        tags:
            - { name: command_handler, handles: Acme\CoolBlog\Application\Command\Post\WriteNewPost }
        arguments: ['@post_repository', '@asynchronous_event_bus']

I don't know if the '@asynchronous_event_bus' is the right dependency.
If I'm not mistaken, I need to append an instance of PublishesUnhandledMessages middleware in the event bus. How can I do this in symfony?

Hi @matiux, Thanks for taking the time to write this issue.
To start first @holtkamp already implemented SQS check these for some info and a example. I only think it is not based on Symfony in his case. But he is using the Bernard Bridge as far as i know.

https://github.com/SimpleBus/Asynchronous/issues/8
https://github.com/holtkamp/simplebus-asynchronous-bernard-sqs

I don't know if the '@asynchronous_event_bus' is the right dependency.

No, It needs to be @event_bus which should  have the PublishesUnhandledMessages the @asynchronous_event_bus is used to handle messages that come from the queue.
I hope this helps


Should CUSTOM_EPOCH be<PHONE_NUMBER>000 ?

in generateIdsUsingRedis(final Redis redis, final long batchSize)
long id = ((timestamp - CUSTOM_EPOCH) << TIMESTAMP_SHIFT)
| (logicalShardId << LOGICAL_SHARD_ID_SHIFT)
| i;
The timestamp is in milliseconds. Assume that CUSTOM_EPOCH is in milliseconds.
1401277473(ms) is just about 16 days. Compare to normal unix epoch, this setting only extends 16 days.

@Felix0114 The custom epoch is a UNIX timestamp (in milliseconds) which corresponds to:

Wed, 28 May 2014 11:44:33 GMT

The idea is that, to allow you to store the time in less "bits", you can start the epoch from 0 again at some point. When we first made this project, we set that epoch at the date above. So rather than thinking about it as a range, it's more a "we pretend the epoch is 0 again from here".
So for example, right now the UNIX time for me is<PHONE_NUMBER>. If I subtract our custom epoch from that of<PHONE_NUMBER>, I'm left with 53390871. In binary, this is<PHONE_NUMBER>1010111000010111, which is only 26-bits. We have allowed for up to 41 bits for time. This gives us a range of about ~69 years from the date of that custom epoch above.

I know how custom epoch works. The question which I want to point out is that the timestamp is in milliseconds in the source code.
long timestamp = (icicleRedisResponse.getTimeSeconds() * ONE_MILLI_IN_MICRO_SECS)         + (icicleRedisResponse.getTimeMicroseconds() / ONE_MILLI_IN_MICRO_SECS);
But CUSTOM_EPOCH is defined in seconds.
You subtract them in different units.
long id = ((timestamp - CUSTOM_EPOCH) << TIMESTAMP_SHIFT) | (logicalShardId << LOGICAL_SHARD_ID_SHIFT) | i;
in the example which you provided,
the timestamp variable might be<PHONE_NUMBER>000, and  CUSTOM_EPOCH is<PHONE_NUMBER>,
(timestamp - CUSTOM_EPOCH) =<PHONE_NUMBER>527,  not 53390871.
By the way, would you provide some ways to setup  CUSTOM_EPOCH in the future?

@Felix0114 Oh my goodness, you are absolutely right. :cry:
I'm just going to have a think about how we can address this issue - we can't just change the epoch to what it should be in the case of people who are using this (as the IDs would eventually collide). I think the right thing to do will be something like:

Fix the issue with the default epoch.
Add the ability to set the epoch via config (so people who are migrating can keep the existing epoch so there's no collisions).
Bump the major version.

I'll have a think about this today and get back to you. Really good spot, thanks for the report - I'll make sure to credit you on any work that gets done as this is a big deal and we really appreciate it! :+1:

@Felix0114 There's a branch with a preview of some of the changes at fix-incorrect-epoch-start. I'll continue updating this, which will subsequently become the v2.0 release soon-ish. :+1:

Good to hear. :+1:


Govcloud: UnsupportedOperation: Specifying Unlimited mode for an instance is not supported in this region.

Upgraded the module today, and couldnt figure out why it kept trying to replace my existing instance.  After finally relenting and allowing it to replace, it failed to launch with.
Error: Error applying plan:

1 error(s) occurred:

* module.mgmt_bastion.aws_instance.this_t2: 1 error(s) occurred:

* aws_instance.this_t2: Error launching source instance: UnsupportedOperation: Specifying Unlimited mode for an instance is not supported in this region.
	status code: 400, request id: 7609c797-a1a3-4b0b-bc28-e003951ea872

This feature is not available in govcloud, so the module no longer works in this region. I assume there is no workaround for this, until terraform supports passing in nulls.

It seems that it AWS has made it available in GovCloud recently - https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-ec2-t2-unlimited-instances-now-available-in-aws-govcloud-region/
Please confirm that it is working as expected.
PS: It is pretty hard to follow which feature is available in which AWS region, so thanks for heads up!

I'm using the AWS in China region, it is not available support unlimited mode for T2/3. I meet the same error when I manage the T2/3 instance. So how can I skip the resource variable? it is just for me to use a custom module extend the terraform-aws-ec2-instance?

If it is not supported in your region then you have to fork this module and disable it.
Closing this issue.


DIA-NN not annotating the protein accessions

Description of feature
Currently, the protein ids are lost from the output.
ProteinName,PeptideSequence,PrecursorCharge,Intensity,Reference,FragmentIon,ProductCharge,IsotopeLabelType,Run,Fraction,BioReplicate,Condition
,AAAQLLQSQAQQSGAQQTK,2,22069.08594,N295-1,NA,0,L,N295-1,1,2,lung

Checking in the output file also, you don't find them, looks like is missing in the diann files. Here are some discussions about the protein inference https://github.com/vdemichev/DiaNN/discussions/316

Are all the proteins Ids missing? Does the log file report error or anomalies?

#132

Is there an example log file & output report which shows this?

@daichengxin do you have a small log file with this error. If not, I can try to reproduce the error in the cluster and share the log. @vdemichev can you let us know with command parameter should be used to debug, verbose the tool. We now have only default messages

sorry, no more.


Improve CI for Linux

Changing the build command for the linux-release job to use cross. The linux target gets compiled against glibc version 2.17, the lowest rust >= 1.60 itself supports, which should maximize compatibility for many linux distros.
If desired, we can also use cross to setup a build using musl instead of libc. According to my testing, a binary built with musl doesn't work on wayland though, because of this issue.
I also implemented a simple cargo check workflow for every platform, which is currently triggered by a push.
At the moment, this is an initial draft. Things I would like to improve further are:

[x] Caching
[x] Run cargo clippy on push
[x] Run cargo fmt --check on push

If this PR looks like it is going in the right direction, I'd like to continue working on above points, otherwise I'm open to change the PR according to your needs.

From what I understand, you're targeting main-centos, which seems to me like a moving tag. If we don't want unexpected surprises, maybe we should use something like 0.2.4-centos?
I'm not sure if I understood this correctly, and I don't know which image has which glibc version, but I'm worried that the current setup will stop working one day.

Good point on the build image version, changed that in the most recent commit.
I also added some comments which are providing information to the corresponding glibc version and where to find that information.

It's been half a year, and I am no longer interested in this PR. Feel free to use this PR as a starting point if desired.


Frontend S3 encryption and SSL

Adds some additional security best practices for the frontend S3 bucket. :)

Enables server side encryption at rest
Enforces SSL for encryption in transit

Hey @aqche could you please remove the SSL for transit block from this PR?
I've submitted a PR (#15 ) to remove the website hosting of the bucket.  Since Cloudfront is the entry point it's not needed.
We enforce HTTPs on the Cloudfront endpoint:
	viewer_protocol_policy = "redirect-to-https"

@rnikoopour sounds good! i've removed the policy statement and resolved merge conflicts.


added "special prepare when Nvidia Jetson Nano"

Disables GUI/X11 login to make sure that you can login after rebooting.

Do I understand it right, that this would allow logging in to the node if there is a physical access. See evil maid attack.
I think it is an intentional security decision to not allow login from the node with a keyboard plugged in, only ssh.
Were you able to ssh in your case?

Without this patch neither login via ssh nor keyboard/screen was possible.
With the patch the HDMI-output is text based, allowing you to see the ./00raspiblitz.sh output.

Is this on ubuntu bionic?
Can you tell what is original value here instead of the multi-user.target?
I just need to understand it a bit more about what is happening with this line.
I did not experience such a problem yet, but the aarch64 is the least tested by me. My poor rock64 has bigger problems with crunching numbers.
I am running Ubuntu bionic in a VM X86_64. No problem with SSH or anything like this.

Yes, it's bionic, but a customized image from Nvidia.
To switch to text-only mode:
sudo systemctl set-default multi-user.target
To set it back to graphical mode:
sudo systemctl set-default graphical.target

There is a pull request waiting to be merged to @rootzoll master from this branch so will wait to merge this until I can test on the only aarch64 board I have, the Rock64. A new Armbian kernel is said to be solving it`s memory clock issues, so having my hopes up!

You can specify more to your release by grepping info from uname -a (https://www.liquidweb.com/kb/how-to-check-the-kernel-version-in-linux-ubuntu-centos/)
For my Rock64 it shows:
Linux rock64 4.4.174-rockchip64 #6 SMP Sun Feb 10 10:43:16 CET 2019 aarch64 aarch64 aarch64 GNU/Linux
Can you paste it for the Jetson Nano?

Linux rockpro64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

Linux XXX 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

Linux XXX 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

I think it would be the best to introduce a variable to identify the Jetson Nano specifically by processor:
isNvidia=$(uname -a | grep -c 'tegra')
or
isNvidia=$(uname -p | grep -c 'tegra')  --> please check what returns tegra on Jetson Nano
Then if statement can be changed to:
if [ ${isNvidia} -eq 1 ] ; then

Great idea.
I've updated the PR accordingly.

merged now, thanks


INVALID PRODUCT NUMBER

At first I tried to install a client POS on my Laptop, my PC is the server which had a POS v19 when my laptop installed the client all icons colored grey for 10mins of waiting some icons turned colored but when I click it keeps saying " No support IU "Receipt" , or Cusomer ..
Now I tried to uninstall and reinstall the POS on my PC Server, always INVALID PRODUCT NUMBER , I tried all version still the same I deleted all files location from
• C:\Program Data\Intuit
• C:\Program Data\Common Files\Intuit
• C:\Users[Username]\AppData\Local\Intuit
• C:\Program Files\Intuit
• C:\Program Files\Common Files\Intuit
• C:\Program Data\Intuit
• C:\Program Data\Common Files\Intuit
• C:\Users\AppData\Local\Intuit
• C:\Program Files\Intuit
• C:\Program Files\Common Files\Intuit

and clean the registry using CCCleaner still all INVALID PRODUCT NUMBER
Please help me I need the POS BADLY :(

Intuit was purged and a clean install of POS was done, followed by the other QBDT software.

BIG THANK HELP THANK YOU SO MUCH!


Android needs a packagingOptions/exclude int he app.gradle file

Need to put this in the app.gradel file
packagingOptions {
exclude 'project.clj'
}
It comes from the dependency on the rtmp library being used, not sure how to get rid of it in the library.  Tried a few things but it kept turning up, putting this in your android file itself fixes the problem.

Can confirm this works 👍


Panic when there are several different declarations

Hi! I want to offer a new feature - check the type's fields when the type has been declared 2 or more times. And if there is a difference between the declarations - panic.
Example:
# FileOne.gql
type Type {
    Field: String
    OneMoreField: String
}

# FileTwo.gql
# another declaration - panic
type Type {
    Field: String
}

I got your point. Good idea. I'll work on it.

@3timeslazy Sorry for my late work, but I've been busy for job searching and serial interviews. 😉
Please check PR #22. I hope to have your feedback.

@3timeslazy I'm closing this issue, please reopen if you have any further suggestion.


Doesn't show that I stopped spotify or stopped listening to music.

I stopped listening to the song and it still shows I'm listening to it

Nvm I guess it updates after 5  - 10 minutes


Implement nf-test for call_repeat_expansions

Closed with https://github.com/genomic-medicine-sweden/nallo/pull/445


Closed PRs/Issues

This is something I really liked in trac:
When linking a closed issue such as #1226 or merged/closed PR, can you make it appear strike-through #1226? :-)

@ax3l @bfred-it  made an extension for that

that's lovely, thank you so much!


Added Simplified Chinese Localization for Most Strings

For ThrededAnvilChunkStorage in string "text.translated_server.saved": "ThreadedAnvilChunkStorage (%s): All chunks are saved", I'm not sure what it exactly means, so it is left untranslated.

:+1:


Links in the Wiki page are broken

Most of the links in the quickforms Wiki page are broken (right-side menu). The pages still exist but the links need to be updated.

@mgarzon all the broken links should be fixed

Thanks! @AnthonySabbagh links are fixed.


Fix bug when validating subscription resources

What this PR does
Fixes a bug introduced in #159 where we were mistakenly trying to validate subscription resource with our HcpOpenShiftCluster resource name regex.
Before:
❯ curl -X PUT "http://localhost:8443/subscriptions/00000000-0000-0000-0000-000000000000?api-version=2.0" --json '{"state":"Registered", "properties": {"tenantId": "00000000-0000-0000-0000-000000000000"}}'
{
    "error": {
        "code": "InvalidResourceName",
        "message": "The Resource 'Microsoft.Resources/subscriptions/00000000-0000-0000-0000-000000000000' under resource group '' is invalid.",
        "target": "/subscriptions/00000000-0000-0000-0000-000000000000"
    }
}

After:
❯ curl -X PUT "http://localhost:8443/subscriptions/00000000-0000-0000-0000-000000000000?api-version=2.0" --json '{"state":"Registered", "properties": {"tenantId": "00000000-0000-0000-0000-000000000000"}}'
{"state":"Registered","properties":{"tenantId":"00000000-0000-0000-0000-000000000000"}}

Yeah, I'm down to take out this middleware for subscription resources as well


proposal: archive/zip: support for encrypted archives

ZIP file format specification includes encrypted archives.
Current implementation doesn't support writing/reading such archives.

Hi,
I've currently got a working implementation of archive/zip that can read/write encrypted archives. You can find the code at https://github.com/alexmullins/zip.
Details:
The encryption/decryption method used is WinZip AES Encryption Specification (http://www.winzip.com/aes_info.htm). There are 2 other encryption methods specified in the original Zip Spec (https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT, Sections 6 and 7) which aren't implemented. The method described in Section 6, also known as ZipCrypto, is generally considered 'weak' and isn't advisable to use. The method described in Section 7 seems to be exclusively used with PKWARE products as I haven't seen any other implementations support it.
Public API additions:

FileHeader.DeferAuth
func (*FileHeader) IsEncrypted
func (*FileHeader) SetPassword
func (*Writer) Encrypt

A potential roadblock: the method to turn a password into a master-key is PBKDF2 and I'm getting that functionality from the 3rd party x/crypto/pbkdf2 package.
Something else that might stick out like a sore thumb is having to duplicate the cipher.NewCTR implementation from Go's Standard Library. See here: https://github.com/alexmullins/zip/blob/master/crypto.go#L109. I talked to @agl about this and he clarified  that Go uses a right-aligned, big-endian counter which is the standard way of doing it. WinZip AES uses a left-aligned, little-endian counter.  The difference is:

Go CTR:
00000000000000000000000000000001
WinZip CTR
01000000000000000000000000000000

I look forward to any questions!
Thanks,

I was working on a project that requires me to send a password protected zip file to a system that can only read Zip Standard Encryption. Not finding any go source for this, I manage to create a working code based on @alexmullins code. Special thanks to you Sir 👍
While it's not advisable to use Zip Standard Encryption for security reason, for those who have to work with it, you can check my code at https://github.com/yeka/zip
I hope the awesome Go Team can integrate encryption into their standard zip/archive 😄

Any updates here? officially supporting protected files would be good enough :)

@yeka Could you add a license to your git repo?

Sounds like there are two popular file formats as noted in https://github.com/golang/go/issues/52458:

There are two common encryption formats that we should support:

ZipCrypto: This is the original encryption scheme. It has widespread support, so should be added for compatibility purposes. However, it is not secure, so should come with a big disclaimer that new files should only be created for compatibility purposes and the encryption should not be trusted.
WinZip’s AES: This is what WinZip and 7Zip use by default to create encrypted zip files.

https://github.com/golang/go/issues/52458 also explains why an external lib isn't ideal:

Adding support for both of these formats into the standard library is relatively straightforward. Unfortunately, as it stands today, it’s impossible to add support for encryption as a wrapper around the standard library archive/zip. A custom compressor/decompressor handler approach doesn’t work because encryption needs at minimum access to the FileHeader. In the case of WinZip AE-2 it even needs to disable the CRC. So libraries have to completely fork archive/zip.

What the proposal process needs is a description of the new API that would be required to implement this.  Anybody want to try to write that down?  I haven't looked at the work mentioned above by @alexmullins .

A first take at the API changes:
type EncryptionMethod int

const (
	NoEncryption EncryptionMethod = iota
	ZipCrypto
	WinZipAES128
	WinZipAES192
	WinZipAES256
)

type FileHeader struct {
	/* ... */

	Password func() []byte

	Encryption EncryptionMethod

	WinZipAEVersion int

	/* ... */
}

The three additional fields to FileHeader change the behavior when writing a zip.
When FileHeader.Encryption is not equal to NoEncryption and FileHeader.Password is non-nil, the specified encryption method is used with the password bytes returned by by calling FileHeader.Password..
While FileHeader.Encryption is one of the Winzip methods, the AE file format "version" must be decided upon. WinZip chooses between AE-1 and AE-2 using logic described here:
https://www.winzip.com/en/support/aes-encryption/#winzip11
If FileHeader.WinZipAEVersion is 0 in a FileHeader passed to Writer.CreateHeader(), an automatic decision is taken. A value of 1 or 2 would be taken as choosing AE-1 and AE-2 respectively. Any other value is erroneous.
When reading a zip, FileHeader.Encryption and FileHeader.WinZipAEVersion are populated. FileHeader.WinZipAEVersion will be 0 in the case of no encryption or ZipCrypto.

CC @dsnet

I don't know how zip encryption works.  If it requires a password, how should that password be supplied when reading a zip archive?

@ianlancetaylor good point, I missed that part. FileHeader.Password would also be called in the read path. It would have to be set prior to calling File.Open. This is modeled on @alexmullins 's fork.

I didn't mention this, since it's something the user would not have to do. Writer.CreateHeader() would be expected to update FileHeader.Flags to indicate encryption. In the same that FileHeader.Flags gets updated when FileHeader.NonUTF8 gets set by the user.

Hi, wanted to chime in. One roadblock that was hit when I initially was looking to integrate this into the std zip package is that there's a dependency on golang.org/x/crypto/pbkdf2. Not sure if there's a way around this problem.

One roadblock that was hit when I initially was looking to integrate this into the std zip package is that there's a dependency on golang.org/x/crypto/pbkdf2. Not sure if there's a way around this problem.

Not sure if you remember, but you raised that as an issue over in https://github.com/golang/go/issues/13979. Two members of the go org chimed in to say that given that it's ~40 LOC, vendoring or copy/pasting is probably fine.

If necessary we can vendor it into the standard library.  See $GOROOT/src/vendor/golang.org/x/crypto for other vendored crypto packages.

@rsc any chance a decision could be made on this proposal?

Frankly, I am puzzled that a standard golang library has such a big gap on the zip protocol that its possible use on a large scale vanished.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@rsc does ☝ mean the core go team is interested in the feature?
I'm on paternity leave so have a little extra time in my life right now and happy to take a stab at clarifying the API design + implementing it (probably leveraging @alexmullins initial work ☝), but first want to ensure the feature is of interest to the maintainers.

As it turns out, I've been working on a new module for reading and writing zip files (https://github.com/miquella/zipenc). I would happily donate any portion of it, if it would be helpful.
I was hopeful that I could use an existing implementation, but had various troubles getting the existing implementations to work (e.g. missing password validation, poor key initialization, compilation issues, etc.).
Reluctantly, I started a new implementation.
Reimplementing substantial portions of archive/zip sounded very unappealing, but so did maintaining a fork of it. Instead, I opted for a middle-ground that could still be troublesome: wrapping the "raw" file interfaces. Although it hasn't been without trouble, it has largely worked well so far.
The primary trouble is accessing the registered (de)compressors, which is why the module's current state only supports uncompressed files (Store method).
I have tests and things coming, but wanted to get the basic version (which I believe works) posted. Only uncompressed zipcrypto is supported for now, since that's what I needed first.

Note: Although I've tried to implement things according to the APPNOTE spec, it has been absolutely invaluable to have other implementations to reference. So thank you to all of those who came before!
Here are a few that I've referenced while working on this project:

https://github.com/LuaDist/unzip
https://github.com/alexmullins/zip
https://github.com/yeka/zip
https://github.com/kdungs/zip

Above there is a comment about needing a different CTR mode where the counter is written in little-endian order instead of big-endian order. This can be done without forking the crypto/cipher.NewCTR code as follows:
type invBlock struct {
	cipher.Block
}

func reverse(b []byte) {
	for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {
		b[i], b[j] = b[j], b[i]
	}
}

func (b *invBlock) Encrypt(dst, src []byte) {
	reverse(src)
	b.Block.Encrypt(dst, src)
}

func (b *invBlock) Decrypt(dst, src []byte) {
	b.Block.Decrypt(dst, src)
	reverse(src)
}

func NewInvCTR(block cipher.Block, iv []byte) cipher.Stream {
	return cipher.NewCTR(&invBlock{block}, iv)
}

I am not sure what the path forward here looks like. It appears that any API would have to take into account:

Each file entry can have a separate encryption password.
Each file entry can have a separate encryption certificate as well.
The overall zip file can have a separate encryption password for the central directory (used to find out about the other files).
The overall zip file can have a separate encryption certificate as well.
There are a large variety of defined encryption algorithms, and we don't want to make archive/zip depend on them all.

zip.FileHeader is meant to be pure data about the header; it seems wrong to drop in a func field.
I wonder what the minimal set of changes would be to allow code to "bring your own encryption" instead, a bit like how we allow registering compressors and decompressors.

@rsc CTR mode of encryption never calls block.Decrypt, so invBlock.Decrypt can panic.

I think we still don't have a path forward here. I am leaning toward declining this for now. It is not that important and we don't know what to do.

Agree. I've looked at this a little from a design standpoint and didn't see an ergonomic API so I shelved it intending to circle back later in case I was missing something but no clean solution is jumping out at me.

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group


Missing required argument: videoUrls

sorry guys i am not into with these IT stuff but i have to download videos from stream. when i type "node ./destreamer.js", cmd gives this error "Missing required argument: videoUrls" and i could not continue to further steps. help plz

As you can see in the README you need to use node ./destreamer.js --username"YOUR_USERNAME" --videoUrls "YOUR_LINK_TO_THE_VIDEO"

oh thank you. but how can install youtube-dl in$PATH? i installed it already, but i think it must be some specific location

What platform are you on? (windows, linux or macOs)?

windows 7. i handle the youtube-dl part i guess, now i'm trying to install ffmpeg into $PATH

oh great, i handled ffmpeg part as well, let's see if i can handle the rest

if you managed to get youtube-dl into path, great!
now just do the same with ffmpeg!


Please help me to set stochastic forecast! Thank you!

By running deterministic neuralGCM, it's much better than FuXi, Graphcast and Fourcastnet in p_minus_e.
But neuralGCM still predicts worse in two days when running daily case studies.
So I want to try the stochastic  neuralGCM. Just changing the .pkl name to stochastic seems not enough,
it outputs just the deterministic predictions. I've tried to add the "model_config_str" like this:
...
'CHECKPOINT_MULTISTEP = True,'
'StochasticPhysicsParameterizationStep.checkpoint_substep = True',...
It still doesn't work. Please help me ! Thank you.

@weatherforecasterwhai - thanks for raising this up.
Can you please confirm that you are providing different rng_key when calling encode in your experiment?
In our stochastic models randomness is fully controlled by the rng_key, hence given the same keys across rollouts the outputs should be identical.
predictions = []
for rng_key in jax.random.split(jax.random.PRNGKey(seed), ensemble_size):
  init_state = model.encode(input_data, input_forcings, **rng_key**)
  predictions.append(model.data_to_xarray(model.unroll(init_state, forcings, ...))
combined_ds = xarray.concat(predictions, 'ensemble')

Thank you very much for your quick reply!
Of course I don’t know to use keys, I will try in your way soon.
Really need more detailed documents to understand more about how could you have done it so well! I have tried my best to read the codes but in vain.
--
发自我的网易邮箱手机智能版
在 2024-04-08 21:17:44，"Dima Kochkov" @.***> 写道：
@weatherforecasterwhai - thanks for raising this up.
Can you please confirm that you are providing different rng_key when calling encode in your experiment?
In our stochastic models randomness is fully controlled by the rng_key, hence given the same keys across rollouts the outputs should be identical.
predictions = []
for rng_key in jax.random.split(jax.random.PRNGKey(seed), ensemble_size):
init_state = model.encode(input_data, input_forcings, rng_key)
predictions.append(model.data_to_xarray(model.unroll(init_state, forcings, ...))
combined_ds = xarray.concat(predictions, 'ensemble')
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


rocketmq-all-4.7.1-bin-release may has a memory-leak BUG

when I run the command 'sh broker' of rocketmq-all-4.7.1-bin-release/bin, I find the memory usage is more and more bigger.A moments later ,the console shows ：
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 805306368, 0) failed; error='Cannot allocate memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.
An error report file with more information is saved as:
/home/luoxw/rocketmq-all-4.7.1-bin-release/bin/hs_err_pid3509.log
But the version 4.3.2 of RocketMQ has no such problem.
So the latest version of RocketMQ may has something wrong with a memory-leak BUG.
Hope to find and solve it quickly if u can see the issue.

when I run the command 'sh broker' of rocketmq-all-4.7.1-bin-release/bin, I find the memory usage is more and more bigger.A moments later ,the console shows ：
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 805306368, 0) failed; error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.
An error report file with more information is saved as:
/home/luoxw/rocketmq-all-4.7.1-bin-release/bin/hs_err_pid3509.log
But the version 4.3.2 of RocketMQ has no such problem.
So the latest version of RocketMQ may has something wrong with a memory-leak BUG.
Hope to find and solve it quickly if u can see the issue.

Running environment is windows or *nux? Is the broker or namesrv OOM? Do you get some hints from heap dump?

Running environment is windows or *nux? Is the broker or namesrv OOM? Do you get some hints from heap dump?

Thanks for your reply.Running in CentOS 7.4_x64.The namesrv is in a normal running.

I retried to running it and get some info from dump.
"VM Arguments:
jvm_args: -Xms8g -Xmx8g -Xmn4g -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -verbose:gc -Xloggc:/dev/shm/rmq_broker_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:MaxDirectMemorySize=15g -XX:-UseLargePages -XX:-UseBiasedLocking -Djava.ext.dirs=/usr/local/java/jdk1.8.0_181/jre/lib/ext:/home/luoxw/rocketmq-all-4.7.1-bin-release/bin/../lib:/usr/local/java/jdk1.8.0_181/lib/ext
java_command: org.apache.rocketmq.broker.BrokerStartup
java_class_path (initial): .:/home/luoxw/rocketmq-all-4.7.1-bin-release/bin/../conf:.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
Launcher Type: SUN_STANDARD"
I think the memory which I allocated is only 8G is the cause of the problem.It may not has enough memory to run the Broker.But older version don't need such a big memory.And here has some unnormal from dump.Maybe the unknown thread use a lot of Memory.
"
Current thread (0x00007f8390008f50):  JavaThread "Unknown thread" [_thread_in_vm, id=17296, stack(0x00007f8399d5b000,0x00007f8399e5b000)]
Stack: [0x00007f8399d5b000,0x00007f8399e5b000],  sp=0x00007f8399e58e10,  free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xad21aa]  VMError::report_and_die()+0x2ba
V  [libjvm.so+0x5022db]  report_vm_out_of_memory(char const*, int, unsigned long, VMErrorType, char const*)+0x8b
V  [libjvm.so+0x92fe33]  os::Linux::commit_memory_impl(char*, unsigned long, bool)+0x123
V  [libjvm.so+0x92ffa5]  os::pd_commit_memory_or_exit(char*, unsigned long, unsigned long, bool, char const*)+0x35
V  [libjvm.so+0x927ca6]  os::commit_memory_or_exit(char*, unsigned long, unsigned long, bool, char const*)+0x26
V  [libjvm.so+0x5ca13f]  G1PageBasedVirtualSpace::commit_internal(unsigned long, unsigned long)+0xbf
V  [libjvm.so+0x5ca3cc]  G1PageBasedVirtualSpace::commit(unsigned long, unsigned long)+0x11c
V  [libjvm.so+0x5cd0b0]  G1RegionsLargerThanCommitSizeMapper::commit_regions(unsigned int, unsigned long)+0x40
V  [libjvm.so+0x631047]  HeapRegionManager::commit_regions(unsigned int, unsigned long)+0x77
V  [libjvm.so+0x6322e1]  HeapRegionManager::make_regions_available(unsigned int, unsigned int)+0x31
V  [libjvm.so+0x632860]  HeapRegionManager::expand_by(unsigned int)+0xb0
V  [libjvm.so+0x5a12b9]  G1CollectedHeap::expand(unsigned long)+0x199
V  [libjvm.so+0x5a75b5]  G1CollectedHeap::initialize()+0x895
V  [libjvm.so+0xa9a1e3]  Universe::initialize_heap()+0xf3
V  [libjvm.so+0xa9a74e]  universe_init()+0x3e
V  [libjvm.so+0x644875]  init_globals()+0x65
V  [libjvm.so+0xa7eefe]  Threads::create_vm(JavaVMInitArgs*, bool*)+0x23e
V  [libjvm.so+0x6d8d74]  JNI_CreateJavaVM+0x74
C  [libjli.so+0x797e]  JavaMain+0x9e
C  [libpthread.so.0+0x7e25]  start_thread+0xc5
---------------  P R O C E S S  ---------------
Java Threads: ( => current thread )
Other Threads:
=>0x00007f8390008f50 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=17296, stack(0x00007f8399d5b000,0x00007f8399e5b000)]
VM state:not at safepoint (not fully initialized)
"


Void Alchemy Recipes in JEI are bugged

Both Vade Mecum Ritual names are not localized and the text positions are wrong with different GUI sizes

Confirmed to exist in 1.11.2


Update Registry .ci Scripts for CI Operator

Which area is this issue related to?

/area ci
/area registry
Issue Description
The devfile index is now supported for multiple architectures. As part of our plan to move our workloads on openshift ci to arm64 nodes the .ci/openshift_integration.sh script as part of devfile/registry will need to be altered so it does not hardcode amd64 dependencies. The fix for that can follow what was done in other scripts with an optional argument being passed alongside the script. Additionally, the commands setup in ci-operator for the registry tests will also need to be changed to support aarch64 instead of x86_64.

Acceptance Criteria
Step 1:

[ ] .ci/openshift_integration.sh script altered to allow for amd64 or arm64

Step 2 (Depends on step 1):

[ ] ci-operator commands changed to accommodate the changs to the above script

Currently talking with the ocp team about making our workloads work with arm. Currently there may be a limitation on their end about us building the arm64 image ephemerally and sending it in the payload which I believe would affect how our entire ci-operator is setup if that had to change. I'll leave updates here as I receive them.

WIP PR opened for their workloads configs here: https://github.com/openshift/release/pull/52962

Marking as blocked as ocp team is looking into if we are able to do what we need with arm64 through the ci operator. Currently they have "support" for arm64 through a workaround but are unsure if they have support for building arm64 images on the fly which is what we need for our PR checks.

Blocked by: https://issues.redhat.com/browse/DPTP-4054

Moving to backlog - Been in waiting for a while and no updates on blocking issue


Connection to huggingface.co timed out

Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/util/connection.py", line 96, in create_connection
raise err
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/util/connection.py", line 86, in create_connection
sock.connect(sa)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
conn.connect()
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connection.py", line 353, in connect
conn = self._new_conn()
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connection.py", line 174, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7fd5cfa11430>, 'Connection to huggingface.co timed out. (connect timeout=10)')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/root/miniconda3/lib/python3.8/site-packages/urllib3/util/retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /timm/resnet50.a1_in1k/resolve/main/pytorch_model.bin (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fd5cfa11430>, 'Connection to huggingface.co timed out. (connect timeout=10)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/file_download.py", line 1238, in hf_hub_download
metadata = get_hf_file_metadata(
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/file_download.py", line 1631, in get_hf_file_metadata
r = _request_wrapper(
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/file_download.py", line 385, in _request_wrapper
response = _request_wrapper(
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/file_download.py", line 408, in _request_wrapper
response = get_session().request(method=method, url=url, **params)
File "/root/miniconda3/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/utils/_http.py", line 67, in send
return super().send(request, *args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/requests/adapters.py", line 504, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /timm/resnet50.a1_in1k/resolve/main/pytorch_model.bin (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fd5cfa11430>, 'Connection to huggingface.co timed out. (connect timeout=10)'))"), '(Request ID: b3552eef-0753-455a-a7b7-8dd61af412af)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "train.py", line 47, in
trainer.fit(model, train_dataloaders=train_dataloader, val_dataloaders=test_dataloader)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 735, in fit
self._call_and_handle_interrupt(
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 682, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1193, in _run
self._dispatch()
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1272, in _dispatch
self.training_type_plugin.start_training(self)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 202, in start_training
self._results = trainer.run_stage()
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1282, in run_stage
return self._run_train()
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1304, in _run_train
self._run_sanity_check(self.lightning_module)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1368, in _run_sanity_check
self._evaluation_loop.run()
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 140, in run
self.on_run_start(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 96, in on_run_start
self._on_evaluation_epoch_start()
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 214, in _on_evaluation_epoch_start
self.trainer.call_hook("on_validation_epoch_start", *args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1483, in call_hook
output = model_fx(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/root/DiAD-main/ldm/models/diffusion/ddpm.py", line 484, in on_validation_epoch_start
pretrained_model = timm.create_model("resnet50", pretrained=True, features_only=True)
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/_factory.py", line 117, in create_model
model = create_fn(
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/resnet.py", line 1322, in resnet50
return _create_resnet('resnet50', pretrained, **dict(model_args, **kwargs))
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/resnet.py", line 584, in _create_resnet
return build_model_with_cfg(ResNet, variant, pretrained, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/_builder.py", line 397, in build_model_with_cfg
load_pretrained(
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/_builder.py", line 190, in load_pretrained
state_dict = load_state_dict_from_hf(pretrained_loc)
File "/root/miniconda3/lib/python3.8/site-packages/timm/models/_hub.py", line 188, in load_state_dict_from_hf
cached_file = hf_hub_download(hf_model_id, filename=filename, revision=hf_revision)
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/huggingface_hub/file_download.py", line 1371, in hf_hub_download
raise LocalEntryNotFoundError(
huggingface_hub.utils._errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.
请问这个问题怎么解决

It seems that your network cannot download the pretrained resnet50 model from timm, where in File "/root/DiAD-main/ldm/models/diffusion/ddpm.py", line 484, in on_validation_epoch_start
pretrained_model = timm.create_model("resnet50", pretrained=True, features_only=True).
One solution is that you could download the pretrained model first and put it in your path and revise the code:
pretrained_model = timm.create_model("resnet50", pretrained=False, checkpoint_path=your_path, features_only=True).