class orderings

This PR introduces the notion of ordering among complexity classes through a __gt__ and __lt__ method on the base complexity class. Each concrete implementation of a ComplexityClass is assumed to have an order attribute specifying their relative order among other implementations.

Hi @ieaves thank you for your PR. What is the order based on? Is there a formal way of defining an order?

Hey @pberkes, practically speaking the order is intended to answer "which runs faster," stated formally:

The efficiency of two machines is compared according to the order of growth of their time and space complexities. In particular, given a function f:ℕ→ℕ we define its order of growth to be O(f(n))={g(n):∃c∃n0∀n≥n0(g(n)<c⋅f(n))} – i.e. the set of all functions which are asymptotically bounded by f(n), ignoring scalar factors. For instance, for all fixed k,c1,c2 ∈ℕ the following functions are all in O(n2): the constant k-function, log(n),n,c1⋅n2+c2. However 11000n3∉O(n2). A machine M1 is said to have lower time complexity (or to run faster than) another machine M2 if tM1(n)∈O(tM2(n)), but not conversely.

In other words, given two complexity class f1 and f2, f1 > f2 if there exists a k such that f1(n) > f2(n) for all values of n > k.

If I understand correctly, there is an order but the values you are using in the implementations are arbitrary. Is that correct?
If that's the case, what do you think of spacing them by 10? as in 30, 40, 50, ... like the good old line numbering in BASIC? In that way, if we introduce a new complexity class that is somewhere in between two current classes we don't have to modify all the constants

Otherwise I'm I think all that is needed before merging is a good test, defining 2-3 dummy complexity classes and testing all operations <, >, >=, <= .

If I understand correctly, there is an order but the values you are using in the implementations are arbitrary. Is that correct?

That's correct, if each ComplexityClass was guaranteed to have an associated symbolic representation we could analytically compute orderings but this seemed like an easier solution when the potential classes was known in advance.

If that's the case, what do you think of spacing them by 10? as in 30, 40, 50, ... like the good old line numbering in BASIC?

That works just fine! My original thought was for the ordering to correspond to the default set of complexity classes in the package reserving decimal values for user customized classes but at the end of the day it's still arbitrary :).

Otherwise I'm I think all that is needed before merging is a good test, defining 2-3 dummy complexity classes and testing all operations <, >, >=, <= , and == .

A quick note, I specifically didn't modify == because doing so requires me to also implement hash on the base ComplexityClass. Otherwise, I can add a few tests for the purpose!

The quadratic test case was consistently failing on local runs so I also increased the test length to 500 elements which passed.

@pberkes If this PR meets requirements to merge would you be so kind as to create a new pypi release? I would like to include this as a testing requirement on a different project I'm involved with. If you need anything else from me to make that happen please don't hesitate to ask.

My comment on == is that you use it in __ge__ and __le__ but it's not defined, so if you try and compare two classes with the same complexity you would get False.

Equality is defined by default, it defaults to hash comparison!
On Mon, May 25, 2020, 3:39 AM Pietro Berkes<EMAIL_ADDRESS>wrote:

My comment on == is that you use it in ge and le but it's not
defined, so if you try and compare two classes with the same complexity you
would get False.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pberkes/big_O/pull/32#issuecomment-633454075, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3MV54O3EF4YB7YYGEAKPDRTIVC3ANCNFSM4NBCWPMA
.

What do you mean the tests are failing now? They all work for me on 3.7.
can you describe your environment?
On Mon, May 25, 2020, 6:19 AM Ian Eaves<EMAIL_ADDRESS>wrote:

Equality is defined by default, it defaults to hash comparison!
On Mon, May 25, 2020, 3:39 AM Pietro Berkes<EMAIL_ADDRESS>wrote:

My comment on == is that you use it in ge and le but it's not
defined, so if you try and compare two classes with the same complexity you
would get False.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pberkes/big_O/pull/32#issuecomment-633454075, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3MV54O3EF4YB7YYGEAKPDRTIVC3ANCNFSM4NBCWPMA
.

While I'm not sure what semantic meaning the AltFirstComplexityClass would have, the tests now behave as you prefer.

LGTM

Thank you @pberkes !


Freedom to change round brackets around unit to square brackets

I would like to be able to change the round brackets around the units into square brackets.
At the moment the round brackets are hard coded in holoviews.Dimension.pprint_label.
@property
def pprint_label(self):
    "The pretty-printed label string for the Dimension"
    unit = '' if self.unit is None else ' (%s)' % self.unit
    return self.name + unit

It would be nice to have this parameterized.

It should be easy to add this.  I'd recommend taking a look at the sublabel_format parameter in plotting/plot.py, and making an analogous parameter unit_format for Dimension, defaulting to ' (%s)'.  pprint_label can then do unit = '' if self.unit is None else unit_format % self.unit, and you can then have whatever formatting for the unit that you like.
Probably for generality you'd also want to add a dimension_format parameter, defaulting to ' {dim_name}{unit}'.  If you make a pull request with this, I'd expect it to be approved easily.

I think we should be wary of adding any new parameters regarding unit formatting to Dimension because we don't know how we are going to eventually implement proper unit support (e.g supporting unit conversions). Ideally, unit formatting is something that would be handled by whatever units library we end up selecting and is not something that I feel ought to be implemented on Dimension itself.
Looking to the future, I imagine we will definitely need a way of interfacing whatever units library we end up selecting for HoloViews. We will want to make it easy for the user to customize how the unit system works regardless of the exact details. As a result, I would anticipate some sort of global object/class (i.e a singleton) to control how units are processed and displayed throughout HoloViews that affects the behavior across all Dimension objects.
Although, I cannot anticipate any other details, we could start with an extremely simple class (called Units, UnitSettings or UnitsSystem?)  that would simply holds the proposed unit formatter parameter for the time being. This class would then be extended with more parameters and functionality as the unit support eventually becomes more elaborate.
Note this does not necessarily imply that this class is a global unit formatter: even if the individual unit objects format themselves (e.g via __repr__) there will still be global unit options worth customizing. It is also likely that we will want some common utility code for working with units in HoloViews regardless of the exact implementation details. As implementing such a system properly would be a huge task and will require a fair bit of code, I would suggest sticking this new class in a new file (core/units.py) to allow a more complete units system to be developed.

I think the support that you outline above is orthogonal to what Bas was asking for and to the solution I proposed.  How a unit formats its own description is indeed something we would want to defer to a separate class, e.g. deciding between "sq. m." or "square meters" or "square metres" or "m^2".  But here we're talking about how the Dimension description is formatted, not how the unit itself is formatted.  At the moment, a Dimension is formatted as name+" ("+unit+")", and I think that such formatting is something only relevant to the Dimension, not to the underlying unit.  I.e., the unit should format itself however it likes (currently just a string, but eventually some more complex object), but however that is, the Dimension should be able to decide whether the unit should be displayed at all, and if so whether with round brackets, square brackets, a comma, or whatever the user wants.  So I don't think we need to add any new classes now; that's about how the unit formats itself, which isn't a problem yet because all units are currently strings.  All we need is support in Dimension for how a Dimension displays the associated unit (if any).

Alternatively, instead of a new global class, how about a class attribute on Dimension? That seems the right level for this feature and is probably the simplest thing to do for now.

I do agree that this is about the Dimension not the unit but I am also wary of adding two new parameters. The main problem here is what happens when the unit is None. I think Jean-Luc's suggestion is cleanest for now, if we ever get a request for an axis label formatter (which is likely), we will have to think about this again and find a unified system for all the formatters including axis labels, titles and values. For now though this will address Bas' problem and is a smaller change than adding one or more new parameters.

I've pushed the change in https://github.com/ioam/holoviews/commit/adce9c0ba067be3f965e23cff377a94cb6fa416b. To change the bracketing you now just set it globally like this:
import holoviews as hv
hv.Dimension.unit_formatter = ' [{unit}]'

A separate issue should be opened if we want to add a label_formatter to further customize the axis labels.

Why is unit_formattter a class attribute as opposed to a class Parameter?  I don't see what advantage that would bring, and it means this feature is now undocumented.

Also, shouldn't it be unit_format, not unit_formatter, as it's a string and not an object with methods?  Usually "*verb+*er" is reserved for callable objects or other objects with methods on them.  Plus it doesn't match sublabel_format.

I agree that unit_format would be a better name for the reasons you describe...

Agreed, I just changed it. For now I'd like to keep it as a class attribute because there should probably be a unified way of specifying the formatters, so we are likely to make changes to this in future. A class attribute will be easier to change than a new parameter.
@basnijholt the new way to specify it is:
import holoviews as hv
hv.Dimension.unit_format = ' [{unit}]'

How will a class attribute be easier to change than a Parameter?  Seems like by specifying precisely what will be accepted, you will be able to reason more easily about a Parameter than about an arbitrary class attribute, and can thus safely change it.

I originally argued the same thing with Jean-Luc, might as well make it a parameter, but there is a reason why class attributes will be easier to change later - they're not pickled. That being said I don't have a huge preference either way.

I see.  Well, one could easily argue the opposite -- the fact that a class Parameter's value is pickled means that the behavior for that object will be preserved even if the source code changes later, which allows us to change the behavior without affecting previously pickled data.  :-)  Still, it's a judgement call; as you wish.  I do think it's not generally wise to choose architectures based on a vague notion of what might be needed in the future, compared to a concrete idea of what we're actually using something for right now; the time between now and getting around to something like that in the future can easily be infinite.

I feel a class attribute is suitable for now. Firstly, I don't think this is something that should be customized per instance (the formatting should be kept consistent otherwise it will get confusing) and secondly I feel the whole way we handle units in general is far from settled.
We can always promote the class attribute to a parameter later if we feel the API is stable enough to be worth documenting. Personally, I strongly suspect will end up finding a better/neater solution soon enough and we will probably want to update the API again once we think about units more carefully.


How to remove event when I don't want to listen

I find it in the source code
erd.uninstall(ele)

Yes, it's also documented in the readme.


[GHSA-vrmr-f2qh-3hhf] Improper use of cryptographic key in wal-g

Updates

Affected products

Comments
Fix versions for SEMVER compliance

