bump up otel java agent version to 1.23.0

Changes
Please provide a brief description of the changes here.
Merge Requirements
For new features contributions please make sure you have completed the following
essential items:

[ ] CHANGELOG.md updated to document new feature additions
[ ] Appropriate documentation updates in the docs

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

Change log please!


crazy_star-arthur

I made a kind of fractal looking thing that depend entirely on the size variable, which as well as changing the size it also can make it look VERY different. I do wish there was dark mode in the IDE, but other then that I like programming for the blot.
Also, if this falls under "simple algorithmic patterns" and won't get accepted, just let me know and I will make something else.

This is a bit too simple and probably not drawable. Try to narrow in on a concept for your piece. Start with some hand sketches.


(misc) Refresh module metadata

This is a follow-up to:
https://github.com/choria-io/general/issues/19

Should we add AlmaLinux and RockyLinux also?

And surely we can remove Solaris :)

Sure, I guess we can sync puppet-choria and puppet-mcollective

I did my best to have the list up-to-date.  Proofreading encouraged!

looks good - presumably same as the other PR, squash and its good to go


Summary
Would be cool to make it possible to set ConnectionConfig parameters for the ConnectIf method to. Like it is for Connect and ConnectWait.
API Changes
ConnectIf(ConnectionConfig connectionConfig)
Intended Use Case
To Stop AutoConnect when connected via ConnectIf.

Why not send a PR for easy additions like this?

Done #163 :)


Allows user to configure maximum Ribbon payload size

@bobmcwhirter
So far the only default configuration with Ribbon that I think is "unreasonable" is the HttpObjectAggregationConfigurator.DEFAULT_CHUNK_SIZE (1MB). Basically if you have a REST payload that exceeds 1MB Ribbon fails. You need to configure Ribbon for the maximum message size you want ionetty to be capable of dealing with
https://groups.google.com/forum/#!topic/ribbon-users/nviL9gcIows
I have expanded the secured ribbon client api slightly to allow users to pass in their own SecuredRibbonResourceFactory which can be constructed via a simplified public constructor. Maybe an options object or more generally options belong here, but I guess it is a start.
You can now use RibbonSecured with a custom chunk size in a variety of ways :
// I want 4MB messages
final SecuredRibbonResourceFactory ribbonResourceFactory = new SecuredRibbonResourceFactory(HttpObjectAggregationConfigurator.DEFAULT_CHUNK_SIZE * 4);
// use proxies
final MyService service = SecuredRibbon.from(ribbonResourceFactory, MyService.class);
// work with resource groups directly
final HttpResourceGroup resourceGroup = ribbonResourceFactory.createHttpResourceGroup("MyOtherService");

thanks!


Bad code generated for except +* function

Hello up there. Please consider the following example:
---- 8< ---- (y.pyx)
# cython: language_level=2
# distutils: language=c++

cdef extern from *:
    """
    #include <exception>
    void ggg() {
        throw std::bad_alloc();
    }
    """
    void ggg()

cdef void fff() except *:
    raise RuntimeError('aaa')

cdef void hhh() except +*:
    fff()
    ggg()

def aaa():
    hhh()

Explanation:

ggg throws C++ exception and is not marked with except + -- thus functions that calls ggg may throw C++ exception themselves;
fff raises Python exception but returns void. It thus is marked with except * for its caller to check whether Python exception occurred.
hhh calls both fff and ggg. It thus may raise either Python exception (from fff) or C++ exception (from ggg). hhh is thus marked as except +*.

When trying to cythonize y.pyx, it gives:
/home/kirr/tmp/trashme/pyx/y.cpp: In function ‘void __pyx_f_1y_hhh()’:
/home/kirr/tmp/trashme/pyx/y.cpp:1189:3: error: ‘__pyx_r’ was not declared in this scope
   __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>;
   ^~~~~~~
/home/kirr/tmp/trashme/pyx/y.cpp:1189:3: note: suggested alternative: ‘__pyx_f’
   __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>;
   ^~~~~~~
   __pyx_f
/home/kirr/tmp/trashme/pyx/y.cpp:1189:13: error: expected primary-expression before ‘<’ token
   __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>;
             ^
/home/kirr/tmp/trashme/pyx/y.cpp:1189:14: error: ‘Cython’ was not declared in this scope
   __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>;
              ^~~~~~
/home/kirr/tmp/trashme/pyx/y.cpp: In function ‘PyObject* __pyx_pf_1y_aaa(PyObject*)’:
/home/kirr/tmp/trashme/pyx/y.cpp:1229:5: error: ‘__Pyx_CppExn2PyErr’ was not declared in this scope
     __Pyx_CppExn2PyErr();
     ^~~~~~~~~~~~~~~~~~

With the following code generated for hhh:
static void __pyx_f_1y_hhh(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hhh", 0);

  /* "y.pyx":17
 *
 * cdef void hhh() except +*:
 *     fff()             # <<<<<<<<<<<<<<
 *     ggg()
 *
 */
  __pyx_f_1y_fff(); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17, __pyx_L1_error)

  /* "y.pyx":18
 * cdef void hhh() except +*:
 *     fff()
 *     ggg()             # <<<<<<<<<<<<<<
 *
 * def aaa():
 */
  ggg();

  /* "y.pyx":16
 *     raise RuntimeError('aaa')
 *
 * cdef void hhh() except +*:             # <<<<<<<<<<<<<<
 *     fff()
 *     ggg()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("y.hhh", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

Notice the __pyx_r = <Cython.Compiler.ExprNodes.CharNode object at 0x7f8e76e20810>; line.
Cython version: 0.29.13-514-gac1c9fe47 (today's master).
Thanks beforehand,
Kirill

https://github.com/cython/cython/issues/3064 is different, but probably related.

Running into this as well. My current work around for this issue is the following dummy function:
cdef dummy() except +:
    dummy()

which tricks cython into generating
/* CppExceptionConversion.proto */
#ifndef __Pyx_CppExn2PyErr
#include <new>
#include <typeinfo>
#include <stdexcept>
#include <ios>
static void __Pyx_CppExn2PyErr() {
  try {
    if (PyErr_Occurred())
      ; // let the latest Python exn pass through and ignore the current one
    else
      throw;
  } catch (const std::bad_alloc& exn) {
    PyErr_SetString(PyExc_MemoryError, exn.what());
  } catch (const std::bad_cast& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::bad_typeid& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::domain_error& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::invalid_argument& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::ios_base::failure& exn) {
    PyErr_SetString(PyExc_IOError, exn.what());
  } catch (const std::out_of_range& exn) {
    PyErr_SetString(PyExc_IndexError, exn.what());
  } catch (const std::overflow_error& exn) {
    PyErr_SetString(PyExc_OverflowError, exn.what());
  } catch (const std::range_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::underflow_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::exception& exn) {
    PyErr_SetString(PyExc_RuntimeError, exn.what());
  }
  catch (...)
  {
    PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
  }
}
#endif

Looking at the original, only cdef extern functions should be except +. It definitely isn't safe to let C++ exceptions propagate through Cython-generated code. Therefore ggg should be except+ and hhh is except *.
It looks like there's somewhere that doesn't generate the correct utility code though... I'm not sure if that's because the assume that a Cython-defined function can't be except + (in which case we need to enforce it with an error message) or if the issue is elsewhere

In my case I have C++ functions, that can throw exceptions or have an error set from e.g. PyUnicode_READY.
cdef extern from "example.hpp":
    double func1(...) except +*
    double func2() except +*

Thanks @maxbachmann - that's as useful clarification

bba69054b4aff2c0a63a8be9d6ce5c9fdd079a52

Thanks, @da-woods.


Parser: warn if attributes placed before struct/enum/union

Also fixes a crash that occurred if an invalid attribute occurred at the end
of a file, since no attribute is added to the buffer in that case.

This is probably not the right place for this check; I'm also adding some verification for attribute args. I'll update this attribute check while I'm at it.

I'm also adding some verification for attribute args.

I was also planning on doing this and documented the argument types fo each attribute in 398446e296cff82dd73d4723cc6721144748da53, maybe it'll be useful to you?

Oh nice, definitely. The four attributes which are directly used by translate-c are section (vars and functions), packed (records), aligned (vars, fields, and functions), and cleanup (vars); so I thought I'd start with those.


NTR: PLAC-seq

Hello, the ENCODE project would like to request a new assay term to be made for some new experiments we are anticipating.
PLAC-seq (proximity ligation-assisted ChIP-seq)
There is an existing EFO term for PLAC-seq (https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2FEFO_0009981).
editor preferred term: PLAC-seq
alternate terms: proximity ligation-assisted ChIP-seq
textual definition: PLAC-seq is a chromosome conformation capture-based assay in which proximity ligation is conducted in nuclei prior to chromatin shearing and immunoprecipitation. Immunopreciptation with an antibody that targets a transcription factor or histone modification allows for selection and enrichment of specific genomic regions for investigation of long-range chromosomal interactions.
definition source for the textual definition: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5143423/
logical definition: chromosome conformation capture assay (OBI:0002439) —> PLAC-seq

How about switching the preferred term with the alternate term? Very few people will know what PLAC stands for; we can switch it back later? Otherwise this looks great.

That's fine with me @bpeters42! I don't mind having proximity ligation-assisted ChIP-seq as the preferred term, and PLAC-seq as the alternate term. Thanks for your help.

Discussed. James will do the NTR.


Expose prometheus compatible metrics on /prometheus