Hi @andrewpollock, as in  https://github.com/github/advisory-database/pull/5001, we set the vulnerable version range to < 1.1 because there is no version 1.1.0 on https://github.com/wal-g/wal-g or on https://pkg.go.dev/github.com/wal-g/wal-g. The fix commit is tagged with 1.1 and the release notes for version 1.1 mention the fix, so we're confident that < 1.1 is the correct VVR and 1.1 is the correct patched version.

Hey @shelbyc 👋
Oh, interesting. I hadn't properly appreciated until now that this record is published with an ECOSYSTEM range type (so this version is fine as is) but OSV.dev is coercing all records with ranges for the Go ecosystem to SEMVER, which is where this becomes problematic.
Not your problem 😸
Sorry for the noise!


Allow functions to work in dev environments

Work to make it possible to use the CloudFlare functions locally or in preview URLs.
I had to add new environment variables to preview builds, and also created a new R2 bucket (dev-chatcraft-org), which I've bound to the preview environment.
Locally, you can use pnpm dev-functions to run this (login works, but I must need to do more to host an R2 bucket locally with wrangler...todo).  I've added this to the docs.
I want to test this in a preview build.

OK, I have R2 buckets working locally too!  Everything is doable locally, in previews, and hopefully prod (can't test until we land).
A few notes about how this all works:

Locally, we use .dev.vars to define the necessary environment variables we'll need when running the functions.  In preview builds and production, this is done via the CloudFlare console
Locally, the wrangler CLI runs a local version of Pages Functions and R2 Buckets when you use pnpm dev-functions (we could make this the default for dev, not sure which is best)
The API functions now use a TokenProvider which deals with cookies/tokens differently depending on the ENVIRONMENT value.  In development we don't use secure/host cookies and allow the origin to change; in production we lock everything down and force the use of https://chatcraft.org
With /api/login in development, we skip GitHub and log the user in automatically with a fake account.
The front-end now works with a secure cookie in prod, and less secure in dev/previews (since the origin changes, it can't be locked down as easily)
The rest is mostly unit tests.

I think this is ready to land, and will make testing other stuff way easier.

Confirmed: I can login and share on preview builds now!
https://0b6a7ad3.console-overthinker-dev.pages.dev/c/chatcraft_dev/EqMM4wSDdBRcL2V4HjS49

NOTE: I deleted this while testing. You can try sharing one yourself to see that it works.

yet it still works :)

Rest is really good. With this change, this is now the best ci/cd i ever had for any web project

It's possible this will break prod, so if you see things break there, file stuff.  I can't easily test on my current internet.


Usage example: ValueError

Dear Sir or Madam,
I tried to run the usage exmaple
import numpy as np

def f(x):
    return 2.0 * (x + 0.3)

X = np.linspace(-1, 1, 20).reshape(-1,1)
Y = f(X).reshape(-1,1)
data = np.hstack((X,Y))

from ProGED import EqDisco

ED = EqDisco(data, sample_size=5, verbosity=1)

print(ED.generate_models())
print(ED.fit_models())

but I get the following response:
ED = EqDisco(data, sample_size=5, verbosity=1)
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\equation_discoverer.py", line 125, in __init__
    if not task:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

The error is fixed if we call ED = EqDisco(data=data, sample_size=5, verbosity=1) (data is the second argument of the EqDisco constructor), but I am still unable to run the example. Now, the line print(ED.generate_models()) causes the error
Traceback (most recent call last):
  File "C:/Users/matejp/Desktop/test.py", line 15, in <module>
    print(ED.generate_models())
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\equation_discoverer.py", line 174, in generate_models
    self.models = generate_models(self.generator, self.task.symbols, self.strategy, strategy_settings, verbosity=self.verbosity)
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\generate.py", line 49, in generate_models
    return STRATEGY_LIBRARY[strategy](model_generator, symbols, verbosity=verbosity,  **strategy_settings)
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\generate.py", line 94, in monte_carlo_sampling
    valid, expr = models.add_model(expr_str, symbols, model_generator, code=code, p=p)
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\model_box.py", line 40, in add_model
    expr, symbols_params = self.string_to_canonic_expression(expr_str, symbols)
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\model_box.py", line 130, in string_to_canonic_expression
    x = [sp.symbols(s.strip("'")) for s in symbols["x"]]
  File "C:\Users\matejp\Anaconda3\lib\site-packages\ProGED\model_box.py", line 130, in <listcomp>
    x = [sp.symbols(s.strip("'")) for s in symbols["x"]]
AttributeError: module 'sympy.core.core' has no attribute 'symbols'

Dear dr. Petkomat,
thank you for raising awareness about these issues.
I have updated the example in the README and have hopefully fixed the import problem with sympy.
Please let me know if the the issue persists.

Yes, the issue persists.
Uninstalling the preinstalled sympy and installing it again.
The issue is gone.

I would suggest that setup.py prescribes the version of each of the requirement (with sympy 1.7.1 works ok).


Update GraalVM to 24.0.0; switch to polyglot package

Another attempt after the first was reverted: https://github.com/crate/crate/pull/15769
It looks like the CI failure were caused by a semi-broken Docker invocation.
Jenkins adds -u <userid>:<userid> and maps workspace and volumens. Jenkins on our runners have a uid 1001 which didn't exist in the image, so fs permissions were all messed up.
I'm still not sure why it worked at all, or why it became now a problem with the polyglot package, but it looks as if adding the user into the docker image solves the problem (https://github.com/crate/crate-qa/pull/312/commits/aa09389ff25f24a00e81d362e01b7d67a7cfc61a)

retest this please
testTransientErrorsDuringRecoveryAreRetried failed with total, if known, should be > recovered. total [1079], recovered [1407]


FIX issue #201: The image cover the headline on mobile

The image of "section 1" cover the headline of "section 2" on mobile. (#201 )
Before:

After:

Doesn't work on desktop though?

Thank you for the PR! However it does not seems to work on desktop? The text is hidden by the picture on desktop.

Thanks for the suggestion! I checked few resolutions and it seems that the issue exists only on mobile, I didn't found any issue on desktop.
Can you attach a desktop screenshot?

@quentinlesceller Done. Thank you for your time.

Thank you for the PR @Daniel-Leedan 🚀


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 11:39:29 on 2023.08.03
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 34574
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=34574

Problem has been resolved in 15m 0s at 11:54:29 on 2023.08.03
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 34574


tests: hil: add lightdb tests

Seeing some failures in CI:

The esp-idf lightdb_state tests are failing to build
The Zephyr and ESP-IDF lightdb/get example tests need to be adjusted for the change to binary content type.

This PR is failing on the same testcase as https://github.com/golioth/golioth-firmware-sdk/pull/474 (https://github.com/golioth/golioth-firmware-sdk/actions/runs/8896587112/job/24429738504?pr=474). Is that a false-positive?


General Issue: Improve derive_interp_records()

Background Information

The final dataset shouldn't be assigned to a variable. Then the returned dataset is printed. At the moment we get: > derive_interp_records(my_cdc, by_vars = exprs(SEX), parameter = "HEIGHT")
 >

Then also the example in the documentation could be simplified tolibrary(dplyr, warn.conflicts = FALSE)
library(rlang)

admiralpeds::cdc_htage %>%
  mutate(
    SEX = case_when(
      SEX == 1 ~ "M",
      SEX == 2 ~ "F",
      TRUE ~ NA_character_
    ),
    # Ensure first that Age unit is "DAYS"
    AGE = round(AGE * 30.4375)
  ) %>%
  # Interpolate the AGE by SEX
  derive_interp_records(
    by_vars = exprs(SEX),
    parameter = "HEIGHT"
  )

The function drops variables which are not expected. derive_*() functions shouldn't drop any variables or records.
Why is the uniqueness of records only checked if by_vars is NULL? I wonder if the check should be replaced by calling signal_duplicate_records(dataset, by_vars = exprs(!!!by_vars, AGE)) regardless of the value of by_vars.
In the documentation of the dataset argument AGEU is listed as required variable. However, this isn't checked nor is the variable used in the code.
The "Value" section of the documentation should provide more details. I had to read the code to understand what the function is doing. For example it should be stated that linear interpolation is done and that the output dataset contains a record for each day from the minimum age to the maximum age.

Definition of Done
No response

thanks Stefan!
@Fanny-Gautier please can you consider these comments and make updates in a new branch/PR if you agree

Unit tests are now failing since keeping potential extra variables: I have to re-work on it. Will try to complete them by tomorrow.


UDP

Is it possible to use UDP instead of TCP in any way?

Hello, are there implementations of the RCON protocol in UDP?


[extractor/litv] Fix playlist and video download

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

This PR fixes the LiTV extractor, including playlist and video download. Note that all the videos on litv.tv are georestricted to Taiwan, while playlists are not.
Fixes #5456.
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at cfd7c8c
Summary
🛠🌟🎞

Update litv.py extractor to handle new URL format, fix tests, and enhance metadata and playlist extraction. Use a different endpoint to get video URLs that works for more cases.

Oh we're the crew of the LiTV ship, and we sail the web so wide
We fix the bugs and scrape the data, and we do it all with pride
We changed the URL and the test and the playlist too
And we heave away on the count of three, for the video URL is new

Walkthrough

Simplify and update playlist extraction for LiTV (yt_dlp/extractor/litv.py)

Use content_id instead of id as query parameter in _URL_TEMPLATE (link)
Use getProgramInfo and getSeriesTree endpoints to get program and playlist data (link)
Use seriesId as playlist id instead of contentId of first season (link)
Use getMainUrlNoAuth endpoint instead of getMainUrl endpoint to avoid authentication (link)
Check for meta refresh tag and raise error if content is not available (link)
Simplify _extract_playlist method to take only two arguments and iterate over all seasons and episodes (link)
Add description, categories, and episode fields to info_dict for second test case (link)
Update playlist_count and md5 values for second test case (link)
Delete traverse_obj from import statement (link)

Note that all the videos on litv.tv are georestricted to Taiwan, while playlists are not.

Huh? Can people bypass the geo-restrictions using playlists?

Huh? Can people bypass the geo-restrictions using playlists?

No, the videos are geo-blocked regardless. I think what jiru meant is that the playlist tests can pass for a dev who is not in region (because download tests for playlists only flat extract the playlist)

@bashonly Thank you for reviewing my pull request! I think I have addressed all your comments, please let me know if there is anything else.


More fft utils

Description
Adding utils for FFT, used by the FFT Bloom example
Testing
64_FFT and 11_FFTBloom

https://github.com/Devsh-Graphics-Programming/Nabla/pull/771 should me merged before this because there's going to be a small merge conflict

Ready to be merged as well

Ready to be merged as well

do final touchups and I merge monday

Done!


Getting "Can't embed object in code ..." run time error during worker creation

I've build a very simple topology that implements a JVM Kafka Spout, very much like the Streamparse's example, with just a few minor changes. This topology works great on local mode (development) but fails on a real Storm cluster. After the topology is submitted, Storm try to create workers for this topology but fails with the following stack trace:
2017-02-09 12:46:28.776 b.s.d.worker [ERROR] Error on initialization of server mk-worker
clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: Can't embed object in code, maybe print-dup not defined: java.nio.HeapByteBuffer[pos=0 lim=14 cap=14], compiling:(NO_SOURCE_PATH:0:0)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6651) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler.analyze(Compiler.java:6445) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler.eval(Compiler.java:6700) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler.eval(Compiler.java:6666) ~[clojure-1.6.0.jar:?]
	at clojure.core$eval.invoke(core.clj:2927) ~[clojure-1.6.0.jar:?]
	at backtype.storm.thrift$instantiate_java_object.invoke(thrift.clj:38) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.task$get_task_object.invoke(task.clj:85) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.task$mk_task_data$fn__5375.invoke(task.clj:185) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.util$assoc_apply_self.invoke(util.clj:912) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.task$mk_task_data.invoke(task.clj:178) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.task$mk_task.invoke(task.clj:189) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.executor$mk_executor$fn__5575.invoke(executor.clj:352) ~[storm-core-0.10.2.jar:0.10.2]
	at clojure.core$map$fn__4245.invoke(core.clj:2557) ~[clojure-1.6.0.jar:?]
	at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.6.0.jar:?]
	at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.6.0.jar:?]
	at clojure.lang.RT.seq(RT.java:484) ~[clojure-1.6.0.jar:?]
	at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.6.0.jar:?]
	at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30) ~[clojure-1.6.0.jar:?]
	at clojure.core.protocols$fn__6078.invoke(protocols.clj:54) ~[clojure-1.6.0.jar:?]
	at clojure.core.protocols$fn__6031$G__6026__6044.invoke(protocols.clj:13) ~[clojure-1.6.0.jar:?]
	at clojure.core$reduce.invoke(core.clj:6289) ~[clojure-1.6.0.jar:?]
	at clojure.core$into.invoke(core.clj:6341) ~[clojure-1.6.0.jar:?]
	at backtype.storm.daemon.executor$mk_executor.invoke(executor.clj:352) ~[storm-core-0.10.2.jar:0.10.2]
	at backtype.storm.daemon.worker$fn__7112$exec_fn__1236__auto__$reify__7114$iter__7119__7123$fn__7124.invoke(worker.clj:452) ~[storm-core-0.10.2.jar:0.10.2]
	at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.6.0.jar:?]
	at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Cons.next(Cons.java:39) ~[clojure-1.6.0.jar:?]
	at clojure.lang.RT.next(RT.java:598) ~[clojure-1.6.0.jar:?]
	at clojure.core$next.invoke(core.clj:64) ~[clojure-1.6.0.jar:?]
	at clojure.core$dorun.invoke(core.clj:2856) ~[clojure-1.6.0.jar:?]
	at clojure.core$doall.invoke(core.clj:2871) ~[clojure-1.6.0.jar:?]
	at backtype.storm.daemon.worker$fn__7112$exec_fn__1236__auto__$reify__7114.run(worker.clj:452) ~[storm-core-0.10.2.jar:0.10.2]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
	at javax.security.auth.Subject.doAs(Unknown Source) ~[?:1.8.0_121]
	at backtype.storm.daemon.worker$fn__7112$exec_fn__1236__auto____7113.invoke(worker.clj:426) ~[storm-core-0.10.2.jar:0.10.2]
	at clojure.lang.AFn.applyToHelper(AFn.java:178) ~[clojure-1.6.0.jar:?]
	at clojure.lang.AFn.applyTo(AFn.java:144) ~[clojure-1.6.0.jar:?]
	at clojure.core$apply.invoke(core.clj:624) ~[clojure-1.6.0.jar:?]
	at backtype.storm.daemon.worker$fn__7112$mk_worker__7189.doInvoke(worker.clj:409) [storm-core-0.10.2.jar:0.10.2]
	at clojure.lang.RestFn.invoke(RestFn.java:512) [clojure-1.6.0.jar:?]
	at backtype.storm.daemon.worker$_main.invoke(worker.clj:542) [storm-core-0.10.2.jar:0.10.2]
	at clojure.lang.AFn.applyToHelper(AFn.java:165) [clojure-1.6.0.jar:?]
	at clojure.lang.AFn.applyTo(AFn.java:144) [clojure-1.6.0.jar:?]
	at backtype.storm.daemon.worker.main(Unknown Source) [storm-core-0.10.2.jar:0.10.2]
Caused by: java.lang.RuntimeException: Can't embed object in code, maybe print-dup not defined: java.nio.HeapByteBuffer[pos=0 lim=14 cap=14]
	at clojure.lang.Util.runtimeException(Util.java:221) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler$ObjExpr.emitValue(Compiler.java:4664) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler$ObjExpr.emitConstants(Compiler.java:4703) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler$ObjExpr.compile(Compiler.java:4168) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3904) ~[clojure-1.6.0.jar:?]
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) ~[clojure-1.6.0.jar:?]
	... 43 more

I'm not sure if this has something to do with Streamparse or is just a Storm issue. I've done some debug and seems to happen when Clojure runs a eval to evaluate a Java object, probably my Java Spout, but I haven't be able to determine way it fails to evaluate it. Anyway, I'm running with:
Storm version: 0.10.2
Streamparse 3.4.0
Java JRE 1.8.0_121

Any help is much appreciated. Thanks a lot for great work with Streamparse!

After some testing I discovered that this error happens if my JVM Kafka Spout has a constructor expecting arguments. As far as I understand arguments should be passed to Java class constructor from the args_list argument of JavaSpout. But that results in the Can't embed object in code exception. So, I wondering if I missing something here or even if may be none as ever used a Java Spout with arguments in a real Storm cluster.

I haven't seen this exception before. Are you required to use Storm 0.10.2? It's possible this is something they've fixed since then.
Also, one thing to keep in mind is that your JVM Spout's constructor can only take basic data types, because that's all streamparse can translate Python data types into. So that's another potential source of issues.

Not exactly required but I'm moving from a setup of Pyleus/Storm 0.9x and I'm afraid of moving too many versions ahead during this initial migration, but I think I gonna give Storm 1.x a try.
BTW, I was using only basic data types. So, I think it may be a problem with Storm version as you said. Gonna test with Storm 1.x and report back here as soon as possible.

had same problem today. (storm version 1.0.2, streamparse 3.4.0).
the topology was working fine on local cluster (with "sparse run"),
but was giving the error if submitted to remote server (with "sparse submit").
also was working fine with empty "arg_list".
after some testing found out that replacing:
       args_list=[             'dev',         ],
with:
       args_list=[             u'dev',         ],
seems to solve the problem.
also might be a problem with python version on remote server (2.7.6 vs local 2.7.12) or with encoding the args in thrift.

@bobgrigoryan, thank you! That is very valuable info.

Really this probably boils down to a documentation issue. You can see how we decide what data types to convert things to here. It should be documented that you need to use unicode strings to pass string arguments to Java, because that's what Java expects them to be. If we did the conversion from bytes to unicode for you, we'd end up in a situation where people couldn't pass binary arguments to Java constructors if they wanted to.


minted support possible

Minted is an alternative package for listings, and I would like to have the captions in the margins as well, as for the "normal" listings.
\usepackage[outputdir=build]{minted}

...

\begin{listing} % a command from minted, not to be confused with lstlisting
\begin{minted}{python}
import numpy as np
\end{minted}
\caption{Awesome}
\end{listing}

Support can be achieved by copying the two sections in kao.def
\floatsetup[lstlisting]{
...
}

each right underneath each other and changing lstlisting to listing, ending up with:
\floatsetup[lstlisting]{
...
}
\floatsetup[listing]{
...
}

I'm not sure if this is something the template should handle, since not everyone wants minted imported, and sniffing if it is imported and then adding these lines could result in nasty include dependency errors? Again, my latex-skills are basic, but I assume this kind of plugin issue is the same there.
I will leave it up to the author to close this issue without action, since I dont really see need, just posting it for fellow writer with the same issue/question.
Used version: (10f04defe3c0cc3bdbe47f734708dc7d99a5da15)

Hi Mario,
This is a good point, I think that the template should handle this as I know for sure that other users are interested in the minted package. Luckily, having a \floatsetup for minted's listing without importing minted itself is not harmful at all, so I will implement your solution right away.
Thanks!

Perfect, happy to have it, thx!


Long Literal: Add long literal support

Encode/decode long values. Support trailing 'L'
Implement LongSelfie toBe/toBe_TODO
Add unit/integrationt test for long literal

Huzzah! I made a small tweak to add L to the long constants.
Next up: multiline constants in Kotlin, then multiline constants in Java 15. If you prefer to do them both at the same time that's fine too. I think there are some subtle differences:
https://kotlinlang.org/docs/java-to-kotlin-idioms-strings.html#use-multiline-strings


Fix plugin response key for position and update example.

@mvanbeusekom this would not have happened of their was a mock plugin handler and tests 🤔😇

@slightfoot luckily you added one so we prevent it from happening again 🤔😇


Website menu bar broken on Safari

The picture says it all:

@Benjamin-Lee thanks for the report. Are you referring to the search box floating around underneath the  rest of the menu drop-downs, or that the menu drop-downs are a bit high up, or both :) ? I assume this is a visual issue opposed to a functional issue?

Out of curiosity, what version of Safari is this?  I can't seem to reproduce this on Safari 11.1.1 (macOS) at any zoom level.