We run Zipkin in several kubernetes clusters and thus we need a sane way of collecting the metrics.
As Prometheus has all the built-in support for dealing with the moving parts of Kubernetes, it seems
like a rational choice.
This PR exposes Spring Actuator metrics on /prometheus
using the 0.0.4 version of their text format specified
here https://prometheus.io/docs/instrumenting/exposition_formats/.
Not crazy about the path, but adding new controllers into /metrics/* seems like more complexity than needed.

@negatioN interesting for FINN?

cool. I didn't expect this to be possible without adding a dependency (though we ought to have a test dependency to ensure the results are parseable by prometheus).
Metrics export is something that is quite deployment-specific.. would you mind creating an autoconfigure module for this instead? you can then make that module an optional dependency of zipkin-server. This allows it to get into the all-jar (for docker etc), but not pulled in automatically for those running custom builds.
You could do still do everything in one class, just it reduces the scope a bit. That module should include a README saying what version of prometheus format it works with, and ideally a test parser.
I think this is fair to add to core as modularity in docker is still not worked out, this is only a small dependency, and assuming @kristofa also wants this, we have 2 core committers who work at different companies interested in prometheus (and might be able to help support bug-fixes).
Sound reasonable?

Prometheus support would be great.
Definitely interested.
Op zondag 26 juni 2016 heeft Adrian Cole<EMAIL_ADDRESS>het
volgende geschreven:

cool. I didn't expect this to be possible without adding a dependency
(though we ought to have a test dependency to ensure the results are
parseable by prometheus).
Metrics export is something that is quite deployment-specific.. would you
mind creating an autoconfigure module for this instead? you can then make
that module an optional dependency of zipkin-server. This allows it to get
into the all-jar (for docker etc), but not pulled in automatically for
those running custom builds.
You could do still do everything in one class, just it reduces the scope a
bit. That module should include a README saying what version of prometheus
format it works with, and ideally a test parser.
I think this is fair to add to core as modularity in docker is still not
worked out, this is only a small dependency, and assuming @kristofa
https://github.com/kristofa also wants this, we have 2 core committers
who work at different companies interested in prometheus (and might be able
to help support bug-fixes).
Sound reasonable?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/zipkin/pull/1144#issuecomment-228582560,
or mute the thread
https://github.com/notifications/unsubscribe/ACHltIkxEg-ZV5_F2v9tvzp48Gt8FRNFks5qPfVqgaJpZM4I9y5e
.

Alright-y,
moved the code into a auto configure module, and added some docs. Couldn't find any Java based parser, and building and running go code as a part of the test suite seemed a bit overkill :)

No required changes on my end, except linking to the server's README (to make it more discoverable)
nice work!

nice work. squashed on entry

hi all. I just noticed that prometheus' java client now ships with spring boot support. any thoughts on whether we should switch? https://github.com/prometheus/client_java/tree/master/simpleclient_spring_boot/src/main/java/io/prometheus/client/spring/boot
cc @shakuzen


Use VecDeque<OwnedFd> and Vec<OwnedFd> for in_fds/out_fds

This avoids some awkward and potentially error-prone code, and should perform no worse than how the Buffer type was used.

https://github.com/Smithay/wayland-rs/pull/672 and https://github.com/Smithay/wayland-rs/pull/673 address CI failures here, that aren't related to this PR.
This should be good to merge now. A nice reduction in code, if not by that much. Despite this being PR 666, this seems less cursed than the code that was using std::mem::forget.

Hm, I guess parse_message here could behave incorrectly if MssingData is returned after consuming an fd. Then the fd will have been discarded when it tries to parse again later.
Moving to OwnedFd where possible is good, though that is an awkward case to deal with...

Okay, it already checks len > raw.len() before parsing, so that would only happen if a message contains two fds and all the bytes are written before the second fd is sent. And this issue already exists. So I guess that doesn't block this.

I guess this needs to be rebased for the CI to properly run


Exceptions

SUMMARY:
This PR introduces the Rubix\ML\Exceptions namespace.
Existing exceptions in the global namespace  are now thrown as the equivalent exception in the Rubix\ML\Exceptions namespace (e.g. \InvalidArgumentException is now \Rubix\ML\Exceptions\InvalidArgumentException). These exceptions all implement the RubixMLException interface which can now act as a generic flag to catch things thrown from within the library.
This PR introduces no BC breaks: if existing user-land code is catching \RuntimeException, \InvalidArgumentException etc then this is still valid as the new Exceptions also extend them. This paves the way for more expressive and granular error types in the future, and perhaps a larger overhaul of the exceptions hierarchy in 1.0 or beyond.
I've purposely kept the scope of this PR targeted to the existing exceptions to avoid introducing too many new changes in a single leap.

I'm liking the direction of this first step, I'm wondering what your vision was for the next couple steps. How does this serve as the basis for our exception system in  the futrue?

Ok took some time to let this marinate (visualize the path forward) but I think this is it ... the only thing that is still a toss up for me is the name of our exception interface. Should it be \Rubix\ML\Exceptions\RubixMLException or just \Rubix\ML\Exceptions\Exception?
Also can you pull the new 0.3.0 changes so we can merge via Github?

Sounds good @simplechris nice work! We should probably provide exception documentation at some point. Do you have something in mind for the docs already?

@simplechris We need to remember to update the Extras repo with these new exceptions as well before we release Extras 0.3.0-beta


Fixing bug with allowing 5.1

composer doesn't recognize wildcards in >= constraint

@jhoopes please test it before sending a PR. Even I notice that but thought you tested.


Binary Search Tree Validation

Given a binary tree root, return whether it's a binary search tree. A binary tree node is a binary search tree if :
------(C++)

All nodes on its left subtree are smaller than node.val
All nodes on its right subtree are bigger than node.val
All nodes hold the these properties.

Constraint:
n ≤ 100,000 where n is the number of nodes in root

Please assign me this problem.

@leninmeher @arihantthriwe Which Language guys?

C++

@leninmeher Assigned in C++

C

Should i create a new branch...??

@arihantthriwe I'll assign this to you in C, but now this repo has been excluded from Hacktoberfest 2021, please read the pinned issue of this repo to know more :')

@arihantthriwe I'll assign this to you in C, but now this repo has been excluded from Hacktoberfest 2021, please read the pinned issue of this repo to know more :')


Make failed transactions more obvious

On transaction table, indicate failed transactions somehow.  On the transaction page possibly make it more obvious too.

Added errorMessage on the transaction page when there's a failure and made it red, still need to make it more obvious on the transaction table though

Reopened since still need to update transaction table.


Bumped Mesos package to 1.4.x head 60b8d41.

High Level Description
This PR bumps the Mesos package to the latest HEAD of the 1.4.x branch, to bring in the recent backported bugfix.
Related Issues

MESOS-7926 Abnormal termination of default executor can cause MesosContainerizer::destroy to fail.
MESOS-7934 OOM due to LibeventSSLSocket send incorrectly returning 0 after shutdown.

Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here: This PR relies on the Mesos test suite
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): Mesos diff
[x] Test Results: CI results
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and Review Process
What is the review process and when will my changes land?
All PRs require 2 approvals using github's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

In the branch dcos-mesos-1.4.x-60b8d41, I see there is a commit Added MESOS-7934 to the 1.4.0 CHANGELOG., but I do not see a similar one for MESOS-7926, should we add one for that? @jieyu

LGTM

@qianzhangxa , it is a documentation change that we can backport to Mesos later. Should not be a blocker for DC/OS 1.10 GA.

@Gilbert88 please also include (a) DC/OS JIRA ticket(s) which motivates this change from a DC/OS point of view in the PR description!

@mesosphere-mergebot bump-ee


Create a job artifact for the jar

In gitlab by @sylvaingaudan on Jul 20, 2017, 13:17
Change the .gitlab-ci.yml file to declare the jar artifact. See:
https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html

In gitlab by @sylvaingaudan on Jul 20, 2017, 13:19
added ~2328385 label

In gitlab by @sylvaingaudan on Jul 20, 2017, 13:19
changed the description

In gitlab by @sylvaingaudan on Jul 21, 2017, 12:17
changed milestone to %7

In gitlab by @sylvaingaudan on Jul 21, 2017, 13:48
added ~1918368 label

In gitlab by @sylvaingaudan on Jul 21, 2017, 13:48
assigned to @sylvaingaudan

In gitlab by @sfalquier on Jul 21, 2017, 17:07
closed

In gitlab by @sfalquier on Jul 21, 2017, 17:07
removed ~1918368 label


X12 Select applicative throwing NullReferenceException when segment missing

X12 Select applicative throwing NullReferenceException when segment missing.

This is fixed in my next commit.


Provide convenient way for MessageProcessor to provide compatible message and compatible message response class type

Message processor implementations require two very boiler-plate methods (getCompatibleMessage and getCmpatibleMessageResponseClassType) that could probably be provided from an abstract class.
Also, the method names are slightly inconsistent.  They both return a class, but their naming makes me think they're going to do something different from each other.  Perhaps consider making the naming a bit more consistent, like getCompatibleMessageClass and getCompatibleMessageResponseClass.

Will have to be version 2.x since I am following semver and fixing inconsistency in the method names of the interface will introduce a breaking change. Good catch though.
Thanks for submitting!


Get rid of "stale 'now' ", In case IdentityModel ConfigurationManager takes long time to get Idp Metadata

This is to address "stale now" issue.
This meta data is cached for x seconds to reduce the call to Idp server to get meta data.  But to make the cache works, a global lock is imposed cross requests.  Cache start time is set before calling to Id server, not after the call returns. I call it a “stale now”. This is  a problem when call to Idp server take longer then x seconds.  Ocz x seconds has been changes from 30s to 5m from version 6.8 to version 6.27, make it less sever.
When the call to IdentiyProvider has issue, take much longer time, all requests are blocked at this lock.
Once the call eventually returned from Idp server, SOME requests piling at the lock can just take cached data and  keep going. But if the call to Id server take longer than cache time x seconds, those requests come later than stale now + x seconds, still need call Id server again. The global lock is blocking 2nd half requests and new requests again.  This can get worse and worse.

@RyanLiu99 for some reason this is showing up with a conflict, can you rebase on top of dev.

@brentschmaltz   I just merged dev branch into my branch, no conflicts at all.  Can you try again?

@RyanLiu99 something odd is going on, git is blocking this PR.
Perhaps start with a new branch?
Last resort, i can do a manual merge, but would like to see your name on the PR.

Ok, @brentschmaltz  I'll do it .

A new PR created.  I will close this one.  @brentschmaltz
https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/2063
Sorry take a while, I was travelling.


histogram testing

we need to do a bunch of testing on all the results aggregation

issues remain.

another issue with histograms is the stepwise nature of the alternative and alternative comparison report results histograms. I have a suspicion that it has to do with sturge's rule and the resulting bin widths because we use sturges rule on these two results objects but not the scenario results objects, which have nice histograms.

The above histogram came from the following alternative setup:

Each scenario is identical (this might be the problem). I am using the default frequency relationship and the default stage-discharge.

This is the stage-Damage:


aspire, and aspire-starter templates fail when the name includes unicode characters on Windows

Creating aspire, or aspire-starter templates which have a .sln file fail to create when the name includes unicode characters:
dotnet new aspire -o "aspire 😀"

This works when using templates that generate individual projects though, for example aspire-nunit:
dotnet new aspire-nunit -o "aspire 😀"

This fails only on Windows.
cc @DamianEdwards
Edit: this was found in a test using the name aspire_龦唉丂荳_㐁ᠭ_ᠤསྲིདخەلꌠ_1ᥕ_😀.

This matches what I found when we looked at this last time. Do we know if .sln files even support unicode characters on Windows?

This matches what I found when we looked at this last time. Do we know if .sln files even support unicode characters on Windows?

I can create a dotnet new sln -o "test-sln 😀", and then add manually add a aspire-apphost project:

Ah ok good to know.


put the images drop below instead of left side

can you put the images container below instead like most tier list websites. id do it but I don't know coding that well. more of a CSS person.

Hi, sorry for taking so long to answer. I tried changing the layout to horizontal like you suggested and I think I like it better than the vertical, so I changed it.
For whoever liked the vertical layout better, it is still available in the vertical branch.
Feel free to comment below about it.


Update License. We're not AngularJS.

He-he :)
I suppose there must be Michael Allar in the copyright notice, right?

Thanks for pointing this out, doh. Closing this PR but going to change it to Gamemakin LLC instead. Thanks!


feat: USE_FULL_PROJECT_PROMPT + extracting code from ```

Changes:

USE_FULL_PROJECT_PROMPT env var. If enabled for each file generation prompt we will include all the files generated before
Sometimes GPT-3.5 still returns some words around the content of the file. This change extracts code from ``` blocks.
OPENAI_DEFAULT_MODEL and OPENAI_DEFAULT_MAX_TOKENS env vars added

The change is tested with USE_FULL_PROJECT_PROMPT=True OPENAI_DEFAULT_MODEL=gpt-3.5-turbo-16k-0613 OPENAI_DEFAULT_MAX_TOKENS=9000 and USE_FULL_PROJECT_PROMPT makes a big change for small projects. My generated project is ~5000 tokens, so I'm safe to include full project files in the prompt.

@CodiumAI-Agent please review

Preparing review...

PR Analysis

🎯 Main theme: Adding environment variables for configuration and improving code generation
🔍 Description and title: Yes
📌 Type of PR: Enhancement
🧪 Relevant tests added: No
✨ Minimal and focused: Yes, the PR is focused on improving the code generation process by adding environment variables for configuration and extracting code from blocks.
🔒 Security concerns: No, the PR does not introduce any obvious security concerns. The added environment variables are used for configuration and do not involve sensitive data.

PR Feedback

💡 General PR suggestions: The PR is generally well-structured and the changes are clear. However, it lacks tests to verify the new functionality. It would be beneficial to add tests that check the behavior when the new environment variables are set. Also, consider removing the print statement used for debugging.

🤖 Code suggestions:

relevant file: constants.py
suggestion content: Consider using os.getenv instead of os.environ for getting environment variables. This will return None if the environment variable is not set, which can simplify the code. For example, USE_FULL_PROJECT_PROMPT = os.getenv('USE_FULL_PROJECT_PROMPT', 'False').lower() in ('true', '1') [important]

relevant file: constants.py
suggestion content: Avoid using print statements for debugging in production code. If necessary, consider using a logger for this purpose. [medium]

relevant file: main.py
suggestion content: Consider handling the case where the regex match fails in the get_code_from_string function. Currently, if the match fails, the entire input string is returned, which may not be the desired behavior. [important]

relevant file: main_no_modal.py
suggestion content: Similar to the previous suggestion, consider handling the case where the regex match fails in the get_code_from_string function in this file as well. [important]

How to use

Tag me in a comment '@CodiumAI-Agent' to ask for a new review after you update the PR.
You can also tag me and ask any question, for example '@CodiumAI-Agent is the PR ready for merge?'


effect(enter) doesn't work with transpose

When I run this syntax on the test app, the effect(enter) is ignored.  If I remove the transpose syntax it works.
data('sample:US States.csv') bar x(abbr) y(population) color(dem_rep:reds-blues) effect(enter) transpose

I may have fixed as a by-product of another change; it seems to work on the develop branch as of today. I'll investigate further

Note this fix still doesn't work in Chrome.  I see it works in Firefox and Internet Explorer.

fixed on chrome on develop


How to pause all musics on a page

Hi all,
I want change url of a player by ajax reponse, but after load old audio still play, i mean too audios play same time.
How to pause all musics on a page?
Thanks.

Hi,
Did you find any solution for that?

You can use pause API to pause a player. See API.


Respect VS debugger hex-formatting selection

If you have "hexadecimal display" selected in VS, only single "int" objects will be displayed in hex. int objects in arrays for example, are still shown in decimal.

For the most part, we try to use Python's own repr() for the values, and it doesn't know anything about hexadecimal, unfortunately. This is currently special-cased for int, and it could to some extent be special-cased in standard collections, since we already handle those ourselves to limit their output. But all such fixes will be limited - we can never fix it in the most generic case (an arbitrary type defining its own __repr__ that prints out ints as part of its representation).

Works with both int and int arrays now.


⚠ Nebulance has degraded performance

In 5a14de7, Nebulance ($NBL) experienced degraded performance:

HTTP code: 200
Response time: 1373 ms

Resolved: Nebulance performance has improved in 5b9544c after 6 minutes.


Compare adaptive mesh refinement to danail2014newton

Now that I've dug through their references more thoroughly, it's clear that our approaches to adaptive refinement are radically different.
The AMR approach in danaila2014newton is definitely not what we want for Phaseflow; but we may end up wanting to try it for the purposes of reproducing their results.

Addressing issue #48 requires a better understanding of the AMR algorithm.

From the in-source documentation:
  /// A class for goal-oriented adaptive solution of nonlinear
  /// variational problems.
  ///
  /// For a nonlinear variational problem of the form: find u in V
  /// satisfying
  ///
  ///     F(u; v) = 0 for all v in :math:`\hat V`
  ///
  /// and a corresponding conforming discrete problem: find u_h in V_h
  /// satisfying (at least approximately)
  ///
  ///     F(u_h; v) = 0 for all v in :math:`\hat V_h`
  ///
  /// and a given goal functional M and tolerance tol, the aim is to
  /// find a V_H and a u_H in V_H satisfying the discrete problem such
  /// that
  ///
  ///     \|M(u) - M(u_H)\| < tol
  ///
  /// This strategy is based on dual-weighted residual error
  /// estimators designed and automatically generated for the primal
  /// problem and subsequent h-adaptivity.

  class AdaptiveNonlinearVariationalSolver
    : public GenericAdaptiveVariationalSolver
  {

The approach is documented in my conference paper.


style: navbar items change

Pull Request
Related Issues:
[List any related issues or reference them using the syntax #issue_number.]
Fixes #214
Description:
Changed navbar items
Checklist:

[x] I have tested my changes.
[x] My code follows the project's coding standards.
[ ] I have updated the documentation (if applicable).

Screenshots:
[If applicable, include screenshots to help reviewers understand your changes.]

@Jaimin25 please use this icons
Moon - https://fonts.google.com/icons?icon.query=moon&icon.platform=web
Sun- https://fonts.google.com/icons?selected=Material+Symbols+Outlined:light_mode:FILL@1;wght@500;GRAD<EMAIL_ADDRESS>Profile- https://fonts.google.com/icons?selected=Material+Symbols+Outlined:person:FILL@1;wght@500;GRAD<EMAIL_ADDRESS>and increase the gap between them by a little

@ani1609 can you review this


Remove version: Jackett.Jackett version 0.21.1519

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1519/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


pull: follow redirects when checking if bottle is published

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

The error I was getting:
==> Verifying bottles published on Bintray
Verifying bottle: wpscan-2.9.3.x86_64_linux.bottle.tar.gz
Error: Failed to find published wpscan bottle at https://linuxbrew.bintray.com/bottles/wpscan-2.9.3.x86_64_linux.bottle.tar.gz (302 )!

Following the redirection fixes that.

cc @sjackman @reitermarkus @jonchang @maxim-belkin

LGTM! :)

I'd like to verify this solves a macOS problem first.

To recap a conversation in Slack… unpublished or very recently published bottles are not redirected with an HTTP 302 redirect, but older bottles are redirected. It's unclear when that transition happens.

For example, this bottle published ten hours ago, is already being redirected:
❯❯❯ curl -sD- https://homebrew.bintray.com/bottles/libxml2-2.9.5.sierra.bottle.tar.gz | head -n1
HTTP/1.1 302

I'm with killing that pull request. It does not solve any practical problem on mac, and I will adapt my workflow for Linux.
Just tell me if you still would like to have these changes or not.

As @jcount discovered, though only HTTP GET are redirected.  It does not solve any practical problem on mac, and I will adapt my workflow for Linux.
Just tell me if you still would like to have these changes or not.

:cool:, passing on this for now, thanks anyway @iMichka!

Thanks, no problem :) As it does not fix anything, no need to merge it :)


"no mixin named reset"

I came across this error a number of times, in compiling scss used in samples here.　However I checked the details of scss files, couldn't find its definition.Do you have?

this has been fixed after updating scss files


Added 🇺🇦 Ukrainian locale for Portal

refs https://github.com/TryGhost/Team/issues/2795

Ukrainian translation - used informal form

Merged this as it's "good enough" for the first iteration. @OleksyKor - massive thanks for the review 🙌


Create 'Community' GitHub repo

We need our own GitHub repo to help us organize. Considering our primary goal is to enable and sustain the Open Collective community, it would make sense for the repo to reside under https://github.com/opencollective
To do

[ ] Propose the idea to Open Collective leadership
[ ] Have them set up the repo and invite interested community team members
[ ] Transfer related issues and projects from this repo
[ ] Organize and structure the repo

This is a critical need for this community to bootstrap itself, in particular to have a single "homepage" to use to both 1) attract volunteers to build the community, and 2) to have a simple place that provides tasks/ideas that volunteers could step up to do.
In particular, when and how could we use GH Pages to build a public-facing site, at least a landing page that provides rough goals, hoped-for timeline, and key links to how to get involved?  While most of the work of existing volunteers can be done in GH issues/discussions/etc or on Slack, finding new volunteers is best done with a proper landing page, even if simple.  Just pointing community-type newcomers to a github.com/blah/issues page is not a friendly experience (with the sole exception being open source developers looking for code projects).

Circling back to this as it's still something that one of the owners/admins of https://github.com/opencollective would need to set up.
I just checked to make sure https://github.com/opencollective/community/ wasn't occupied before making this request again...
...and now realizing @xdamman's project occupies the obvious namespace (same with https://opencollective.com/community)
As noted in https://github.com/fosscontributors/opencollective/issues/6#issuecomment-1793532648 I've been in touch with Xavier about the status of his project (and subsequently started this convo https://opencollective.com/community/conversations/open-collective-community-lpye3g6a).
Feeling like this is another reason why we should join forces and follow through and extend this vision https://opencollective.com/community#category-ABOUT

I've been corresponding with @xdamman (owner of https://github.com/opencollective/community/) about the following options

repurpose https://github.com/opencollective/community/

transfer issues and discussions currently residing in this repo (I could transfer if I had admin permissions on https://github.com/opencollective/community/)
create a branch to house code for a WordPress or Drupal based Open Collective community site (which would include features/functionality envisioned on https://github.com/opencollective/community/)

rename https://github.com/opencollective/community/ (call it community-platform?) - then options could include

rename/transfer https://github.com/fosscontributors/opencollective to https://github.com/opencollective/community/
create a new repo occupying the 'community' namespace

We'll need Open Collective leadership / https://github.com/opencollective/community/ admins to sign-off and make it happen. We've been keeping folks informed by sharing this issue and Slack Canvas

@gusaus have we complete any action items yet on this? ex: contacted OC leadership. Do you need our want help with that?

@tekNorah I actually forget that @xdamman also owns https://github.com/opencollective/community/ in addition to https://opencollective.com/community (see https://github.com/fosscontributors/opencollective/issues/6).
As mentioned in https://github.com/fosscontributors/opencollective/issues/6#issuecomment-2148299931 I think the loss of their nonprofit Slack instance creates an additional need for an engaged (sustainable) community.
Access to https://github.com/opencollective/community/ (which hasn't been active in almost four years) would enable us to update the readme and transfer https://github.com/fosscontributors/opencollective/issues so it reflect goals/needs of the larger community.


Allow downstream host to contain placeholders

New Feature
Allow the Host configuration element to have placeholders that can be replaced by values from the upstream template.
{
    "DownstreamPathTemplate": "/api/{everything}",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
        {
            "Host": "{service}-{version}",
            "Port": 80
        }
    ],
    "UpstreamPathTemplate": "/{namespace}/webappgateway/{service}/{version}/{everything}",
    "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]
}

To work around this limitation we need to create a series of configurations like this
{
    "DownstreamPathTemplate": "/api/{everything}",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
        {
            "Host": "myservice-v1",
            "Port": 80
        }
    ],
    "UpstreamPathTemplate": "/{namespace}/webappgateway/myservice/v1/{everything}",
    "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]
},
{
    "DownstreamPathTemplate": "/api/{everything}",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
        {
            "Host": "myservice-v2",
            "Port": 80
        }
    ],
    "UpstreamPathTemplate": "/{namespace}/webappgateway/myservice/v2/{everything}",
    "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]
},
{
    "DownstreamPathTemplate": "/api/{everything}",
    "DownstreamScheme": "http",
    "DownstreamHostAndPorts": [
        {
            "Host": "anotherservice-v10",
            "Port": 80
        }
    ],
    "UpstreamPathTemplate": "/{namespace}/webappgateway/anotherservice/v10/{everything}",
    "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]
}

Motivation for New Feature
This provides additional configurability that Ocelot currently does not have that would help in our migration efforts from our current poorly performing gateway to Ocelot as our gateways.

I would also very appreciate this feature.

This would be very useful indeed.

Would you guys be interested in a PR for this feature? 🤔

@MattMinke commented Mar 9, 2019

Why not to use Service Discovery feature? ...instead of requesting something very specific.
In addition seems you need to develop Custom Provider.
Finally, I would say that current Placeholders logic is complex and  small refactoring can take abnormal efforts to implement your feature and stabilize current logic.
Sorry, we cannot accept this request.
If you need this feature really, please contribute!

@labarilem commented on Jun 23, 2020

Hi Marco!
Yes, we would!
Have you developed a solution?


KICK when chat message recieved with 3 numbers, at least one of which has a decimal

Reproduction:
in any world, singleplayer or multiplayer, have a chat message sent from you or someone else or the server that has 3 total numbers, one of which has a decimal.
Examples:
5 0.5 5
5, 0.5, 5
5 asdfadsf 5 asdfas 0.5
Testing with a 1 and also a 2 and perhaps maybe even a 3.4 as well
You get kicked for "Network Protocol Error" and the file from this report is attached
disconnect-2024-07-21_15.45.50-client.txt
Tested on 1.21 latest release

Oops, this is a dupe and fixed in a commit. Sorry!


Add PHP7.2 to Travis environment

2 days ago PHP 7.2.0 Release Candidate 2 was released. Travis CI already supporting PHP7.2 environment already.

It seems this change isn't ready to be implemented with your Travis config. Closing this PR until stable PHP 7.2 will be published.


Home not showing containers running in Docker Swarm

Bug description
On Portainer CE 2.15.1, on the Home screen it does not show the number of containers running in My Docker Swarm. The number is just "0 containers".
On the Dashboard of the Swarm, it is ok.
For standalone Docker there is no problems.

Expected behavior
I would expect Portainer to show the actual number of containers running in the Swarm.
Portainer Logs
In the Portainer server, this is logged every 5 minutes:
time="2022-10-27T07:57:25Z" level=info msg="2022/10/27 07:57:25 [WARN] [docker,snapshot] [message: unable to snapshot containers] [environment: Swarm] [err: Error: No such container: f5a9f3aedf4cf127791b4405abf39c552622bab7ec541aefd9f70343f3e6a510]"

Steps to reproduce the issue:
Add Docker Swarm environment to Portainer.
Open Portainer Home screen.
Technical details:

Portainer version: CE 2.15.1
Docker version (managed by Portainer): 20.10.18
Kubernetes version (managed by Portainer): N/A
Platform (windows/linux): Docker Swarm is Ubuntu 20.04 LTS.  Portainer server is running on Synology DSM 7.1 docker.
Command used to start Portainer (docker run -p 9443:9443 portainer/portainer): Compose stack

portainer:
    restart: always
    image: portainer/portainer-ce
    container_name: portainer-ce
    networks:
      - slimnasproxy_default
    ports:
      - "9000:9000/tcp"
      - "8000:8000/tcp"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /volume2/docker/volumes/portainer_data:/data
    environment:
      TZ: "Europe/Copenhagen"

Browser: Brave, Firefox.
Use Case (delete as appropriate): Using Portainer at Home
Have you reviewed our technical documentation and knowledge base? Yes.

@MadsBen
Thank you for the information.  I am going to work on reproducing.  I will update you as I learn more.
Thanks!

@MadsBen
Environment:
[1] Portainer Server CE installed in Docker Swarm
[2] Container >> Create >> caddy
[3] View Container counts on Home

Environment:
[1] Portainer Server installed in Docker Standalone
[2] Environment >> Add Swarm
[3] Container >> Create >> caddy
[4] View Container counts on Home

Do you want to join our Community Slack and IM me a copy of your backup?  I can help further investigate as I am unable to reproduce:
https://join.slack.com/t/portainer/shared_invite/zt-190q9nm5v-uT0p0WFkn~K1yv2QlnHJNQ
Thanks!

Do you want to join our Community Slack and IM me a copy of your backup? I can help further investigate as I am unable to reproduce: https://join.slack.com/t/portainer/shared_invite/zt-190q9nm5v-uT0p0WFkn~K1yv2QlnHJNQ
Thanks!

Sorry @tamarahenson for not getting back to you sooner. I don't have slack, any other way we can exchange files. Also, I have passwords and stuff in my compose files.

We just encountered the same situation during a update from 2.14.2 to 2.16.2. The container IDs in Portainer's log belong to the active Portainer agent tasks and searching for this missing ID in the "services" tab will show a currently running portainer agent task on this endpoint/environment.
2022/12/12 10:32AM WRN docker/snapshot.go:69 > unable to snapshot containers | error="Error: No such container: bacdc642036b098bda3787ee0a44263aa0c3591a87e6114baab39799c6f89b86" environment=env1

2022/12/12 10:32AM WRN docker/snapshot.go:69 > unable to snapshot containers | error="Error: No such container: 2eb3057b671077bc77bbed536d4d45aa5e7c1bf2fdb3ab65db6217f0e2185b8f" environment=env3

The dashboard counters are now showing again, and the log entry disappeared after we "drained" the two older hosts, but the problem re-appears again after clearing the "drain" state from 1 of the 2 drained machines.
There is a small difference in Docker engine versions in this swarm. The two drained hosts have Docker Engine 20.10.12, the one working now is a bit newer with 20.10.17. Maybe this could have something to do with the issue.

I have logged an internal issue for the unable to snapshot containers | error="Error: No such container: logging messages.  Product is currently reviewing.  I do not yet have a release or timeline.  I will update as I learn more.
Thanks!

Hi, I just upgraded from Portainer 2.11.1 to 2.16.2 and experiencing the same issue.
We have 10 Docker Swarm environments, none of them showing containers info in the Home menu.
The log messages are the same as reported by others in this issue.

Issue is still present in Portainer 2.17.0 and Docker 23.0.0.

Update:
I am still unable to reproduce.
Environment:
[1] Portainer Server CE installed in Docker Swarm
[2] View Container counts on Home
https://user-images.githubusercontent.com/20426210/221319353-a71a380c-774c-4703-8018-8e61c68ae49e.mov
Environment:
[1] Portainer Server BE installed in Docker Standalone
[2] Environment >> Add Swarm
[3] View Container counts on Home
https://user-images.githubusercontent.com/20426210/221321699-ff9842d0-521a-42bf-9293-64470d29d303.mov
Thanks!

@tamarahenson have you tried with more than one node in the Swarm cluster?
Me and other reporters are seeing this issue with 3 or more nodes in the swarm clusters.

@hhromic
Thank you for reviewing my testing.  I was using (1) Manager Swarm Cluster.  I have deployed a (1) Manager (2) Worker Swarm Cluster and am able to reproduce the issue.  The issue appears in 2.15 as @MadsBen had initially reported, as well as 2.16 and 2.17.  I am logging an internal request.

Thanks!

Hi @tamarahenson
I'm adding this comment just to make you aware of the fact that this bug has an effect also on the docker api endpoints queried through portainer.
Indeed, a DELETE request like
{{baseUrl}}/endpoints/{{id}}/docker/containers/{{container_id}}?force=true
returns a 404 not found with the message "No such container:  ......." even though the container is present in the endpoint.
Also the portainer endpoint
{{baseUrl}}/endpoints
returns null as value of key Containers in DockerSnapshotRaw object
"ServiceCount": 20,
"StackCount": 12,
"DockerSnapshotRaw": {
    "Containers": null,
    "Volumes": {
        "Volumes": [

@gbozzetti
Thank you for the additional information.  I am currently investigating.  I will update as I learn more.
Thanks!

Update:
I wanted to follow up on this request.  The issue is going to be resolved in 2.18.
Thanks!

Update:
I wanted to follow up on this request. The issue is going to be resolved in 2.18.
Thanks!

I have upgraded to 2.18.1 and can confirmed that the issue has been fixed.
For traceability, the fix was linked to this issue: https://github.com/portainer/portainer/issues/8695

Hm, sorry to jump in, but on Portainer CE 2.19.4 running on Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1, I am seeing this problem again. Dashboard shows 0 containers.


Which argument type does poly expect?

If I call the function poly with the following parameter it fails:
julia> denvec(sys)[]
3-element Vector{Sym}:
 1
 c
 b

julia> poly(denvec(sys)[], s)
ERROR: MethodError: no method matching getptr(::Vector{PythonCall.Py})

Closest candidates are:
  getptr(::Any)
   @ PythonCall ~/.julia/packages/PythonCall/qTEA1/src/Py.jl:26
  getptr(::PythonCall.Py)
   @ PythonCall ~/.julia/packages/PythonCall/qTEA1/src/Py.jl:49

I guess I need a conversion, but how?

So, poly is not exported from sympy. As you calling it with sympy.poly (where sympy comes from SymPyPythonCall? That should do the necessary conversions for you. (I believe PyCall does more to help with this than PythonCall.) Somewhere else you discussed an sp object, which parallels the internal _sympy_ object. This can also be called, as with _sympy_.poly(...). The difference is you need to manage the conversions up and down. One way to avoid that, would be to wrap your sp object, as Sym(sp).poly(....).


Allowing for greetings and farewells

Added In and Out

To say hello/goodbye you can say:

("dada" or "ada" - either pronunciation means the same thing)
It's speech of (speech) so just an 'alert'. Like "Hey!"

To say hello/goodbye you can say:

("dada" or "ada" - either pronunciation means the same thing)
It's speech of (speech) so just an 'alert'. Like "Hey!"

Ah, alrighty ^^


Update changelog for release v2023.06.13

Please let me know of any important changes that you want to make visible by adding to the Change log.

created here: https://github.com/bazelbuild/intellij/pull/4970


Create Table

Support Create Table and Insert Into queries in execution engine.
We should be able to run the following queries :
      CREATE TABLE table_name (
      column_1 data_type_1,
      column_2 data_type_2,
      ...
      );

      INSERT INTO table_name
      VALUES (value1,  value2, ...);

#55 updates the catalog that is maintained in the optimizer when a create or drop table query is optimized.

Issue : "Memory mapped can not have length 0."

@srora can you elaborate? when are you getting this error?


Add hijo de la luna by mecano

Song Name
hijo de la luna
Artist Name
mecano
Source
Youtube
Youtube Link
OwGG5fX7bxY
Direct File Link
No response
Song ID
815245
Start Offset [ms]
4
Extra
Created from Auto Nong.
Created for level: 110106286
Downloaded: No

I accept!
El lun, 16 de sept de 2024, 9:17 p. m., auto-nong[bot] <
@.***> escribió:

Thanks for contributing!
Someone will soon review your request.
Here is the JSON result for the reviewer:
{
"name": "hijo de la luna",
"artist": "mecano",
"source": "youtube",
"startOffset": 4,
"yt-id": "OwGG5fX7bxY",
"songs": [
815245
]
}
To accept the request, a reviewer needs to write "accept".
—
Reply to this email directly, view it on GitHub
https://github.com/FlafyDev/auto-nong-indexes/issues/4124#issuecomment-2354424736,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHW7O43S2HPXKTUDITPHXFLZW6NLNAVCNFSM6AAAAABOKREZCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGQZDINZTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

accept
El lun, 16 de sept de 2024, 9:18 p. m., Cesar Tonahnt Vazquez Lopez <
@.***> escribió:

I accept!
El lun, 16 de sept de 2024, 9:17 p. m., auto-nong[bot] <
@.***> escribió:

Thanks for contributing!
Someone will soon review your request.
Here is the JSON result for the reviewer:
{
"name": "hijo de la luna",
"artist": "mecano",
"source": "youtube",
"startOffset": 4,
"yt-id": "OwGG5fX7bxY",
"songs": [
815245
]
}
To accept the request, a reviewer needs to write "accept".
—
Reply to this email directly, view it on GitHub
https://github.com/FlafyDev/auto-nong-indexes/issues/4124#issuecomment-2354424736,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHW7O43S2HPXKTUDITPHXFLZW6NLNAVCNFSM6AAAAABOKREZCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGQZDINZTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Don't exclude TensorFlow JNI

It is not necessarily installed on the machine in open source environments.
@gjoranv please review

@lesters fyi


Use bin_ser::BeSer for PagestreamRequests

Following up on this comment.
Because the field ordering is different from what the compute node expects, there's a helper struct that just serves to deserialize the fields in a different order.
I also considered defining the struct inside the function - maybe that's cleaner, but I'm not sure.

Actually I think we should reorder RelTag to match the order used in PostgreSQL. It used to be that way, but it was reordered in commit 9ece1e863dda3783ba18e364737d9f41c1c1b0be. However, the rockdb storage implementation that required that order is long gone. Might as well use the same, more natural order, that's used in PostgreSQL.


Allow passing an element-freeing function to hashmap_new

Thanks for writing hashmap.c! It's been a real help.
In one project, I'm using it to store a set of dynamically allocated strings. Freeing the entire map + contents, though, is a bit difficult. Right now, I'm freeing the strings while iterating with hashmap_scan, but I can't actually delete them from the map since the internal structure would be resized from underneath the iteration.
I figured it'd be helpful if you could specify an arbitrary nullable free'ing function to hashmap_clear to deal with situations like these, where elements reference data that should be freed before being removed from the map.

+1 to this.

I would think it more convenient to have the clear function defined in hashmap_new with the other callbacks, since it's not supposed to change for the lifetime of the hashmap.

Yup, that's a good point, it would be more consistent. I'll try and make the update soon, hopefully.

Hi @thcopeland, I'm glad to hear that you finding this library helpful.
I don't think I'm fully understanding what you mean by:

I'm freeing the strings while iterating with hashmap_scan, but I can't actually delete them from the map since the internal structure would be resized from underneath the iteration

The library is designed so you can do clear a map like this:
hashmap_scan(map, my_free_pointers_iter);
hashmap_clear(map);

Where the my_free_pointers_iter would then perform your custom free operation on each item. Then the hasmap_clear call will make the map size go to zero.

Yep, that's what I'm doing now. But I feel like it would be cleaner to do it all in one step, especially since this is part of the cleanup process any time you store any sort of reference.

Ok. I'm in.
What about hashmap_free? That method also does a broad destructive action.

@scossu suggested passing the freeing function in hashmap_new, which seems like a more consistent way of doing things. How about if the function is passed in hashmap_new and then used in hashmap_clear and hashmap_free for cleanup?

It would be cool to have this feature! It will allow more generic programming. In particular, when a hasmap contains pointers to multi-leveled structures with nested pointers, a client needs to know how to delete them before hashmap_clear(). This can be a problem. This PR will make things more predictable and object-oriented, so thanks a lot for it! 👍
How soon can you merge it?

+1 on this approach and to merging.

Updated this PR to include the most recent changes.


Highlight "Latest Tweets" / "Retweets" to indicate which one you're viewing

The theme colour is a fiddly to get at (IndexedDB: localforage > keyvaluepairs > device:rweb.settings >themeColor, then you'd have to figure out how to dig the appropriate style out of <style id="react-native-web">.sheet.cssRules) so might just be easiest to grab it from the computed style of the big Tweet button (getComputedStyle(document.querySelector('a[data-testid="SideNav_NewTweet_Button"]')).backgroundColor) and figure out when we need to observe it for changes.

Implemented in 0c0297ea184c56ef7851cd79fea693107b84f1df


Request <Plants vs. Zombies Garden Warfare 2>

Game Title
Plants vs. Zombies Garden Warfare 2
Game Website
https://www.ea.com/games/plants-vs-zombies/plants-vs-zombies-garden-warfare-2
Anti-Cheat Software
EA Anticheat
Status of the Anti-Cheat
🚫 Denied
Tinkering Steps
"...to create a safe and fair experience for all players, we will be rolling out an update in March 2024 that will transition PVZGW2 for PC over to EA Anticheat... Additionally, Plants vs. Zombies Garden Warfare 2 will not run on the native Steam OS for Steamdeck with this update."
Proof of Mention
https://www.ea.com/games/plants-vs-zombies/plants-vs-zombies-garden-warfare-2/news/pvzgw2-anticheat-update

This game ran flawless on the steam deck.  Would've prevented this entirely. Seriously, have you seen the cheats people use in it? MFers be playing as literal boss NPCS in multiplayer. EA wtf were u thinking.


electron-cash broken

Describe the bug
electron-cash is broken on nixos-unstable.
To Reproduce
$ nix-build '<nixpkgs>' -A electron-cash
...
ERROR: Could not find a version that satisfies the requirement qdarkstyle==2.6.8 (from Electron-Cash==4.0.11) (from versions: none)
ERROR: No matching distribution found for qdarkstyle==2.6.8 (from Electron-Cash==4.0.11)
builder for '/nix/store/6jpdf6jdxf4ymv7hr6wbrcgby1scxvmg-electron-cash-4.0.11.drv' failed with exit code 1
error: build of '/nix/store/6jpdf6jdxf4ymv7hr6wbrcgby1scxvmg-electron-cash-4.0.11.drv' failed

Expected behavior
Build should succeed.
Additional context
electron-cash requires qdarkstyle==2.6.8 but nixpkgs has version 2.8. Here is the commit message explaining why they have pinned the version number: https://github.com/Electron-Cash/Electron-Cash/commit/853060649861d2102987db5457e893840837685f
So, should we:
a. Patch electron-cash so that it doesn't pin qdarkstyle version number and hope it works now and in the future?
b. Provide also qdarkstyle 2.6.8 in nixpkgs as qdarkstyle_2_6?
c. Define qdarkstyle 2.6.8 locally inside electron-cash derivation?
Metadata
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.100, NixOS, 20.03.git.a21c2fa (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.2`
 - nixpkgs: `/etc/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: electron-cash qdarkstyle
# a list of nixos modules affected by the problem
module:

cc: qdarkstyle maintainer @nyanloutre and electron-cash maintainer @Lassulus

FWIW, Electrum (the app electron-cash is forked from) modifies the constraints:

https://github.com/NixOS/nixpkgs/blob/922fd551a4d2556152e8988141cf6c5a5a832792/pkgs/applications/misc/electrum/default.nix#L93
https://github.com/NixOS/nixpkgs/commit/99931d3bba6824d6f22b43a6a6da350825739fd9

I opened a PR: https://github.com/NixOS/nixpkgs/pull/82235


inconsistent text styling

I just put together a test file according to tcell's getting started guide for 4 text styles — italic, bold, blink and dim. And I found some inconsistencies in the outcomes.
Here are the results:

Windows + Windows Terminal + Powershell - only the blink style works

Windows + Conhost + cmd - blink and bold styles work

WSL2 + Windows Terminal + bash -  bold style doesn't work

WSL2 + Conhost + bash - all styles work

Here's the gist I used for testing:
https://gist.github.com/icy-comet/76cc7fdbb77f272c5653e533ddebdb63

Yep.  The problem is that the underlying terminals are not consistent in what they implement.  This happens elsewhere too.  There isn't really much I can do about it sadly.

The problem is that the underlying terminals are not consistent in what they implement.

I am not sure if it's the terminal emulator at fault. Could it be related to the shell? @gdamore
oh-my-posh seems to handle some inconsistencies by knowing the shell it's running on beforehand. I mention it cause all the four styles work fine with Oh My Posh on my machine.

The shell is not responsible for rendering styles, the terminal emulator is. The snippet linked from oh-my-posh is handling how the different shells evaluate the prompt escapes for non-printing characters, specifically that bash uses \\[ and \\], while zsh uses %%{ and %%}.  That's important for the prompt because the shell counts the rendered characters to determine where the prompt ends; mess that up, and you get weird behavior such as being able to delete bits of your prompt. The actual escape codes are the same in the entire snippet (e.g. reset is \x1b[0m and bold is \x1b[1m in all three cases of the switch statement).
The reason why things 'just work' in oh-my-posh is that it assumes all of the extended ANSI escape codes are present and work. This actually works mostly fine in modern terminal emulators, since most have agreed to support a pretty good set of ANSI escapes, and windows conhost does as well (assuming it's enabled). Where these terminal emulators don't support an ANSI escape, they ignore it.
When running bash (and linux shells in general), either in WSL or natively on linux, the TERM environment variable is going to be what determines the capabilities that Tcell uses. Generally speaking, this will be a pretty capable terminal by default (e.g. a fresh ubuntu install on WSL uses xterm-256color). This advertises to Tcell that it should use that terminal profile. However, the actual rendering of the text is going to be dependent on the emulator. Some of the differences you see come down to the difference between Windows Terminal and Conhost. Conhost programs generally have very little in the way of customization of the rendering available. That's not the case on Windows Terminal, which provides a lot of customization; you may actually have properly rendering bold style but can't tell because of how Windows Terminal renders it by default. You can change that by right clicking on the title bar of Windows Terminal, going to settings, then selecting the WSL distro you're running (e.g. ubuntu). Then, under "Appearance", scroll down to "Text Formatting" and change the "Intense text style". The default seems to be to use a brighter color, which for the default color seems to be nearly the same as the regular default color. Switching to "Bold font with bright colors" makes the difference a bit easier to tell in my opinion, or you could switch up the terminal color scheme so the regular white and bright white fonts are more distinct.
The differences on conhost are interesting, but I'm pretty sure it boils down to the fact that on Windows things using conhost have to enable ANSI colors and styles, otherwise you get the old behavior prior to windows 10. Software that doesn't do this will behave differently than software that does, and you're at the mercy of whatever the program that created the console chose to do with it.
Ran across this because I was having difficulties with colors, but it turned out to be unrelated.

I'm closing this, because it's really out of my control.


where to start? Which steam api calls do I really need?

Hi,
I googled a lot on how to make a steam bot, which can send users trade offers. But I did not really find much about it. Or, as in this case, too much ;-)
So please tell me where I can find in your huge project examples for the steam API calls. I just need login, trade offers and logout. That´s all. Please show me it. I am familiar with C#, but I need to translate it into php.

#427
However, rewriting this in php is a massive project in itself, I would suggest taking a look at a node.js steam bot instead, it may be easier

Yes thanks, but you did not understand me right. I just need some parts of it. Only authentification (login/logout) and trading requests.

As was suggested before #427 also take a look at node-steam and its related modules.


Avoid wrong hosts in controllers, delete unused tasks of old test framework

Avoid compute hostname to be included in /etc/hosts of controller nodes, the issue was there before since controllers are also included in the [compute] host group.
Removing the unused playbook tasks which were part of old CI test framework: create.yml, delete.yml, keypair.yml. All these actions have been implemented with heat provisioner approach in new CI test framework.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

@timrchavez, @j2sol, @notnownikki: could you help review and merge this PR, thanks!

Wait a sec, does this mean that with our heat method, we don't have compute services on the controllers as well? (the intent is that they're converged controllers, so all three VMs should have compute services on them).

@j2sol No big change after this commit, I was just trying to remove a wrong entry in /etc/hosts files in controller nodes like following:
<IP_ADDRESS>   ceph-swift-test-compute-0 ceph-swift-test-compute-0 ceph-swift-test-compute-0

That's because the code logic in pre-deploy.yml is as follows:
      lineinfile: dest=/etc/hosts regexp={{ testenv_instance_names[2] }}
                  insertafter=EOF
                  line="<IP_ADDRESS> {{ testenv_instance_names[2] }}"

So that task is only needed for compute-0 node only.

This commit is just to fix that mistake during pre-deploy actions, but anyway the final version of /etc/hosts files on all nodes will be overwritten with the expected content during actual deployment with "ursula envs/test site.yml" which is the later step.

ok to test

The PR test failed due to neutron network issue in test env, it seems most recent PR tests were failing with that error.

retest

retest

retest

Added another commit into this PR: Implement Ursula CI test with ceph

retest

Merging as is, can improve how the playbooks/tests/ structure looks as a follow up.

@j2sol Thanks for your review comments and merging this PR, I have taken a note of all the enhancements needed as you mentioned, and I will try to improve these items later.


Reposition UI

New panel for UI elements. Aligned the panel.

Thanks,  I'll have a look later when I'm back home.

When you increase or decrease the money value (for example, from 70k to 100k), the GUI will cut off parts of the text. Would be cool if you could fix that (even if it'd just always show with the width of 10m)

Thanks!
(I don't like non-documented GUI in particular, heh).


chore php linting

-remove slashes from \null, \false, \true
-add missing copyright notice to files

Hey,
thanks for that commit, the removing slashes look fine to me. One question remains: You mention added copyrights, sadly I didn't find it. Do you mind splitting those two things into two commits, or pointing them out to me?
Thanks,
Mario


Question: use [neo]vim for --preview

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
I tried to use nvim as preview command but it doesn't work. here is what I did:
--preview 'nvim --noplugin -R {}'
but I only get some strange output and no preview.
Is there a reason vim can't be used for preview? Is it because is not terminating?

Hi @ghetto-ch,
The reason you can't use vim for preview is because vim doesn't output to STDOUT, which is why you see the wierd characters. Why don't you try cat or bat or highlight?
highlight gives you syntax highlighting for example:

Thank you @LuRsT for the explanation. I'm curreently using bat and the only reason I tried to use nvim is the highlighting being different between the two. Not really a problem, it just looks inconsistent when using preview inside vim. I will check highlight as well as you suggested.


Force override_environment to a symbol to maintain idempotency.

This fix addresses a problem where override_environment was not idempotent in two ways:
'true' and true would always fail to match.
Current state of true and desired state of false would not set the desired state.

@WhatsARanjit when you have time can you review this pull request please?


Allow to set v:false to number options

Noticed at https://github.com/neovim/neovim/issues/12174
Trying to do :let &number=v:false will error out with E521: Number required, while :let &number=v:true works as expected.
I believe the problem is, that when we convert v:false it to number zero correctly at
https://github.com/vim/vim/blob/e71ebb46a252cd1cdfb075e6014c2b13c580bf3f/src/evalvars.c#L1259-L1260
when we further down call set_option_value(arg, n, s, opt_flags) with n=0, s=v:false, set_option_value() wrongly assumes to use the string value instead of the number value, because the number value is zero:
https://github.com/vim/vim/blob/e71ebb46a252cd1cdfb075e6014c2b13c580bf3f/src/option.c#L4233-L4254
So make sure, to set the string pointer to NULL, if n==0 and s==v:false.

Hmm, recognizing the string value, generated from the VAR_BOOL value is not nice.  Let me make a more strict check.


ClassInOtherAssembly

I still quite new to this and I'm having trouble figuring out what to replace "ClassInOtherAssembly" with. I've tried a plethora of options but nothing seems to fit

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

ID: 2ec3998b-c321-10e6-8e06-b10900c3a549
Version Independent ID: de666c26-6261-7762-2c18-1576499b5fac
Content: Setup Windows Projects - Xamarin
Content Source: docs/xamarin-forms/platform/windows/installation/index.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

It's quite simply the name of a class in an assembly other than the current assembly. So given two assemblies, Foo, and Bar, with Bar containing a class called Example, in code in the Foo assembly you'd write:
using Bar;
...
DependencyService.Register<Example>();


Introduction to Emacs & Multiple Cursors by Dan Fornika

Details
Where: Simon Fraser University, Burnaby Campus, SSB 7172
When: 11:30 am - 12:30 pm, Monday, October 19, 2015
Prerequisite knowledge:
Dependencies:
Environment Setup
Windows
Mac OS X
Linux

Is there a way that I can edit this directly in GitHub, or do I need to prepare a pull request of some sort?

I added you as a collaborator on the repo, so you should be able to do that now.


Add command line to enable fusion with reduction ops

I am vary of such flags. This causes regression on CPU or GPU depending on the default. I would rather try to figure out what was the cause of regression on GPU. Is this an actual kernel generation issue or matter of high dispatch overhead

I am vary of such flags. This causes regression on CPU or GPU depending on the default. I would rather try to figure out what was the cause of regression on GPU. Is this an actual kernel generation issue or matter of high dispatch overhead. If we are just looking at the Mako numbers, they might not be the actual metric that is useful to make such decisions. In theory this make sense to separate even on GPUs, since it is exposing more parallelism.

Isn't it expected to be suboptimal overall? I thought we wanted to enable the fusion on CPU as well but the problem was that it was breaking vectorization down the pipeline? If we think we want to allow this fusion in the future I don't see the problem with having a temporary flag?

+1 to Thomas. We should certainly dig deeper to understand the issue (I'd some speculation previously). I'm under the impression that we'd like to eventually remove this code snippets too on CPU (given the TODO there) so I'd think adding an option in the meanwhile is okay: it won't last forever there. It can get us back to the original performance on ARM GPU and we can continue push on ironing out other performance issues. We have been using command-line options for such purpose quite a few times thus far. Is there a reason I'm missing it's not applicable this time?
Regarding Mako perf numbers, yes they are not good indicators right now. I'd really spend my time to fix that starting next week. :)

I am vary of such flags. This causes regression on CPU or GPU depending on the default. I would rather try to figure out what was the cause of regression on GPU. Is this an actual kernel generation issue or matter of high dispatch overhead. If we are just looking at the Mako numbers, they might not be the actual metric that is useful to make such decisions. In theory this make sense to separate even on GPUs, since it is exposing more parallelism.

Isn't it expected to be suboptimal overall? I thought we wanted to enable the fusion on CPU as well but the problem was that it was breaking vectorization down the pipeline? If we think we want to allow this fusion in the future I don't see the problem with having a temporary flag?

It is not clear that in the future it will work "better" even if vectorization of reduction is fixed. This is a fusion of an elementwise operation with all "parallel" iterator types with something that has a reduction. So if the producer is 3D and the consumer is 3D but with a reduction, the fused op is now only 2D parallel. So you have reduced the amount of parallelism in the fused op. All elementwise operations that create the input to the consumer could have been done in parallel which is not done for the fused op. So it should be better on GPU too. The cost though is launch overhead on GPUs. This is where the Mako numbers are misleading. Thats why I asked what the impact on "actual execution time", i.e. outside of initialization cost was (Mako isnt giving us this).
Even after fixing vectorization, doing them separately is better. We probably want to explore fusion in the opposite direction, i.e fusing operation with reduction iterator types with their consumers (when the indexing map of the fused map is a permutation).

+1 to Thomas. We should certainly dig deeper to understand the issue (I'd some speculation previously). I'm under the impression that we'd like to eventually remove this code snippets too on CPU (given the TODO there) so I'd think adding an option in the meanwhile is okay: it won't last forever there. It can get us back to the original performance on ARM GPU and we can continue push on ironing out other performance issues. We have been using command-line options for such purpose quite a few times thus far. Is there a reason I'm missing it's not applicable this time?

See above regarding whether it will be removed for the CPU side at all. The use of command line options is really a WAR. Its hiding the issue that different fusion "heuristics" are being used for CPU and GPU. We need to make sure that it is a true divergence and if that divergence is big enough to have such flags. We dont want to end up with a soup of flags for CPU and another soup of flags for GPU at this level. At the Flow level (as structured right now at least) things are architecture agnostic, but it seems like we are making hardware specific decisions here. We might need to do this eventually, but lets try to keep the surface area of such decisions smaller. There is a lot of advantages of keeping the dispatch region formation as close together as possible.

(My two cents)
The decision to fuse or not and how to fuse (consumer -> producer) or (producer -> consumer) depends on the semantics of the operations and more importantly the target hardware specifications. Even for the same hardware class say GPUs its not going to be globally optimal even within the same model where we flip this decision multiple times. That's why the other compilers based schedule tuning such as TVM have something like should_fuse(op1, op2, hw_specs) -> bool or Halide's new AutoScheduler that does explore all options (fusion is a binary node in their tree based search space) and builds a model cost model for the scheduling decision (see https://halide-lang.org/papers/halide_autoscheduler_2019.pdf they are arguing what might be a local binary decision like fuse affect the overall cost as you walk down in the scheduling decision tree so which make sense)
IMO we need to rethink the decisions made at flow level, dispatching to an abstract generic HW so the IR after Flow looks the same for any target is suboptimal and if we want to do that we should do like we did with the workgroup_size any thing that is going to be HW dependent should be evaluated later including fusion once we go to HAL we should be able to say no split this workgroup into two or keep it fused or generate to two variants at FLOW and pick one....or other things.
These are the kind of things the tuning / search work is going tackle and the more decisions we push down passed HAL where we can search the closer we will get from having a tuning / search that is not going to stuck in sub-optimality or exploring very narrow search space like just set tile sizes for ops.

Agree with the sentiment but I think everything you mention is far beyond where we are right now - we're very much hitting up against the edge of the complexity of what we have in the current compiler stack with all the flags and combinations to get even reasonable baseline performance across our targets and I'd rather us not continue spidering down into such deep holes until we are in a better place. Search and optimization performing invasive changes comes after we can confidently not regress 10-100x on minor tweaks to the code :)
(I'm also skeptical that at the level of fusion we're talking about there will be such a radical difference across hardware types - most existing systems are not scheduling their work on CPU to hit the same issues and benefits that code targeting GPUs can take advantage of - I'd rather us get to the point where moving a single arithmetic op between one dispatch or another is important and then decide to make things more complex based on data from our own environment :)

(I'm working on a hal.stream that lowers from flow.stream and will be a good place to do those kind of target-specific expansion - it'll also work well alongside allocation - I'm more concerned about the near-/mid-term complexity of such early specialization than the idea of it :)

Of course wasn't proposing jumping into adding search or tuning and I agree its far from what we currently are right now =).
I was just saying there will be always a trade off between parallelism and locality and any decision like should_fusion(void) -> bool is sub-optimal, but its totally ok to do now so otherwise it will be hard to make progress and hit our near term perf targets.

I actually can see various concerns here and agree with most of the points raised. :) I don't disagree on the long-term direction that we should go to search/tuning and I don't disagree we should be better to maintain the same strategy for different targets for various merits and don't diverge when necessary. :)
Here I really think we are not addressing those long-term big issues though. It's more about having a way out to make near-term daily GPU performance development easier. We have seen a ~20% regression on MobileBERT on GPU. (It also regresses a bit on MobileNet but isn't that much.) FWIW, I'd think it's nice if we can recoup it. We can wait until all the issues being addressed in the most proper way; the question though, is when and how that will happen. Looks on CPU side we aren't certain the effect of this without fixing the reduction fusion and then try it out. So it's more of implement and exploration. I'd hope we can still make progress on GPU side in parallel. Right now, to continue performance improvements, we will need to always manually delete the above code snippet before doing anything, like after every merging/rebasing, like in every step of bisecting, etc., because it's causing issues according to real GPU profiling numbers. I'd say this isn't a very smooth development flow. And I'd hope we can have a breath of some relief with a command-line option. Command-line option is a tool in the toolbox. I agree that we should be cautious when introducing more. But if we have an idea that it will be retired eventually and it helps daily development, I'd think it's worth it. And nothing is set on stone, we can always reevaluate.
Don't intend to hide the big issue that someday we may see the divergence point between CPU and GPU, or even GPUs from different vendors. But to reiterate I'd think we still need a short-term way out: to recoup the perf loss, to make daily development easier. Like what we've done many times previously, like most recently -iree-flow-tile-and-distribute-elementwise-ops. Words on the Internet sometimes cannot fully express the idea; happy to chat more during our meeting. :)

Is the root issue here just that fused reductions on the CPU - which we definitely require - are just not implemented for some reason? What's the ETA on that getting fixed? If it's a day or two then that feels like an appropriate route to take - if it's longer than a day or two then it's probably worth prioritizing. Agree with Lei that if this just unconditionally screws the GPU because of something missing on the CPU that's not good but also want to avoid adding flags as we are already in a pretty big mess there. This discussion above went into CPU/GPU divergence territory for legit reasons but this doesn't sound like one of them.

Linalg reduction vectorization is WIP It will take O(2-weeks), It will be fixing both CPU/GPU side. GPU currently is running reduction serially just like the CPU but It can hide this latency by distributing to workgroups with more parallelism than CPU can offer at this point. The regression is happening on the GPU because of increased dispatching cost.

Awesome @asaadaldien! I like anything that fixes both :)
Sounds like maybe a flag is worth it here if in those 2 weeks there is performance-heavy work happening strictly on the GPU side - if it's tagged with TODO(#whatever issue is tracking the fix) and deleted as part of that work - don't want it surviving any longer than needed :)

Related to this: for Mako benchmarking numbers being unstable: I've plugged in my own dev phone (already rooted) into buildkite fleet and marked it to be used for benchmarking. Hanhan has landed the revert (https://github.com/google/iree/pull/5606) of batching mode which hides issues. This should be a step towards better stable numbers to guide development, before we have the phones in lab rooted and cmdbuf-multiple-submission or other aggregation approach gotten implemented.

Thanks Lei for the in detail description of the problem. It sounds like we all agree that this is needed as a temporary solution and will be removed by @asaadaldien after some improvements on the CPU side. I added #5611 to track this.
Unrelated to the rest of the discussion but I'm curious what is the plan to parallelize the reduction on GPU. Is the idea to apply tree reductions? As long as we have enough parallelism serializing the reductions should be the most efficient solution. Do you have some details on what you are planning to do?

Yes, see #5537 for dispatch region and vectoriztion details , the idea is to emit vector.reduce instead of a serial scalar loop which we can benchmark on both CPU and GPU now before the actual vectorization is pattern is implemented. see what vector<64xf32> -> f32 with just serial vector reduction https://godbolt.org/z/MqG51n3e4 this is ~10x scalar case on CPU.
Note: as of now this is just a serial vector reduction but not scalar a tree style will mean better ILP for CPU and ultilize more warps in GPU case.

Interesting, thanks for explaining. On GPU it would have to map to some subgroup_reduce instruction we should benchmark the efficiency of those (Lei already did some work). Overall this is still less efficient than serializing the reduction assuming we have enough parallelization as in general reduction won't be able to use the full SIMD width. Most likely it will depend on how efficient is the implementation of subgroup reduce for each HW/driver.

@ThomasRaoux and @antiagainst reading through the thread, I only see 20% regressions, but I am not sure this is enough information to make a decision here. I mentioned above, that fusing an elementwise operations with reduction operation reduces the amount of parallelism. Splitting it will increase the amount of parallelism exposed at the cost of launch overhead. I think more understanding on the 20% number would help here. Is the sum of execution times of the two kernels + launch overhead > sum of execution time of the indivual kernel and do we know what the launch overhead is.
This decision on GPU is again made for a specific problem size. If i take a reduction operation that is an all-reduce and the producer is a really large tensor, you wouldnt fuse it right. This decision is being made on a very specific use case in Bert and MobileNet, and even there some more qualification of the regression would be needed.


Rate limiting does not work as expected in Quarkus

On the reconciler class i'm using RateLimited annotation but it never seems to get processed by Quarkus.
e.g.
@ControllerConfiguration(
        name = "test-reconciler",
        rateLimiter = QuarkusControllerConfiguration.DefaultRateLimiter.class
)
@RateLimited(maxReconciliations = 1, within = 1, unit = TimeUnit.MINUTES)
public class MyReconciler implements Reconciler<MyCR>, EventSourceInitializer<MyCR>, ErrorStatusHandler<MyCR>, Cleaner<MyCR> {
.
.
.
}

I can see this working outside of Quarkus (i.e. new Operator().register(reconciler)) and this works as expected.
i've had a quick look at the code here where rateLimiterClass and rateLimiter are set but i'm not sure what rateLimiterConfigurationClass is supposed to be or how we set it.
If i understand correctly it looks like the annotations get processed if there's a configuration class in https://github.com/quarkiverse/quarkus-operator-sdk/blob/11ba19f35c1485fdf45482b3e42922be579e468a/core/runtime/src/main/java/io/quarkiverse/operatorsdk/runtime/QuarkusControllerConfiguration.java#L399-L407, given it's null i presume this is why it's not working.
Can someone explain if there's an issue here or how I get my rate limiter configuration working, please.
Version: quarkus-operator-sdk 6.3.3

Confirmed that there is an issue. Working on it.

Thanks a lot for fixing this @metacosm! Presumably this will be picked up in 6.4.1?

I was thinking about going straight to 6.5.0 with Quarkus 3.6.0 support (which should be released tomorrow). Would that work for you?

yes that would work, thanks!

I've released 6.5.0.Beta2 if you want to give it a try (we do not talk about 6.5.0.Beta1! 😅 )

@metacosm thanks for that! We're in the process of moving up from 6.3.3, I will get back to you with the results once we're there.
Having said that, I tried patching 6.3.3 with your fix locally and could see this working as expected.

Thank you for the update.


Cache Disk Problem

New Issue Checklist

[ ] I have read and understood the CONTRIBUTING guide
[ ] I have read the Documentation
[ ] I have searched for a similar issue in the project and found none

Issue Info

Info
Value

Platform Name
e.g. ios / macos / tvos / watchos

Platform Version
e.g. 11.0 / 10.13.0 / 11.0 / 4.0

SDWebImage Version
e.g. 4.2.0 / 4.1.0

Integration Method
e.g. carthage / cocoapods / manually

Xcode Version
e.g. Xcode 9 / Xcode 8

Repro rate
e.g. all the time (100%) / sometimes x% / only once

Repro with our demo prj
e.g. does it happen with our demo project?

Demo project link
e.g. link to a demo project that highlights the issue

Issue Description and Steps
Please fill in the detailed description of the issue (full output of any stack trace, compiler error, ...) and the steps to reproduce the issue.

maxCacheAge
I want to set no expiration date.
SDImageCache.shared().config.maxCacheAge = -1;
This is code is right?

maxCacheSize
Default 0, It is no limit?

Thank You!!!!!!

@Lee827
Well. Base on current implementation, I can tell the usage about your question :)

You should set maxCacheAge to NSIntegerMax to mean no expiration date.
You should set maxCacheSize to 0 to means no cache size limit.

Thank you!!!

And I have a new question.
I want to synchronous download images and cache the image to disk, because my project needs download image first, then show the home view.

SDWebImageManager.shared().diskImageExists(for: imageURL, completion: { (isExist) in
guard isExist != true else { return; }
SDWebImageDownloader.shared().downloadImage(with: imageURL, options: SDWebImageDownloaderOptions(rawValue: 0), progress: nil, completed: { (image, data, error, finished) in
guard let image = image, let data = data else { return; }
SDImageCache.shared().store(image, imageData: data, forKey: imageURL.absoluteString, toDisk: true, completion: nil);
})
})

Check disk Image Exists first, then download the image. Finally, cache the image to disk.
Loop this code to download the images.
How to synchronous and confirm download all image?

Thank you!!!!

Well. It's not recommend to synchronous download on main queue. :)
Maybe you means to prefetch the image before it actual been used. You should better check SDWebImagePrefetcher. Which allow you to provide a list of URLs to fetch and cache on image cache.
In fact, SDWebImagePrefetcher use the SDWebImageManager, which already handle the management between cache and downloader. You don't need to write yourself.


Fixing some issues with depth tensor parallelism

Removed the all-reduce on bias. This was causing performance issues.
Added a function to all-reduce gradients of bias and other non tensor parallel parameters which should fix the convergence bug
Creating a combined row+tensor parallel group. This is used by megatron-axonn to broadcast data correctly.

@prajwal1210 can we test with this branch again? Also welcoming suggestions for formatting the init.py file.

Moving to another branch


get the instrumentation results of the classes

I would like to  use Defects4j test to test and get the instrumentation results of the classes after instrumenting some output code in a project. Since Defects4j test forces recompilation, I modified the build.xml file by commenting out the "Clean the output directory" part and compilation section to skip the compilation process. This step was effective - my instrumented classes were not overwritten anymore. However, whether the instrumentation results were output to the console or to a specified file, there was no change in the console or output file.
To investigate this issue, I directly modified the source code in the /tmp/csv directory (I used defects4j checkout -p Csv -v 1b -w /tmp/csv in advance) and added System.out.println("hello");, but still saw no change in the output. Therefore, I am completely confused.
So, how can I test and get the instrumentation results of the classes after instrumenting the project?

Found the issue before, I change my code, using javaagent. But still wrong:
$ defects4j test
Running ant (compile.tests)................................................ OK
Running ant (run.dev.tests)................................................ OK
Cannot open test result file (/tmp/csv/failing_tests): No such file or directory at /home/yxb/Documents/rjust-fault-localization-data-f36d7eea9a9c/defects4j/framework/core/Utils.pm line 565.
Compilation failed in require at /home/yxb/Documents/rjust-fault-localization-data-f36d7eea9a9c/defects4j//framework/bin/defects4j line 195.
my defects4j.build.xml as follows:

<!--
    Run developer-written tests
-->
<target name="run.dev.tests" depends="compile.tests,update.all.tests,package.classes.jar"
        description="Run unit tests">
    <junit printsummary="yes" haltonfailure="no" haltonerror="no" fork="yes" showOutput="true">
        <!-- instrument-->
        <jvmarg value="-javaagent:${d4j.home}/framework/projects/soot-simple-1.0-SNAPSHOT.jar=${d4j.workdir}/jar/${d4j.project.id}-${d4j.bug.id}.jar,${d4j.dir.classes.instrumented}"/>
        <classpath>
            <!-- Make sure that instrumented classes appear at the beginning of the
                 classpath -->
            <pathelement location="${d4j.dir.classes.instrumented}"/>
            <pathelement path="${formatter.jar}"/>
            <pathelement path="${cobertura.jar}"/>
            <path refid="d4j.test.classpath"/>
        </classpath>

my code as follows:
public static void premain(String agentArgs, Instrumentation inst) {
    if (agentArgs == null || agentArgs.isEmpty()) {
        System.out.println("Usage: -javaagent:soot-agent.jar=<path to jar file>,<path to instrument class>");
        return;
    }

    String[] args = agentArgs.split(",");
    if (args.length != 2) {
        System.out.println("Invalid arguments. Usage: -javaagent:soot-agent.jar=<path to jar file>,<path to instrument class>");
        return;
    }

    String jarPath = args[0];
    String defects4jInstrumentedPath = args[1];

    // instrument
    analysisJar(jarPath, defects4jInstrumentedPath);
}

After I debug, I can see my instrumented classes which is correct.
However, when I defects4j test, it doesn't seem to stop and failing-test.txt is as follows.
org.apache.commons.csv.CSVLexerTest::testNextToken6
junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit.
	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl.addVmExit(JUnitTaskMirrorImpl.java:57)
...

I have my output structure as follows:
tmp
|__csv
    |__.class_instrumented
        |__org.apache.commons.cvs (which holds my instrumented classes)
        |__output.txt

This is my output.txt file:
====================== run soot once [start] ======================
soot environment config ...
soot output config ...
register ClassAnalysis ...
soot input config ...
load necessary classes ...
write Soot Info To File /home/d4j/Documents/defects4j_project/Csv/.classes_instrumented/stmtInfo.csv...
run packing ...
generate bat for class ...
====================== run soot once [end] ======================
all analysis from /home/d4j/Documents/defects4j_project/Csv/.jar/Csv-1.jar succeed!

just my own code problem


Remove duplicate processing from Hawkular sink

Transforms the old map[string]MetricValue to LabeledMetric and avoids the duplication of code in several places.
This also begs the question, why is there even two metric types? Why not remove the old map[string]MetricValue and modify this behavior to be global in the Heapster? Is there some sort of wish for different types (if so - why are they on the different depth in MetricSet type) ?

ok to test

@mwielgus Question for you:

This also begs the question, why is there even two metric types? Why not remove the old map[string]MetricValue and modify this behavior to be global in the Heapster? Is there some sort of wish for different types (if so - why are they on the different depth in MetricSet type) ?

@mwringe Could you take a look please?

Is there any reason we are calling the function 'pointToLabeledMetricHeader' instead of the old 'pointToMetricHeader'? If it is now handling both normal metrics and labeled metric the same, having 'LabeledMetric' in the function name might be a bit confusing.
Other than that, LGTM

I figured leaving it as "LabeledMetric" was easier to read since we're transforming older metrics to the "Labeled" ones (and not the other way)

@mwringe Happy?
LGTM

LGTM