Just a visual issue, but it does make reading the docs harder because in some cases it obscured content.
I'm running Safari 11.0.3 on macOS 10.13.3.

I can reproduce on Safari 11.1.2. It also looks like that on Firefox 60.2.0 ESR Quantum on Linux, the dropdown alignment isn't quite so bad but the search bar is in the same misaligned place. Firefox 60.2 Quantum on OSX is ok it seems though. Guess its font size as @seibert noted.

OK, I made a small CSS change to tighten up the spacing.  This will only take effect for newly generated docs, so I think we want this merged before 0.40.0 final is tagged.

Still broken:

Are you referring to the Numba logo having a funny vertical offset?  It looks like the Search box wrapping part is fixed, which was the original goal.
I will keep fighting with the CSS on the other issue.

Yep, sorry for not making that clear. The search box is now fixed but the logo runs off the menu bar.


Scrape fails on Core 510i

I noticed 2 problem on a Core 510i which causes the scrape to fail.  Need better error handling for each case.
This model has only 2 DSP blocks (0 and 1).
And System.PeerAddress is not available in versions prior to 9.8.  (I try to access this variable for debug logging.)

There seems to be a bug in Qsys version 9.5 where you cannot get a list of controls for the Core Status component unless Script Access is set to All.  But Script is sufficient for version 9.8 and up.

Fixed in 3d615ac7ec35383adab76165634c6e22995363f1


Small lint improvements

Changes Unknown when pulling 1a5985f3343003af64b8b0ffb876e0f9f4c4efa6 on lint into ** on master**.

Changes Unknown when pulling 1a5985f3343003af64b8b0ffb876e0f9f4c4efa6 on lint into ** on master**.


Feature request: Allow the LLM to add files in response to prompting

Issue
It would be great if Aider could take my prompt and use the repo map (and any docs I choose to add as context) to decide which files it needs to add in order to execute my instructions, only for that specific commit. This would also be great for asking questions about an existing codebase, or fixing bugs without prior knowledge of which code paths are active. These auto-added files could be removed for followup prompts, since the diffs are still in the chat history and should help the LLM re-add those files if they are truly relevant, to prevent continuous growth of added files.
Version and model info
No response

This all already works ! There's a flag to "auto-answer" yes, and if you use the web UI all of this is the default (as in, it loads file automatically). Maybe try to it out a bit more, you'll see all of this is fine.

Oh, that's great. It wasn't too clear from the docs, especially with all the examples showing it operate on just one or two manually added files at a time.


B 21168 draft to run tests

Agility ticket
Summary
Is there anything you would like reviewers to give additional scrutiny?
this article explains more about the approach used.
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Access the
Login as a

Frontend

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
[ ] There are no new console errors in the browser devtools.
[ ] There are no new console errors in the test output.
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
[ ] This change meets the standards for Section 508 compliance.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

Test coverage on server failed.
Last run: Tue 29 Oct 2024 09:56:32 PM UTC
Refer to this report to see coverage details for the server app.
Documentation for test coverage can be found at this link.

Warnings

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

  Generated by :no_entry_sign: dangerJS against a5ec68c6527ba40365461f1ca09843fabf22ed7b

Test coverage on client failed.
Last run: Wed 30 Oct 2024 05:03:23 AM UTC
Refer to this report to see coverage details for the client app.
Documentation for test coverage can be found at this link.

Test coverage on server failed.
Last run: Fri 01 Nov 2024 08:26:28 PM UTC
Refer to this report to see coverage details for the server app.
Documentation for test coverage can be found at this link.

Test coverage on client failed.
Last run: Mon 04 Nov 2024 06:27:04 PM UTC
Refer to this report to see coverage details for the client app.
Documentation for test coverage can be found at this link.

Test coverage on server failed.
Last run: Tue 05 Nov 2024 09:40:28 PM UTC
Refer to this report to see coverage details for the server app.
Documentation for test coverage can be found at this link.


ReplayKit Screen Share Not Working

Realizing this is quite old, still thought I'd ask - when I try the ScreenCapture target, nothing happens, nor do I get any errors.  I see nothing in the Xcode either.  I followed the instructions.  I modified the UserDefaultsDao with the correct Group ID, but nothing happens.  The BasicBroadcast use case with the camera works fine.
Any ideas on how to troubleshoot?

Are you launching the system screen capture UI? Xcode can't actually launch the ReplayKit service itself, it just installs the extension on your device so you can select it.
Once the ScreenCapture target is installed, follow this - https://support.apple.com/en-us/102653. But instead of tapping the record icon, long press it, and it will show you a list of extensions that support screen capture (this happens always, even if our extension isn't installed). Select our extension and then start recording.
At that point, Xcode should detect the process launched and start showing logs. Hope that helps.

Thanks @bclymer.  Worked well.  Long-press comment (then some tinkering) helped.  Cheers!

@bclymer Is there a similar example for Android you have handy?

@bclymer You Sir, are, a badass!  <>
Thanks!
Cheers!


Added support for asynchronous methods

Codecov Report

Merging #77 (289e050) into main (7a7df8a) will increase coverage by 0.63%.
The diff coverage is 99.47%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #77      +/-   ##
==========================================
+ Coverage   98.87%   99.50%   +0.63%
==========================================
  Files          30       28       -2
  Lines         266      612     +346
==========================================
+ Hits          263      609     +346
  Misses          3        3

Impacted Files
Coverage Δ

...CodeGen.Core/TemplateLoaders/FileTemplateLoader.cs
100.00% <ø> (ø)

...er.Commons.StringHelpers/CasingStringExtensions.cs
100.00% <ø> (ø)

...CodeGen.CSharp/Model/CSharpConstructorParameter.cs
81.25% <81.25%> (ø)

...ure.DataAttributes/AutoNSubstituteDataAttribute.cs
100.00% <100.00%> (ø)

...tler.Commons.CodeGen.CSharp/CSharpCodeGenerator.cs
100.00% <100.00%> (ø)

...ler.Commons.CodeGen.CSharp/CSharpTemplateLoader.cs
100.00% <100.00%> (ø)

...antler.Commons.CodeGen.CSharp/Model/CSharpClass.cs
100.00% <100.00%> (ø)

....Commons.CodeGen.CSharp/Model/CSharpCompilation.cs
100.00% <100.00%> (ø)

....Commons.CodeGen.CSharp/Model/CSharpConstructor.cs
100.00% <100.00%> (ø)

...ler.Commons.CodeGen.CSharp/Model/CSharpDocBlock.cs
100.00% <100.00%> (ø)

... and 18 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


CRM Widget

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?
(Bug fix, feature, docs update, ...)
[Type here]
What is the current behavior?
(You can link to an open issue)
[Type here]
What is the new behavior
(if this is a feature change)?
[Type here]
Does this PR introduce a breaking change?
(What changes might users need to make in their application due to this PR?)
[Type here]
Other information:
[Type here]

A few more points:

when navigating with keyboard on the calendar and pressing "Space" to view the details, popup does not appear to be positioned correctly:

When clicking on the item in calendar - the focus indicator has non-matching border radius and looks odd:

When scrolling to the right - the last item overflows beyond the calendar surface. Background color should continue all the way through:


r ps

??? please write a more human readable issue.

Hi,
I am so sorry ^^' I work with your repo and I make mistake with window focus.
Can you delete this issues ? :)
Sorry, sorry.

Hi,
no problem sometimes it's happen.
Cheers.


feat(esp8266): add WIFI and LWIP function

LWIP & WIFI: use '*.a' lib

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


How to use this library in codesys?

I don't think it is directly compatible (you can't just download the binary and put it somewhere). But the individual source files of the library are in the PlcOpen XML format, so you should be able to find a way to import them (or at least copy/paste!) into codesys.
Unfortunately I have never used the codesys IDE so I don't know the specifics of what you would have to do in order to create a library there. Good luck, and if you find there are syntax differences feel free to make a branch of this repo for codesys compatability!


SAA-1814: add cron to run the activity data fix in pre-prod

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

Project coverage is 84.17%. Comparing base (e6078fa) to head (2598bc2).

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #1071   +/-   ##
=========================================
  Coverage     84.17%   84.17%
  Complexity     3698     3698
=========================================
  Files           382      382
  Lines         12508    12508
  Branches       1067     1067
=========================================
  Hits          10528    10528
  Misses         1498     1498
  Partials        482      482

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


Azure Machine Learning Components

I've been working with kubeflow and kubeflow pipelines a few months shy of a year and the documentation has never failed me, so I'm writing this issue because I believe this page has room for improvement:
https://www.kubeflow.org/docs/azure/machinelearningcomponent/
I have kubeflow deployed on azure, but I'm not quite familiar with Azure's components so the links provided for Azure ML were very useful. However I think what's missing in this page is how Azure ML ties with kubeflow and/or what are the benefits of using it with kubeflow as opposed to using it on a standalone cluster. The only part that mentions kubeflow in this page is this line:

The kfp.azure extension can be used to create a secret to interact with Azure resources.

From what I understand, that means I can use Azure ML from inside kubeflow pipeline components, if so, then the prerequisite of having a kubeflow deployement not just kubeflow pipelines is a bit confusing.
It would also be nice to have a few examples as to how these Azure ML components are meant to be used inside kubeflow and/or kubeflow pipelines.
There's also a bit of overloading with the term "component". The fact that there is no mention or link to kubeflow pipelines in this page makes me confused which of Azure or Kubeflow (or both) provide this component functionality in this context:

Azure Machine Learning (Azure ML) components are pipeline components that integrate with Azure ML.

The rest of the page shows off some of the cool features in Azure ML (one of which is very similar to KFServing) and doesn't provide any kubeflow related information, so after reading this page of documentation I have more questions than I came with.

I kinda agree with @NourhanKhaled. I'd like to work on this.

I kinda agree with @NourhanKhaled. I'd like to work on this.

Assigning Azure OWNERS, PTAL 👍
/assign @aronchick @berndverst @eedorenko @sudivate
and HNY 🎉

Assigning Azure OWNERS, PTAL 👍
/assign @aronchick @berndverst @eedorenko @sudivate
and HNY 🎉

Happy New Year!
@yilun-msft is the original author and works on the Azure Machine Learning team. Agreed the article needs some information on how and why one uses Kubeflow Pipelines with AML [Azure Machine Learning (the service)]
To my knowledge, today the only integration between AML and Kubeflow Pipelines is the convenience operations linked in this article, which really appear to be wrappers around the Python SDK or the REST API for AML.
You absolutely can use Kubeflow Pipeline steps to register a model with AML (that is upload and version your model to AML) and also a convenient way to serve your model with AML (AML can do this in a variety of ways including a standalone container via Azure Container instances, deployments on VMs, or deployments to Kubernetes clusters -- I'm probably missing other options).
Personally, I like to track models outside of Kubeflow and eventually want to deploy production ready models places other than my Kubeflow cluster. For this I find AML useful.
I didn't even realize we provided these Kubeflow Pipelines operations until you raised this issue. I typically roll my own pipeline operations by using the AML Python SDK directly in a container built for my custom model register/publish step. I read the credentials from env variables which I map into the pipeline from a Kubernetes secret in my namespace.
AML Python SDK: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-deploy-and-where?tabs=python
I hope this makes more sense. It would be great if someone can explain these concepts better and show a good example.

Happy New Year!
@yilun-msft is the original author and works on the Azure Machine Learning team. Agreed the article needs some information on how and why one uses Kubeflow Pipelines with AML [Azure Machine Learning (the service)]
To my knowledge, today the only integration between AML and Kubeflow Pipelines is the convenience operations linked in this article, which really appear to be wrappers around the Python SDK or the REST API for AML.
You absolutely can use Kubeflow Pipeline steps to register a model with AML (that is upload and version your model to AML) and also a convenient way to serve your model with AML (AML can do this in a variety of ways including a standalone container via Azure Container instances, deployments on VMs, or deployments to Kubernetes clusters -- I'm probably missing other options).
Personally, I like to track models outside of Kubeflow and eventually want to deploy production ready models places other than my Kubeflow cluster. For this I find AML useful.
I didn't even realize we provided these Kubeflow Pipelines operations until you raised this issue. I typically roll my own pipeline operations by using the AML Python SDK directly in a container built for my custom model register/publish step. I read the credentials from env variables which I map into the pipeline from a Kubernetes secret in my namespace.
AML Python SDK: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-deploy-and-where?tabs=python
I hope this makes more sense. It would be great if someone can explain these concepts better and show a good example.

/assign yilun-msft

/assign yilun-msft

In short AML may be more convenient for storing and versioning models and deploying these quickly. There are definitely other options for doing so.
It all depends on where you want to train, store / version and serve your models.
AML also has a pipelines component itself - which is different from Kubeflow Pipelines. https://docs.microsoft.com/en-us/azure/machine-learning/concept-ml-pipelines

In short AML may be more convenient for storing and versioning models and deploying these quickly. There are definitely other options for doing so.
It all depends on where you want to train, store / version and serve your models.
AML also has a pipelines component itself - which is different from Kubeflow Pipelines. https://docs.microsoft.com/en-us/azure/machine-learning/concept-ml-pipelines

/unassign eedorenko, sudivate

/unassign eedorenko, sudivate

/help

/help

Thanks @NourhanKhaled for bringing it up and thanks @berndverst for the answer. AML offers a variety of capabilities that could be used in the machine learning workflow. The "AML components" are the wrapped individual operations that could be injected in Kubeflow pipeline. It would allow us to use AML functionalities within Kubeflow pipeline, and yes, it is similar to what a step operation using AML SDK; however, the use of image would help us to reduce the amount of work configuring them.
Any suggestions and comments for those components are more than welcomed. We will improve the docs and provide a better interops between AML and Kubeflow. Many thanks!

Thanks @NourhanKhaled for bringing it up and thanks @berndverst for the answer. AML offers a variety of capabilities that could be used in the machine learning workflow. The "AML components" are the wrapped individual operations that could be injected in Kubeflow pipeline. It would allow us to use AML functionalities within Kubeflow pipeline, and yes, it is similar to what a step operation using AML SDK; however, the use of image would help us to reduce the amount of work configuring them.
Any suggestions and comments for those components are more than welcomed. We will improve the docs and provide a better interops between AML and Kubeflow. Many thanks!


Additional packages

Adds Axis, Typographic, Autoprefixer, and associated tests. I saw a typo in the Rupture test, so I fixed that as well. I also merged the best part of my README with yours.
@mquandalle I'll let you bump the version, but I would suggest a major version bump, i.e., 2.0.0. What do you think?
Addresses #1 and https://github.com/furrio/meteor-stylus-multi/issues/12

Thank you @cryptoquick :-)
I don't think we need a major version bump because we do not break backward compatibility, Would version 1.1.0 work for you?

Yes, that's fine, @mquandalle .


[XD-2769] Making recieve() and receivePayload() consistent with Spring Integration

Should tests for changed classes be provided with this pull request? I searched the project but I haven't found existing tests for NamedChannelSink, please point me in the right direction.

We can't use blocking receive() in tests (see my comment on the JIRA); use a long enough timeout instead.

I would even be ok removing receive() and receivePayload() from NamedChannelSink. The tests for these classes are in ExampleProcessingChainTests.

@garyrussell, @kdowbecki  I think it's best if we remove receive() and receivePayload() altogether since  blocking methods should never be used for tests and backing with a long timeout is 1) inconsistent and 2) difficult to choose an appropriate value.

I like those blocking methods because I prefer to enforce hard timeouts globally. From where I stand using a blocking receive() or receive(int) with huge timeout is equally bad.
Ideally there should be a way to distinguish between timeout and no message produced by the component (e.g. Spring Integration  or  inside the module). Currently it's always timeout and null is returned from receive(int ).
If you think that removing them will improve the test framework usability and guard developers from doing a build-halting mistake please go ahead. As it is written now receive() can't be used so no one should complain.

closed https://github.com/spring-projects/spring-xd/commit/a5a6a556420a7a07024a08bcc2df526d608c8171


Visual Studio 2017 Performance Problem 15.3.5 with ASPNETCORE & Javascript projects

I reported a performance problem with Visual Studio 2015 in 2015. I also met Dan at Microsoft and mentioned the problem. Now after two years, the problem has only become worse with Visual Studio 2017 Enterprise Edition 15.3.5. Out of 30 minutes that I code JavaScript (Angular & React) in Visual Studio 2017, I spend 10 minutes at least waiting at various times due to the unresponsiveness.
These are the issues:

Save a angular typescript file, the Visual Studio 2017 becomes unresponsive.
Code for few seconds and try to save, the Visual Studio will give a message saying it is formatting and then it hangs for a while.

I suspect that this unresponsiveness is due to some JavaScript service running in the background. Here is my processor look like at most of the time, and worse performance by Node server services most of the time consuming CPU 50%.

This is how my settings look like. Turning off Language Service off did not help.

Solution:
It is so frustrating to work in an Enterprise application in Visual Studion 2017 that has DOTNETCORE and Angular Typescript. To save time, I had to ignore all the ts files from the project. This is the command I used in tsconfig.json:
  "exclude": [
    "./node_modules/**/*",
    "./myangularapp/**/*"
  ]

I had to use a gulp task to transpile the typescript files to JavaScript files.
A permanent solution to this problem may be in Visual Studio or asp.net tools or msbuild, but posting here because this problem does not exist for other language projects like C#.

I totally sympathise with your frustration and apologise for the inconvenience. IDE perf issues are one of the most annoying things that developers face.
Would you be able to follow up with Visual Studio by posting to https://visualstudio.uservoice.com/forums/121579-visual-studio-ide? This repo here only deals with JavaScriptServices, so there's nothing we can do here in this repo to change anything about Visual Studio. Hope that's OK!

Use the configuration value <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> in the project file to disable the typescript compilation of the ts files. There is no need to use the exclude settings as I mentioned in the original issue.


Add Barcode Buddy

What this PR does / why we need it:
Adds Barcode Buddy - Barcode system for Grocy
Which issue (if any) this PR fixes:
Fixes #
Any other useful info:
This is related to Grocy and is therefore dependent on it, and on https://github.com/davestephens/ansible-nas/pull/635 being available already.

Can we move this into grocy as a configurable option? Given it's dependent on it, it doesn't make sense to have it as a separately installable role.

Yes, I will add it as an option to Grocy

Updated https://github.com/davestephens/ansible-nas/pull/635 with Barcode Buddy as an option


Group Options in Multi Select

hi,
i have following ng-select in my angular 5 project:
<ng-select label="Privileges" [ngClass]="['ng-select', 'ng-select-privileges']" [options]="roles" [multiple]="true"> </ng-select>

and this is my options data:
roles: Array<IOption> = [
    { value: 'all', label: 'All' },

    { value: 'view user management', label: 'View User Management' },
    { value: 'edit user management', label: 'edit user management' },

    { value: 'view kyc management', label: 'view kyc management' },
    { value: 'edit kyc management', label: 'edit kyc management' },

    { value: 'view exchange management', label: 'view exchange management' },
    { value: 'edit exchange management', label: 'edit exchange management' },

    { value: 'view withdraw deposit request', label: 'view withdraw deposit request' },

    { value: 'view exchange management', label: 'view exchange management' },
    { value: 'edit exchange management', label: 'edit exchange management' },

    { value: 'view wallet management', label: 'view wallet management' },
    { value: 'edit wallet management', label: 'edit wallet management' },

    { value: 'view exchange wallet', label: 'view exchange wallet' },
    { value: 'edit exchange wallet', label: 'edit exchange wallet' },

    { value: 'earning', label: 'earning' },

    { value: 'view support', label: 'view support' },
    { value: 'edit support', label: 'edit support' },
    { value: 'support assignee', label: 'support assignee' },
    { value: 'support resolver', label: 'support resolver' },
  ];

as you can see there are few objects in pairs and even quadruple (last one).
i would like to show these in groups in dropdown for multiselect. so that its more clear and easy to read and choose. how can we do that ?

That is not supported, a feature request for grouping is already filed (#55)


Hello World

My first batch change!
Created by Sourcegraph batch change courier-new/hello-world-24.

A comment!


Comparison of experimental results on VNBench and LongVideoBench with Qwen-VL

They are all based on Qwen2, so why not compare Qwen2-VL on the benchmark to compare the biggest change, the Encoder (patchify embedding -> CLIP)?

Thanks for your advice. We will compare Qwen2-VL on more benchmarks in the following reports


[new post] linux aslr

Migrate ASLR blog post from hackmd
Add another similar method in post

combine with #10 series


Deposit ERC20 Test

[x] ERC20 deposit default & withdraw
[x] Deposit to different ERC20 & withdraw
[x] Deposit to different decimal ERC20 & withdraw

L2StandardERC20 decimals() will only return 18 and the binding with L1 token is set in the L2StandardERC20 at the time of initialization, So the L1 token can be bound to many L2StandardERC20.


truncate(2) & ftruncate(2)

See #263
I would also like to take this moment to express my annoyance over Git. It's annoying. It did the opposite of what I wanted, then when attempting to fix it I apparently deleted my work. End of short rant.

Thanks for working on this, I added some specs for the new functions and merged just now.
Git is a fickle mistress!  Sorry to hear you lost code -- that is always annoying as hell.  I make sure to have my shell prompt show the short hash for the current checkout, which means I can still type something dumb and lose uncommitted changes, but in any other case I can use my terminal scrollback to find a hash I can pass to git checkout to get back to anywhere I've been recently, even if I removed all the associated HEADs and tags.
I have just a couple of other small bugs I want to fix first, and then I plan to make a new release, which will include your recent contributions.  Thanks again!


Exclude Cypress and Karma from docker images

Currently, the test code installed in the docker containers cannot be used:
Eg. to run Karma, the command npm test would have to be run from inside the container. On top of not being documented in the readme, this would lead to major issues, eg. the absence of a browser. Generally speaking, AFAIK, handling GUI apps in Docker is far from trivial.
Therefore, there is no point in wasting time and bandwidth waiting for Cypress to install when building the images.
If this change is accepted, may I ask someone to help and have a look at what other dependencies could go into optionalDependencies ? Basically, every dependency only required in the test env can go there.
Thanks

Incidentally, this commit also fixes the production docker image build.
Until #2288 is fixed.

The buld is still failing. Let's fix it before we merge.

Yes I'm a bit lost as to why Travis won't install Cypress, but seems to find Karma without any issue. I put both in the same optionalDepedencies section.
As can be seen in the following commits, I tried the following changes:

don't put cypress/ and cypress.json in .dockerignore  -- even though I see no mention of our docker config in .travis.yml
move Cypress back to devDependencies

None of the above work. In want for something else to try, I'm tempted to revert all the changes on this branch to check that the Cypress install issue is indeed coming from my change.
The Appveyor build has all tests (Karma, Cypress) passing, but crashes right after Cypress completes :(

Ok I got yet another idea, try to revert package-lock.json to master.

Ok so that's what I was suspecting: even after reverting everything to master, I still get the same error:
No version of Cypress is installed in: /home/travis/.cache/Cypress/3.0.1/Cypress
I've never worked with Travis or any Github CI before, so I can't invest more effort into that sorry. All I can say is that the Appveyor build runs all tests successfully, even though it is not aware of it :)

Trying again in #2309


Add Annotation Regex to UnusedPrivateMember

Expected Behavior of the rule

In Compose, it's useful to write methods like this:
@Preview
@Composable
fun MyFeatureDemoWithCertainState() {
 //
}

That is better made a private function - but doing so causes a violation of UnusedPrivateMember. The rule's configuration allows for a regex that is ran against the method name. This means that we could start all our preview functions with Preview or similar, and add a regex there - but since they're already annotated @Preview it would be better to allow unused private methods with that annotation instead.
If we could add support for allowing methods marked with @Preview to not be flagged by UnusedPrivateMember it would solve this issue.

I definitely prefer the annotation method - allowing specified annotations to skip this check on private methods.

That already exists using suppressors:
    ignoreAnnotated:
      - 'Preview'

We also have a guide to adapt the default configuration to Compose: https://detekt.dev/docs/introduction/compose


LLVM module hang

From<EMAIL_ADDRESS>on June 05, 2014 03:56:58
What steps will reproduce the problem? 1. install latest gpuocelot by svn checkout http://gpuocelot.googlecode.com/svn/trunk/ gpuocelot-read-only
2. /gpuocelot-read-only/ocelot$ sudo ./build.py --install
3. modify configure.ocelot, devices: ["llvm"],
4. run my CUDA example , and the program hang at cudaLaunch (it can be observed through 'ltrace [program]') What is the expected output? What do you see instead? The emulated mode is OK. But I try some program in llvm mode, it led to this result. What version of the product are you using? On what operating system? Ubuntu12.04.2 64bit, llvm-3.3 Please provide any additional information below. Using Hello.cu test in this web example http://barefeg.wordpress.com/2012/06/16/how-to-install-gpuocelot-in-ubuntu-12-04/
Attachment: configure.ocelot hello.cu
Original issue: http://code.google.com/p/gpuocelot/issues/detail?id=91

Any update on this issue? I have the same problem.


I have translated it to Chinese version.刚做了个中文版SQL-mysteries

I have translated it to Chinese version. You can access to it here.
The source code is here .
刚做了个中文版SQL-mysteries，通过这里访问，源码在这里。

Maybe related to issue #4: The author @JoeGermuska seems like doesn't know how the DB generated. Thus the data can only be known by dump it. The game can still play anyway.
也許與 issue #4 有關：作者 @JoeGermuska 似乎不太清楚資料庫是怎麼產生的，所以資料只能透過 dump 來看。但遊戲還是能玩就是了。


Better support for Jetpack Compose

Create a wrapper around the new rememberLauncherForActivityResult in activity-compose to handle properly composition and allow the registering logic directly in a composable function.
@Composable
fun ComposeScreen() {
    val permissionLauncher = rememberLauncherForPermissionResult(
        Manifest.permission.CALL_PHONE
    ) { granted ->
        // Handle result
    }

This is based on suggestion in #9 (thanks to @erikeelde) but using the new method instead of re-implementing it.
This is missing the publishing of a new artifact (since it's a new module). It will be done with the planned migration of jcenter

Thanks for running with my api proposition and improving on it.
Looks nice and is more consistent with the non compose API the library exposes.. :+1:
I'll give this a spin right now for my usecase.


Picture quality problem

Please provide you version information :

Dependency
Version

ionic2
3.6.1

angular
4.1.3

ionic-img-viewer
^2.7.2

Have you checked...

[v ] That npm install returns no warning ?
[v ] Doing a purge of your node_modules folder ?

I used your plugin and I made photo quality option as 100 when I save it.
but when the app loads pictures, the quality of pictures were so low.
Spent long time to find the causes from my logic, there was nothing wrong.
Then I changed plugin to test.
After changing plugin into 'Photo Viewer (another plugin)',
the quality of picture became so great.
In normal case, it doesn't matter.
but, some apps need to show letters on the picture (that means quality is important).

The plugin does not affect the picture quality. It just displays it and the quality depends on the original picture.
If your image quality is bad, when you display it fullscreen it can look bad / pixelated.

I have a same issue when zooming the picture. Happens with good quality original .png pictures, even with .svg pictures.

@ptakalok yes, that's right.
@Riron you need to check it with the letters on the picture. I've already changed into another plugin, however you'd better to check it for other users.

Oh okay so it's the zoom you are talking about ?
In that case I am using CSS transforms and there isn't much else I can do without affecting the performance I think. Constantly modifying height / width on mobile will probably cause junk...

@Riron Thank you for checking about it. I think you would better to mension about it on the Readme.md file. in my case, I had checked whole of my codes to find out the problem of picture's low quality. almost spent a half day. Anyway, thank u for making this good plugin for others :)

Hi @Riron, please take a look at https://github.com/Riron/ionic-img-viewer/issues/124#issuecomment-435463983

Only issue with that is you can't use max, so you will have trouble maintaining aspect ratio and keeping image full screen.
You could set maxwidth and height to 1000% but then if the image isn't that big, it will shrink more than you want,  And if you set width and height to 1000% then the image will be skewed I think.
Would probably need to use JS to read dimensions of image and screen and adjust appropriately, or allow passing of values as properties of the img element.


adds type definitions for jasmine-promise-matchers

jasmine-promise-matchers/jasmine-promise-matchers.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/jasmine-promise-matchers
http://bower.io/search/?q=jasmine-promise-matchers
others?

[ ] has a test file? (jasmine-promise-matchers/jasmine-promise-matchers-tests.ts or others)
[ ] pass the Travic-CI test?

Should all be done.

wait a moment...

@matthewjh please rename jasmine-promise-matchers/jasmine-promise-matchers-test.ts to jasmine-promise-matchers/jasmine-promise-matchers-tests.ts

@vvakame:
Thank you. That should now be done.

@matthewjh thanks mate!


[AutoPR subscription/resource-manager] Update subscription creation ARM API in Microsoft.Subscription RP

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2535

@AutorestCI rebase

Encountered an unknown error
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/github_tools.py", line 32, in exception_to_github
    yield context
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/bot_framework.py", line 104, in manage_comment
    response = getattr(self.handler, orderstr)(webhook_data.issue, *split_text)
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/sdkbot.py", line 64, in rebase
    msg = sdk_repo.git.rebase('upstream/{}'.format(upstream_base))
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git rebase upstream/restapi_auto_subscription/resource-manager
  stdout: 'First, rewinding head to replay your work on top of it...
Applying: Generated from 549bb107521c6fdf98f1457ddf428365533d43ec
Using index info to reconstruct a base tree...
M	azure-mgmt-subscription/azure/mgmt/subscription/models/__init__.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/error_response.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/location.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/operation.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/operation_display.py
A	azure-mgmt-subscription/azure/mgmt/subscription/models/operation_paged.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/subscription.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_client_enums.py
A	azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_definition.py
A	azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_definition_paged.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_policies.py
M	azure-mgmt-subscription/azure/mgmt/subscription/models/tenant_id_description.py
M	azure-mgmt-subscription/azure/mgmt/subscription/operations/__init__.py
A	azure-mgmt-subscription/azure/mgmt/subscription/operations/subscription_definitions_operation_metadata_operations.py
A	azure-mgmt-subscription/azure/mgmt/subscription/operations/subscription_definitions_operations.py
M	azure-mgmt-subscription/azure/mgmt/subscription/operations/subscriptions_operations.py
M	azure-mgmt-subscription/azure/mgmt/subscription/operations/tenants_operations.py
M	azure-mgmt-subscription/azure/mgmt/subscription/subscription_client.py
M	azure-mgmt-subscription/azure/mgmt/subscription/version.py
Falling back to patching base and 3-way merge...
Auto-merging azure-mgmt-subscription/build.json
CONFLICT (add/add): Merge conflict in azure-mgmt-subscription/build.json
Auto-merging azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_parameters_py3.py
CONFLICT (add/add): Merge conflict in azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_parameters_py3.py
Auto-merging azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_parameters.py
CONFLICT (add/add): Merge conflict in azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_parameters.py
Auto-merging azure-mgmt-subscription/azure/mgmt/subscription/models/ad_principal_py3.py
CONFLICT (add/add): Merge conflict in azure-mgmt-subscription/azure/mgmt/subscription/models/ad_principal_py3.py
Auto-merging azure-mgmt-subscription/azure/mgmt/subscription/models/ad_principal.py
CONFLICT (add/add): Merge conflict in azure-mgmt-subscription/azure/mgmt/subscription/models/ad_principal.py
CONFLICT (rename/rename): Rename "azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_definition_paged.py"->"azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_paged.py" in branch "e210198a6f39aa29ee98307f2799c4737cfef516" rename "azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_definition_paged.py"->"azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_result_py3.py" in "Generated from 549bb107521c6fdf98f1457ddf428365533d43ec"
CONFLICT (rename/delete): azure-mgmt-managementgroups/azure/mgmt/managementgroups/operations/operations.py deleted in Generated from 549bb107521c6fdf98f1457ddf428365533d43ec and renamed in e210198a6f39aa29ee98307f2799c4737cfef516. Version e210198a6f39aa29ee98307f2799c4737cfef516 of azure-mgmt-managementgroups/azure/mgmt/managementgroups/operations/operations.py left in tree.
CONFLICT (rename/rename): Rename "azure-mgmt-subscription/azure/mgmt/subscription/models/operation_paged.py"->"azure-mgmt-batch/azure/mgmt/batch/models/operation_paged.py" in branch "e210198a6f39aa29ee98307f2799c4737cfef516" rename "azure-mgmt-subscription/azure/mgmt/subscription/models/operation_paged.py"->"azure-mgmt-subscription/azure/mgmt/subscription/models/subscription_creation_result.py" in "Generated from 549bb107521c6fdf98f1457ddf428365533d43ec"
CONFLICT (rename/delete): azure-mgmt-advisor/azure/mgmt/advisor/operations/recommendations_operations.py deleted in Generated from 549bb107521c6fdf98f1457ddf428365533d43ec and renamed in e210198a6f39aa29ee98307f2799c4737cfef516. Version e210198a6f39aa29ee98307f2799c4737cfef516 of azure-mgmt-advisor/azure/mgmt/advisor/operations/recommendations_operations.py left in tree.
Patch failed at 0001 Generated from 549bb107521c6fdf98f1457ddf428365533d43ec
The copy of the patch that failed is found in: .git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
'
  stderr: 'error: Failed to merge in the changes.'

See https://github.com/Azure/azure-sdk-for-python/pull/2241


On Windows11, how to install nvm in Users profile?

There is a laptop with two profiles, Admin and User, OS is Windows 11. How to install nvm CORRECTLY in user's profile? I tried several ways, however, I could not manage to solve the problem... Google and Chatgpt did not help.
If I install nvm in Admin profile, everything is OK.
Please help!
Thank you in advance!

nvm only supports windows on git-bash, cygwin, and WSL2, all of which should work properly with the install script.

Question is about permison of permitions (UAC), not about installation CLI.

I'm not sure what you mean. What shell are you trying to install nvm on where permissions come up at all?

cmd, git and powershell. The problem is about UAC. When I type "nvm use node..." in CLI, the permission windows appears and asks enter administrator's password. Although, I gave permission by R-Click on Program Files -> Properties -> Security Tab.

nvm doesn't work in cmd.exe or powershell. Are you perhaps using nvm-windows, which is an entirely different project?


reset build number to 0 for major version bump

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


if env==='development' have advanced panels open by default?

Saves a click when debugging stuff. Sounds ok?

sounds good


Updated to the latest Swift 3 standards.

Edited the random() function call in colorGlitchWithScene() to work correctly with Swift 3.
I was having an issue when I updated to Swift 3 using the XCode 8 beta, and changing the function as I am proposing fixed the problem.

This may have changed again, just into this on Beta 6.
scene.backgroundColor = SKColorWithRGB(Int.random(min: 0,max: 255), g: Int.random(min: 0,max: 255), b: Int.random(min: 0,max: 255))

The code in the book, which runs on the final iOS10 is scene.backgroundColor = SKColorWithRGB(Int.random(0...255), g: Int.random(0...255), b: Int.random(0...255)) so I'll close that PR. Thanks for sending it!


[Bug] 'mouseover' does not fire from external draggable

Version
5.4.0
Link to Minimal Reproduction
https://codepen.io/ataft/pen/XWYzYag
Steps to Reproduce
See the CodePen
Current Behavior
In the CodePen, when dragging the "Drag Me!!!" element onto the eChart container, the chart.on('mouseover') event is not called. Without dragging, the mouseover event is called. See the console log.
Expected Behavior
In the CodePen, when dragging the "Drag Me!!!" element onto the eChart container, the chart.on('mouseover') event should be called.
Environment
- OS: Windows 10
- Browser: Chrome 107.0.5304.88
- Framework: n/a

Any additional comments?
No response

This is as expected. chart.on('mouseover') is only fired when mouse moves over the data. Listen to the chart container dom event to do this.

With the suggested chart container dom event, is there a way to get the component type that the cursor is over?

You should listen to the dom container for all kinds of events, just like you do with any other dom elements.


Initialization crash with new version

Whenever I try to open up the game with the new update of Menagerie it crashes and keeps giving me the same error. I attached the crash log to see if you can figure out the problem, it seems to be something with UP but I have no idea what it is.
crash-2024-07-18_01.39.24-client.txt

it seems you're somehow using unusual prehistory version 1.6? I'm not sure where you got that file from, but Marvelous Menagerie works with with the latest public version of Unusual Prehistory available, so try downgrading to Unusual Prehistory <IP_ADDRESS>


Aggregations/Computations should use instances of DataType, not Column

Column creation should be implicit using DataType.create_column

They already do. Ha. I shouldn't code sick.


[discussion] Improving Jest performance with a custom resolver

I work in a fairly large codebase (~80,000 TypeScript files plus ~250,000 files in node_modules), and I recently improved a performance issue we were seeing with Jest and wanted to share my findings and code somewhere that others may find useful. Please feel free to close this issue.
We are currently using Jest features like --findRelatedTests or --changedSince in some places in our CI setup. I wanted to see the list of test files, so I tried this out locally with the --listTests flag and noticed that it was very slow (~150 seconds).
Here's a CPU profile I took in devtools:

Zooming in, that very large block all looks basically just like this:

I discovered that almost all of the time was spent in the loadpkg function of the resolve package, which Jest uses as part of its default resolver: https://github.com/facebook/jest/blob/baf9f9937720e87d2b2bd09f4c053fa4f16424ec/packages/jest-resolve/src/defaultResolver.ts#L44-L54

Unfortunately, the resolve package is not very efficient for this. This package will attempt to look for package.json files in every directory, and repeatedly read and parse package.json files, for every file that it needs to resolve: https://github.com/browserify/resolve/blob/4bece07740878577be9570efe47fde66d289b5ff/lib/sync.js#L123-L147
We have some guarantees in our repo, e.g. we only have one package.json file outside of node_modules and we don't rely on any of its fields for module resolution, and we also don't expect any of these files to change within a single run. Therefore, we can make this a lot more efficient by avoiding the resolve package for files outside of node_modules (i.e. doing a custom resolution) and caching the results. Since we have ~80,000 TypeScript files in our repo, and only one package.json file that happens to be irrelevant to how these are resolved, this means we might be reading that same package.json file off disk and calling JSON.parse on its contents ~80,000 times more than is actually necessary.
To ensure that the caching doesn't make watch mode confusing when the file system changes while watch mode is running, I added a watch plugin to clear the caches when the filesystem changes. This replicates the default resolver's integration with watch mode: https://github.com/facebook/jest/blob/7edfb105f3f377434d30e143a4dbcc86e541b361/packages/jest-core/src/watch.ts#L288-L289
This resolver reduces my original --listTests --findRelatedTests command from ~150s to ~15s.
Here's my code. Most of the speed improvement is due to avoiding the resolve package for our files outside of node_modules, with the additional full resolution caching adding a little bit of speed improvement on top.
// custom-resolver.js
const fs = require('graceful-fs');
const path = require('path');

const IPathType = {
  FILE: 1,
  DIRECTORY: 2,
  OTHER: 3,
};

const checkedPaths = new Map();

function statSyncCached(filePath) {
  const result = checkedPaths.get(filePath);
  if (result !== undefined) {
    return result;
  }

  let stat;
  try {
    stat = fs.statSync(filePath);
  } catch (e) {
    if (!(e && (e.code === 'ENOENT' || e.code === 'ENOTDIR'))) {
      throw e;
    }
  }

  if (stat) {
    if (stat.isFile() || stat.isFIFO()) {
      checkedPaths.set(filePath, IPathType.FILE);
      return IPathType.FILE;
    }

    if (stat.isDirectory()) {
      checkedPaths.set(filePath, IPathType.DIRECTORY);
      return IPathType.DIRECTORY;
    }
  }

  checkedPaths.set(filePath, IPathType.OTHER);
  return IPathType.OTHER;
}

function isFile(filePath) {
  return statSyncCached(filePath) === IPathType.FILE;
}

function isDirectory(dir) {
  return statSyncCached(dir) === IPathType.DIRECTORY;
}

const resolverCache = new Map();

const defaultModuleDirectory = ['node_modules'];

// Jest's default resolver uses the `resolve` npm package, which is woefully
// inefficient. The resolve package will attempt to look for package.json files
// in every directory, and repeatedly read and parse package.json files, for
// every file that it needs to resolve. Since we have some guarantees here, like
// we only have one package.json file for our repo, and we don't expect these
// files to change within a single run, we can make this a lot more efficient by
// doing a custom resolution and caching the results.
module.exports = function customResolver(request, options) {
  const isRequestAbs = request.startsWith('/');

  const cacheKey = isRequestAbs
    ? // If the request is an absolute path, we don't need to include the
      // basedir in the cache key, since it will not affect the resolution
      request
    : `${options.basedir};${request}`;

  const resolverCachedResult = resolverCache.get(cacheKey);
  if (resolverCachedResult !== undefined) {
    return resolverCachedResult;
  }

  const moduleDirectory = options.moduleDirectory || defaultModuleDirectory;
  const isInModuleDirectory = moduleDirectory.some((dir) =>
    isRequestAbs
      ? // If the request is an absolute path, we don't need to check the
        // basedir
        request.includes(`/${dir}/`)
      : options.basedir.includes(`/${dir}/`) || request.includes(`/${dir}/`),
  );

  // Local request paths can be of the form like "../foo" or
  // "/Users/foo/repo/bar", so we need to make sure that all of our bases
  // are covered.
  const isLocalFile = !isInModuleDirectory && (request.startsWith('.') || isRequestAbs);

  if (isLocalFile) {
    // This is a local file, so we want to do a custom fast resolution.

    const absPath = isRequestAbs ? request : path.resolve(options.basedir, request);

    if (isFile(absPath)) {
      // Path exists and is a file, so we are done here
      resolverCache.set(cacheKey, absPath);
      return absPath;
    }

    // If the file was not resolved using the extensions, and the absolute path is a directory,
    // we also want to check the index in the directory.
    const pathsToCheck = isDirectory(absPath) ? [absPath, `${absPath}/index`] : [absPath];

    // Prevent resolve from trying to look up, read, and parse the package.json
    // for this file, to improve performance.
    for (let i = 0; i < pathsToCheck.length; i++) {
      for (let j = 0; j < options.extensions.length; j++) {
        const resolvedPathWithExtension = `${pathsToCheck[i]}${options.extensions[j]}`;

        if (isFile(resolvedPathWithExtension)) {
          resolverCache.set(cacheKey, resolvedPathWithExtension);
          return resolvedPathWithExtension;
        }
      }
    }

    throw new Error(`Could not resolve module ${request} from ${options.basedir}`);
  }

  const defaultResolverResult = options.defaultResolver(request, options);
  resolverCache.set(cacheKey, defaultResolverResult);
  return defaultResolverResult;
};

module.exports.clearCache = function clearCache() {
  checkedPaths.clear();
  resolverCache.clear();
};

// custom-resolver-watch-plugin.js
const { clearCache } = require('./custom-resolver');

module.exports = class CustomResolverWatchPlugin {
  apply(jestHooks) {
    let isFirstRun = true;

    jestHooks.onFileChange(() => {
      // Clear the resolver cache whenever the filesystem changes so that files
      // will be correctly resolved again.

      if (isFirstRun) {
        // This is triggered when the watcher first starts up, but we don't
        // actually need to clear the cache at this time. We can get a small
        // speed benefit by skipping this on the first run.
        isFirstRun = false;
      } else {
        clearCache();
      }
    });
  }
};

Oh, also I think there may be an opportunity here to improve the performance of Jest's default resolver.
The resolver is currently synchronous and therefore uses resolve's synchronous method. However, I noticed that resolve's async method has a package option that allows you to provide package.json data applicable to the module being resolved. I assume that resolve will skip reading and running JSON.parse on the package.json files if this data is provided up front.
If this is the case, Jest's resolver could be made asynchronous to take advantage of this, and add some package.json lookup logic with a bit of caching built in so that the package data can be provided to resolve.  I think this will matter most for packages that have multiple files that need to be resolved, and may obviate the need for my custom resolver entirely.

Oh, also I think there may be an opportunity here to improve the performance of Jest's default resolver.
The resolver is currently synchronous and therefore uses resolve's synchronous method. However, I noticed that resolve's async method has a package option that allows you to provide package.json data applicable to the module being resolved. I assume that resolve will skip reading and running JSON.parse on the package.json files if this data is provided up front.
If this is the case, Jest's resolver could be made asynchronous to take advantage of this, and add some package.json lookup logic with a bit of caching built in so that the package data can be provided to resolve.  I think this will matter most for packages that have multiple files that need to be resolved, and may obviate the need for my custom resolver entirely.

I'm curious if TypeScript module resolution is better than resolve npm package. Since TypeScript module resolution has 2 modes: classic and node, it can also be used as an option in combination with the improvement above.

I'm curious if TypeScript module resolution is better than resolve npm package. Since TypeScript module resolution has 2 modes: classic and node, it can also be used as an option in combination with the improvement above.

I'm surprised there's not more caching here. E.g. reading and parsing the same json file multiple times seems unnecessary. Also, crawling the file system each time resolution happens seems overkill - some short circuiting based on paths and parent paths seems like it'd solve it to at least only read/parse package.json once per directory in the project.
We can implement readFile ourselves and cache the result, but I'm not sure we can avoid calling that function every time?
/cc @ljharb

I'm surprised there's not more caching here. E.g. reading and parsing the same json file multiple times seems unnecessary. Also, crawling the file system each time resolution happens seems overkill - some short circuiting based on paths and parent paths seems like it'd solve it to at least only read/parse package.json once per directory in the project.
We can implement readFile ourselves and cache the result, but I'm not sure we can avoid calling that function every time?
/cc @ljharb

resolve, just like node (and tbh jest also), can not assume that the filesystem is unmodified between resolutions.

resolve, just like node (and tbh jest also), can not assume that the filesystem is unmodified between resolutions.

Within a single test run I think we can make that assumption. But maybe not... Might make sense to allow users to modify this.
Adding that capability to resolve so we can pass an option to enable it would be pretty sweet 👍

Within a single test run I think we can make that assumption. But maybe not... Might make sense to allow users to modify this.
Adding that capability to resolve so we can pass an option to enable it would be pretty sweet 👍

I’d be happy to accept a PR :-) any time i have to work on resolve directly will be focused on exports support.

I’d be happy to accept a PR :-) any time i have to work on resolve directly will be focused on exports support.

This might be a relevant starting point if someone wants to pick it up: https://github.com/browserify/resolve/pull/186

This might be a relevant starting point if someone wants to pick it up: https://github.com/browserify/resolve/pull/186

One last comment - any API in resolve that does caching should have a "clear cache" API. resolve itself cannot know when it can clear caches, so it needs an API for it.

One last comment - any API in resolve that does caching should have a "clear cache" API. resolve itself cannot know when it can clear caches, so it needs an API for it.

The other alternative would be a wrapper package that uses readFile and handles the caching, which I might like better than making resolve stateful.

The other alternative would be a wrapper package that uses readFile and handles the caching, which I might like better than making resolve stateful.

I opened up https://github.com/browserify/resolve/pull/236 which adds readPkg which should allow consumers (like Jest) to cache the JSON themselves

I opened up https://github.com/browserify/resolve/pull/236 which adds readPkg which should allow consumers (like Jest) to cache the JSON themselves

Above PR has been released, here's a PR using that: #11076

^ released in 27.0.0-next.3

I'd like to investigate the aforementioned findClosestPackageFile before closing, I'm not sure how much of a difference it'll make for Jest by default though as we cannot skip the stat calls, and they are already cached

Agreed, I think it would only be faster if the paths could be determined quickly ahead of time and then looked up in a Set or something in the resolver. Do you happen to know if the haste map knows about package.json files and if that is accessible by the resolver? If so, maybe that information could be used here and would give a speed boost.
And speaking of haste map, if we can use that for package.json perhaps we could also use it for isFile?

Haste map has all user files, but not in node_modules

Gotcha. That might still be worth doing though for user files.

Interesting, it seems like #11076 in next.3 made module resolution smarter for Angular package format that Jest no longer asks to transform Angular umd files. I haven’t checked yet with ESM mode but hopefully Jest doesn’t ask to transform Angular esm files.
next.3 did help something with performance for Angular projects since umd files are not processed by transformer anymore. Thanks !


Add content to the Architecture page

Description:
Adding documentation on the architecture of the Streaming Integration profile.
Suggested Labels:
Streaming-Integration docs
Affected Product Version:
EI 7.0.0
Link
https://github.com/wso2/docs-ei/blob/master/en/streaming-integrator/docs/overview/architecture.md

Completed for the EI 7.0.0 release.


adding first pass at Dockerfile

Ideally 3.10
--
Ankur Goyal
CEO, Impira
Make Meaningful
Sent via Superhuman iOS ( @.*** )
On Sat, Sep 10 2022 at 10:09 AM, npappenhagen < @.*** > wrote:

@.**** commented on this pull request.
In Dockerfile (
https://github.com/impira/docquery/pull/12#discussion_r967678744 ) :

@@ -0,0 +1,18 @@
+FROM ubuntu:latest

+RUN apt-get update \

&&
apt-get install -y python3-pip python3-dev \

does this need to be specific about which python3 version to use? I think
some of the dependencies here require > 3.6.
RUN apt-get update && apt-get install -y python3.9 python3.9-dev
python3-pip
—
Reply to this email directly, view it on GitHub (
https://github.com/impira/docquery/pull/12#pullrequestreview-1103155127 ) ,
or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAEKA47Y6QTY5O7Z5DRLLNDV5S6EPANCNFSM6AAAAAAQDXWIFY
).
You are receiving this because you are subscribed to this thread. Message
ID: <impira/docquery/pull/12/review/1103155127 @ github. com>

@amazingvince how does the scan command work from the docker container? Specifically, if you run something like docker ... scan "What is the invoice number?" /path/to/fs how is it able to access files outside the container?

Yeah but what happens if you point to a file on your local filesystem?

@ankrgyl   docker run -v $(pwd)  should work

@ankrgyl It would be something like $ docker run -v $(pwd) ... docquery scan "What is the invoice number?" .
Something is missing there and also might change based on system env like windows