text:
separate floating-point instructions from Base

Like the integer instruction set, the base vector instruction set should be layered with optional extensions.
In particular, in embedded applications, integer computation is sufficient. Hence, I suggest all floating-point instructions (and conversion instructions) be placed into an optional vector floating-point extension.
This could go further, in that some vector integer calculations are not strictly necessary, such as divide or indexed load/store, but it becomes increasingly difficult to determine where to draw the line.
However, floating-point support should be made optional. The vector floating-point extension itself could possibly be divided up as well. For example, a smaller version that supports only half and single-precision, and a full version that offers all precisions.

Additionally: There are no 16-bits floating point in the base F/D ISA, but 16-bits floating point is mandatory format in RVV.

Additionally: There are no 16-bits floating point in the base F/D ISA, but 16-bits floating point is mandatory format in RVV.

it's not too difficult to restrict a single-precision unit to output 16b instead of 32b, so i don't have any problem with adding this functionality to a single-precision floating-point vector unit.
however, it takes a lot more area to implement double-precision arithmetic.  multipliers are O(n^2) and shifters are roughly O(n log n) where n = # of bits. plus these FPUs are replicated (one per lane), so it's a substantial area cost, hence my suggestion that the single-precision and below case be separated out for possible lightweight implementations.

First of all: FPU 16-bit also should be available for flexible mapping of operations to CPU/vector unit, for verification, for debugging and testing.
Number of stages, rounding etc, in optimized fdiv and fsqrt can be significantly different in comparison with 32b.
Of course, we can use common summators, multipliers, etc, but control logic for subnormals, overflows and rounding should be different.
And last, but not least:
conversion from 16b to 32b, 32b calculations and reverse conversion to 16b save the memory/register space, but need more time and energy.

the scalar ISA is already fixed and doesn't include FP16. it could be added as an optional extension, and perhaps made mandatory if a core has the floating-point vector extensions.
but there is little advantage to adding FP16 to the scalar core. on the vector unit, FP16 allows an implementation the choice whether to double the number of parallel lanes when operating on 16b floats. this doesn't make sense with FP16 on the scalar core unless you create a bunch of subword SIMD instructions.
if there is significant overhead to provide both FP16 and FP32 for instructions like fsqrt, then an implementation can choose to implement fewer lanes for those particular instructions (thereby saving area at the expense of runtime). having the freedom to tailor the cost/performance for different implementations is a good thing.

This was written in the original latex document and we have migrated that into the ascii doc as of fa13752
@alonamid Will update the operation table soon.

Thanks @colinschmidt -- I had forgotten that text was written before. Good catch to notice that it needed to be added to the present version.
I think the specification as written here is logical but overly restrictive. For example, I can imagine a case where a scalar cpu that supports G isa is paired with a V-spec engine that supports only integers, or only integers and FP16, for NN applications. The full FPU in the scalar host allows certain arithmetic to be done efficiently without the slowdown or bloating of software floating-point libraries. Likewise, adding full single or double precision support in the vector engine would cause area bloat where it is not wanted.
To be clear, designers should be allowed to support some level of vector data types <= scalar data types (where <= is a subset operation). The spec currently forces support to be ==. (I don't think it makes sense to allow >, because the cost of adding support in the scalar host is small compared to adding it to the vector unit, and you might always want a "fall-back" capability on the scalar host, eg when verifying/debugging vector code).

Unfortunately, as far as I know, this still isn't written down anywhere official let alone implemented, but the direction RISC-V has wanted to go for a while now is that the ISA specs list architectural state, individual instructions, etc. whereas relations such as "these instructions together form the $foo extension", "if these instructions [e.g., scalar FP] are present, those instructions [e.g., vector FP] must be present as well", etc. go into profiles which standardize common combinations of features without ruling out other combinations. It should absolutely be possible to implement a core which has RV32G and the integer part of V – though there may not be much of a pre-existing software ecosystem for such obscure combinations. The question at hand is whether the standardized profiles (that many people will compile for, or at least consider compiling for) should specifically include an option for "scalar FP but no vector FP" combination or whether it's something any vendor can do on their own.

This is what was added to the spec by https://github.com/riscv/riscv-v-spec/issues/24#issuecomment-431205223:
When the base V extension is
added to a base scalar ISA, it must support the vector data element
types and operations implied by the supported scalar types as defined by
tables <> and <>.
[#velemtypes-int]
.Supported Fixed-Point Formats
|===
|RV32I  |I8, U8, I16, U16, I32, U32
|RV64I  |I8, U8, I16, U16, I32, U32, I64, U64
|RV128I |I8, U8, I16, U16, I32, U32, I64, U64, I128, U128
|===
[#velemtypes-fp]
.Supported Floating-Point Formats
|===
|F      |F16, F32
|FD     |F16, F32, F64
|FDQ    |F16, F32, F64, F128
|===
So, any CPU that supports FD in the scalar core must also support FD in the vector core.
I would say this wording should be reversed:
When the base V extension is
added to a base scalar ISA, the scalar base ISA must support scalar operations for the vector data element types and operations implied by the supported vector types as defined by
tables <> and <>.

This was clarified to be a profile issue in #42.
Considering this closed based on that.

authors: aka-sps colinschmidt rkruppe vbx-glemieux

repo: riscv/riscv-v-spec


text:
feat: Support expression simplify rule

          Interestingly, we got a `not(others) or others` which equals true. We could use another rule to simplify this condition.

Originally posted by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/14127#discussion_r1433817332

Both of the following examples can be simplified into true.
StreamFilter { predicate: (Not((t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) OR (t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) }

StreamFilter { predicate: (((Not((t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) AND Not(IsNull(t1.ts))) OR (t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) OR IsNull(t1.ts)) }

Both of the following examples can be simplified into true.
StreamFilter { predicate: (Not((t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) OR (t1.ts > '2023-12-18 00:00:00+00:00':Timestamptz)) }

This predicate can be simplified to IsNotNull(t1.ts) rather than true. Right?

For batch plan, something like below could also be optimized, e.g.,

source: gharchive/issue

authors: chenzl25 xiangjinwu xzhseh

repo: risingwavelabs/risingwave

license_type: permissive

license_source: github-api


text:
move parser down to connector to avoid duplicate serialization overhead

Background
When using a connecter that generates data internally, eg. datagen and nxtmark, the existing implementation need to serialize the generated data to json and deserialize it to datachunk in the upper layer, which causes unnecessary overhead.
Design
in prev design for datagen, connectors are informed with columns and schema, there is no difficulty in generating datachunk directly.
Future Optimizations
No response
Discussions
No response
Q&A
No response

Needed by stream executor's micro-benchmarks (executed in e2e style), i.e. prevent datagen source from becoming a bottleneck.

authors: lmatz tabVersion


text:
bug(unknown): stream join on IS NOT DISTINCT FROM ocassionally fails

Consider the following join on IS NOT DISTINCT FROM:
create table t1 (v1 int);
create table t2 (v2 int);
create materialized view v as select * from t1 join t2 on v1 IS NOT DISTINCT FROM v2;
insert into t1 values (1), (null);
insert into t2 values (1), (null);
flush

Expected result:
select * from v;
----
1 1
NULL NULL

Sometimes:
select * from v;
----
1 1

Oops, I think I made a mistake in reading the error msg. Actually, the rows are swapped.


text:
Do we want to panic if we get an incorrect scaling request?

Describe the bug
If we send meta a misconfigured scaling request, then meta panics (see here). In our cloud setup this would lead to a restart of the meta pod and a failover to the follower.
Do we really want to use this in prod? Do we disable these assertions in prod? Maybe it is safer to just block the request and return an error.
pub(crate) fn rebalance_actor_vnode(
    actors: &[StreamActor],
    actors_to_remove: &BTreeSet<ActorId>,
    actors_to_create: &BTreeSet<ActorId>,
) -> HashMap<ActorId, Bitmap> {
    assert!(actors.len() >= actors_to_remove.len());

    let target_actor_count = actors.len() - actors_to_remove.len() + actors_to_create.len();
    assert!(target_actor_count > 0);

CC @ALeitert @shan
To Reproduce
No response
Expected behavior
No response
Additional context
No response

+1 for validating the request, reject and return error if it is wrong,
I guess the general principle is to avoid any panic/fatal error that crashes any component of RW in a production environment

Since we divide the scaling interface for cloud into two RPCs: cluster_info and reschedule, it's possible that there're some races during two calls. So reschedule is designed to be as defensive as possible for the requests.
This function is not the entry point for scaling. Actually, a complete set of validations have been done in build_reschedule_context and other places.
https://github.com/risingwavelabs/risingwave/blob/318714b2a50befdb42cd7ec9e4c6590dd43d9e6d/src/meta/src/stream/scale.rs#L488-L519
https://github.com/risingwavelabs/risingwave/blob/318714b2a50befdb42cd7ec9e4c6590dd43d9e6d/src/meta/src/stream/scale.rs#L641-L646
May I ask if there are edge cases we don't cover in practice?

authors: BugenZhao CAJan93 lmatz


text:
Rework of Glint internals

I've been unexpectedly busy these last summer months, so I unfortunately did not find much time to work on Glint. There has been some interesting discussion from users in issues #54, #49 and #28, thank you for your feedback! Starting from November I can free up time in my regular schedule to dedicate to the project.
To address some of the issues that other contributors and users have made, I plan to make some pretty big changes to Glint's internal workings. I'm opening it up for discussion here, so feel free to speak your mind. These are just some of the ideas I have and I love to hear your feedback, concerns and comments on these.
1) Integration with Spark
I have been working on a very simple proof of concept to simplify integration with Spark. In this concept you can include Glint as a library in your application by adding a line to your build.sbt file and then call glint.run(sparkcontext) somewhere in your code to start the entire Glint system (master and parameter servers) on your existing Spark cluster. This has several big advantages:

It makes Glint much easier to use. You don't have to run it as separate java processes.
It enables us to very easily ship user-defined functions to the parameter server because the compiled jar gets distributed by Spark for us. This enables custom processing at the parameter servers to simplify things like L1 regularization.

The major drawback is that we would no longer be able to run Glint as a stand-alone service. This change will make Glint dependent on Spark to ship functions across machines. As a result we can not run it outside of Spark. Nevertheless, I feel the benefits definitely outweigh the disadvantages.
2) Setting up benchmarks on simple machine-learning tasks
To measure the impact of future changes, we should have several standard machine-learning tasks on various data sizes (Linear SVM, Logistic Regression, etc.). Perhaps even very simple tasks such as an all-reduce. It is important to establish a baseline here, so that progress can be accurately measured.
3) Breeze dense & sparse vectors/matrices instead of Arrays
Currently all model data is stored as dense Arrays to prevent garbage collection overhead from being extreme. However, sparse models have significant advantages in terms of scalability. I propose a re-work of the internals of the PartialMatrix and PartialVector actors to utilize breeze's dense and sparse classes under the hood. We can return breeze structures as the result of pull requests, they should be easier to use than Arrays for machine learning applications. To manage possible garbage collection problems, we could eventually look into things like scala-offheap.
4) Fault tolerance
If a parameter server goes down, you lose that part of the model. Depending on your algorithm this may range from "we can recover" to "very very bad news". Other implementations of parameter servers boast a chord-like DHT structure that replicates the model across multiple machines to mitigate system failures (see figure 8 of Li et al (2014)). However, this is likely to give us significant performance degradation, because push requests need to go through all replicated models on other machines. We can of course vary the replication rate to balance fault-tolerance against performance. This will probably take the longest as it is quite complicated to implement. Nevertheless, it seems like an important thing to do to bring Glint to a larger audience.
5) Documentation
The documentation is in a bit of an awkward place right now. Several parts are missing, and other parts need to be clarified or rewritten. With the earlier proposed changes, the documentation can change quite significantly, so I don't want to waste a lot of time writing documentation that will be obsolete soon. If anyone has a good suggestion for a documentation framework in which we can easily publish to gh-pages, I'd love to hear it. I'm currently toying around in Sphinx and it works decently well, however, suggestions are welcome.

very cool

For (1), do you mean effectively using Spark's functionality for shipping closures across the network? I agree this is helpful as Spark handles the cleaning of closures etc (and has gone through a lot of effort to make it work). It may be worth looking at the spores project too (https://github.com/heathermiller/spores), though I think it is still a bit rough perhaps?
How do you propose this works exactly? So let's say I do async SGD, which could look something like this:
val vector = client.vector[Double](dim)
data.foreachPartition { iter =>
    val localData = iter.toIterable
    for (i <- 1 to iterations) {
        val w = vector.pull(keys)                // get latest weights
        val grad = localData.foldLeft(...)	// compute gradient
        val update = -localStepSize * grad
        vector.push(keys, update)
    }
}

Now on the param servers I need to update w by w = w - step * w * regParam, where w has already been updated with update, the (scaled) gradient from the worker. Do you propose using Spark something like:
paramServers.foreach { ps =>
    val w = ps.getVector(...)
    val newW = w - step * w * regParam
    ps.setVector(newW)
}

Could another option for (1) be an interface for adding Actors in a chain? Most PS implementations have some concept of filters as well as UDFs. Thinking about it, both could potentially be thought of as Actors within a chain of transformations (the Akka Streams type of model).
Then a UDF could be implemented by providing an Actor that knows how to e.g. apply the L1 proximal operator to a vector.

In terms of (4), I think it may be most efficient to see if the built-in Akka fault tolerance, persistence and replication tools can be used.

hello @MLnick I'm doing asynchronous sgd, but i'm just start up.

About (1), good point about chained actors, this could be a very elegant solution. One of the reasons I want to integrate with Spark is because user-provided bytecode (whether this is in the form of UDFs or custom actors) need to be distributed to the parameter servers and loaded at runtime. Spark handles this quite nicely by distributing the jar and dynamically loading it into the classpath at runtime. This prevents "class unknown" errors that you'd normally get when trying to serialize functions/classes across the network to different JVMs. Serializing user defined functions/classes in a distributed setting is quite difficult as illustrated (here the anonymous function (x,y) => x+y is attempted to be serialized):

The akka streams model seems very appropriate, but unfortunately doesn't work with remote/network-based/tcp akka actors (only those within the same JVM). Probably for the same reason outlined above.
For (4), we should maybe look at different consistency models for different use-cases. I can identify two here that need completely different replication behavior:

In the case of collapsed gibbs sampling (LDA), we'd need all replicas to be exactly up-to-date at all points in time. This is because a difference in count-table and local topic assignments could mess up the algorithm (you can theoretically get negative counts if you are unlucky enough).
For stochastic algorithms, if during failure the model gets set back to a previous point of time, it is not a very big deal since you just lose a few stochastic updates. We can do periodic model replications which don't have to take up much network usage. This is a much easier scenario to implement in my opinion, and the way to go for now.

Actually, now that I look at the most recent documentation, there seems to have been some progress made on akka streams over network (e.g. TCP-based streaming): http://doc.akka.io/docs/akka/2.4.10/scala/stream/stream-io.html

authors: MLnick codlife rjagerman

repo: rjagerman/glint

license: mit

license_source: bigquery


text:
Add optimized SVMRank file parser

Adds a fast C implementation for reading and parsing SVMRank formatted files.

Adds unit testing workflow on macos, windows and linux.

Updates publish workflow to publish macos, windows and linux binaries.

Codecov Report

Merging #20 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #20   +/-   ##
=======================================
  Coverage   97.61%   97.62%
=======================================
  Files          22       23    +1
  Lines         714      715    +1
=======================================
+ Hits          697      698    +1
  Misses         17       17

Impacted Files
Coverage Δ

pytorchltr/datasets/svmrank/parser/__init__.py
100.00% <100.00%> (ø)

pytorchltr/datasets/svmrank/svmrank.py
99.18% <100.00%> (ø)

Continue to review full report at Codecov.

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

source: gharchive/pull-request

authors: codecov-commenter rjagerman

repo: rjagerman/pytorchltr

license: MIT


text:
Fix. IncompleteRead: urllib is more "reliable" now

Improved method for download
GET_FILE_MAX_ATTEMPTS = 3
GET_FILE_MAX_WAIT = 0.5

try:
    from httplib import IncompleteRead
except ImportError:
    from http.client import IncompleteRead

    for attemps in range(GET_FILE_MAX_ATTEMPTS):
        try:
            resp = opener(url).read()
            break
        except IncompleteRead as e:
            logging.info(e)
            if attemps == GET_FILE_MAX_ATTEMPTS - 1:
                raise e

        try:
            time.sleep(GET_FILE_MAX_WAIT)
        except OSError as e:
            logging.error(e)
            continue

That solves: Incomplete reading, a very common error, even in stable connections.

You can also use request, but it means importing more things.

Thanks for the PR, I'll start looking through the commits.

@boludoz Is this something you are running into quite a bit? Have you tried doing an http downgrade to HTTP/1.0 vs running attempts in a loop?

It's happening very often, I have good internet. It is a well-known error. I realized late that your package included it, otherwise I would have used request.

[> Thanks for the PR, I'll start looking through the commits.

@boludoz Is this something you are running into quite a bit? Have you tried doing an http downgrade to HTTP/1.0 vs running attempts in a loop?
](https://github.com/rkbennett/od_import/pull/1/files)

@boludoz Is this something you are running into quite a bit? Have you tried doing an http downgrade to HTTP/1.0 vs running attempts in a loop?

https://github.com/rkbennett/od_import/pull/1/files

Does it only happen when pulling from specific stacks (IIS, etc)? I'm just trying to narrow down the potential root cause. I assume based on the PR this is only happening to you when you're using the directory of helper?

Does it only happen when pulling from specific stacks (IIS, etc)? I'm just trying to narrow down the potential root cause. I assume based on the PR this is only happening to you when you're using the directory of helper?

I was investigating more and the problem is the defective http servers, I am precisely downloading a zip from github.

Hey, sorry to throw a bit of a wrench into this PR, but it made me think that I needed a refactor of the http helpers so that items that are directly related to urllib requests can be modified in one place vs 6+. I am still wanting to research the issue you're running into though. Would you be able to create a quick issue with the specifics of how you're environment (python version, package hosting technology, etc)? I'd greatly appreciate it.

of course

import od_import
with od_import.remote_source('https://github.com/boludoz/jubilant-umbrella/blob/main/seleniumbase_.zip?raw=True'):
  from seleniumbase import BaseCase
  BaseCase.main(__name__, __file__)

  class CoffeeCartTest(BaseCase):
      def test_coffee_cart(self):
          self.open("https://seleniumbase.io/coffee/")
          self.assert_title("Coffee Cart")
          self.click('div[data-sb="Cappuccino"]')
          self.click('div[data-sb="Flat-White"]')
          self.click('div[data-sb="Cafe-Latte"]')
          self.click('a[aria-label="Cart page"]')
          self.assert_exact_text("Total: $53.00", "button.pay")
          self.click("button.pay")
          self.type("input#name", "Selenium Coffee")
          self.type("input#email", "test@test.test")
          self.click("button#submit-payment")
          self.assert_text("Thanks for your purchase.", "#app .success")

@boludoz is this a separate issue? I thought you had said you could pull from github?

@boludoz is this a separate issue? I thought you had said you could pull from github?

The problem is when downloading any type of file.

Replacing urllib with request worked for me, taking advantage of the fact that you have setup.py, we could add request there.

Considerations: your code would require python 3.7+ if you add request, plus you would need to import request (although it is an almost canonical library).

Hmmm, so here's the thing with when you use github.com, it does imports based on repo structure. Can you try taking the contents of seleniumbase_.zip and making them their own repo? So essentially make a repo called seleniumbase, and then make a subdirectory of it called seleniumbase and put the contents of your zip file into there.

Do you have selenium installed on the box your running this on?

Hmmm, so here's the thing with when you use github.com, it does imports based on repo structure. Can you try taking the contents of seleniumbase_.zip and making them their own repo? So essentially make a repo called seleniumbase, and then make a subdirectory of it called seleniumbase and put the contents of your zip file into there.

https://stackoverflow.com/questions/14442222/how-to-handle-incompleteread-in-python

@boludoz I'm testing this right now, and there are no incomplete reads in my testing

I am going to close this PR because this is starting to look more like it needs to be submitted as an issue. If you can go and create an issue for this we can discuss it better there vs creating a really long thread in a PR that isn't code related.

Closing this as the code has been refactored and more research should be done as to what the actual issue is. Please open an issue for this and we can dive further into it.

I am going to close this PR because this is starting to look more like it needs to be submitted as an issue. If you can go and create an issue for this we can discuss it better there vs creating a really long thread in a PR that isn't code related.

I should place the zip and that should work.

I am going to close this PR because this is starting to look more like it needs to be submitted as an issue. If you can go and create an issue for this we can discuss it better there vs creating a really long thread in a PR that isn't code related.

I should place the zip and that should work now, believe me, I don't have any problem, it is an error on some http servers.

Please create an Issue and we can discuss this further there.

I am going to close this PR because this is starting to look more like it needs to be submitted as an issue. If you can go and create an issue for this we can discuss it better there vs creating a really long thread in a PR that isn't code related.

I should place the zip and that should work now, believe me, I don't have any problem, it is an error on some http servers.

Please create an Issue and we can discuss this further there.

authors: boludoz rkbennett


text:
proposal: rescaling rkt

is there a way to rescale rkt?
like change the --memory limit from 1GiB to 2GiB while container is started?
is this feature gonna be implemented in the future?

This can be done externally by any orchestrator or runtime reconciliation tool, by directly manipulating the memory cgroups. There are currently no plan to implement such feature directly in rkt.

Doing that by external tool operating directly on used internals (like memory cgroups) will break our abstraction layer and possibly will only work with certain stage1 implementations.
It would be nice to have such cmdline api/stage1 api to tune running pod, but as there is no clear use case for that - this is only a nice to have idea.

use case: what if I have an alpine-sh container and I ssh'd into it and installed some packages or made some changes; later if I want to increase the memory of the POD I'll have to recreate the pod.
there should a way to rescale it.

I have an alpine-sh container and I ssh'd into it and installed some packages or made some changes

This is counter to how application containers / pods are typically used. The general idea is that containers should be treated as transient. Any persistent state should be handled via bindmounts, or committed into the image (e.g. via rkt export or via having originally built said changes into the image).
The "container-y" way to do this would not to resize a container, but to rkt export those changes as a new image, and then start the new image with those new memory requirements.
I do recognize that some container runtimes (e.g. lxc, openvz) are commonly used to create pets, not stamp out expendable copies of a base image, but I think rkt intentionally doesn't cover that use-case.

authors: Shashwatsh euank jellonek lucab

repo: rkt/rkt


text:
Nil key request results in infinite select

If a nil key, which results in string "", is requested an infinite select will occur since the workers will exit out because the initChunks() will have closed the g.getCh channel without putting anything on the channel.
The for loop in initChunks() will not execute due to the negative content length
for i := int64(0); i < g.contentLen; {
...
}

Content length is set to -1 by golang if the HTTP response is deemed to be chunked transfer encoding or EOF close response.
When a nil key is requested, the resulting HTTP request is to the bucket URL only, which results in AWS returning a listing of the bucket which is a XML streamed response.   The streamed response will not contain any content-length header, and golang will set the content-length to -1 in the response.
Since to execute multipart GET requests, the content length is needed to be known, it can be assumed the client does not support working with chunked transfer encoded responses or EOF close responses, and all responses must contain a content-length.
Incoming pull request to address the issue.   Two guards put in place

If content-length of response is -1, error
If path requested is "" (nil for string), error

Feel like a similar fix can be added as discussed at the end of rlmcpherson/s3gof3r#55 that if the workers closed the channel when exiting or some notification that they have finished (maybe new channel?) then the nextChunk() would exit.

Fixed by #58.

authors: mhoglan rlmcpherson


text:
v10 Feature: queryRenderedFeaturesInRect will query visible map if empty array is passed

Description
Passing an empty array to queryRenderedFeaturesInRect will now query the visible map view
Checklist

[x] I have tested this on a device/simulator for each compatible OS
[x] I updated the documentation with running yarn generate in the root folder
[x] I updated the typings files - if js interface was changed (index.d.ts)
[ ] I added/ updated a sample - if a new feature was implemented (/example)

@mfazekas reopened with changes. I removed the new function and added the functionality to the existing queryRenderedFeaturesInRect function by passing an empty array instead of the 4 bounding box corners. Let me know if you are ok with the approach.

repo: rnmapbox/maps


text:
Copying

Not sure the best approach here. Options:

Individual cell copying. Have to support on every type of cell, but can highlight individual hunks of text
Copy all original md. Noisier, but very easy to implement (UIAlertController etc)

Thoughts?
Inspired by #600

I quite like the idea of a "See Original" action, which just shows you the entire markdown in it's own view (and that's copyable)
Would be super helpful for testing where the markdown content is the cause of some render issues!

My preferences FWIW:

highlight individual chunks of text the iOS standard way so i get to use the share sheet
less good: view markdown so that I can do as above, but less good as I will have to content with markdown special characters
worst option: copy all text in cell, because that will require editing after the fact

There's still nothing preventing us doing both, as I do see two different use cases for this especially with the functionality of being able to quote a previous message which depends on this functionality but would be easier with paragraphs rather than entire posts!

FYI we wont be able to do normal text selection b/c we're not using UITextView (and wont for perf reasons).
I'd be open to a "view raw markdown" alert action on a comment's "..." menu item, open a modal UITextView, and let you select + highlight from that?

Works for me.

authors: Sherlouk gingerbeardman rnystrom

repo: rnystrom/GitHawk


text:
Too much space around text in syntax diagram in PDF; same diagram in HTML5 output (SVG) looks okay

Screenshot from a PDF:

Screenshot of corresponding SVG file (from HTML5 output) presented in Chrome:

Same DITA input. I'm just switching --format=pdf to --format=html5.
In PDF, text in diagrams has too much space around it.
It's as if the PDF processing is "expecting" a larger font. Acrobat reports the text in the PDF as 8pt; the CSS in the SVG file created for HTML5 output specifies 8pt.
I've tried experimenting with the font-family in plugins/com.moldflow.dita.syntaxdiagram2svg/xsl/syntaxdiagram2svg.xsl, but to no avail so far.
Am I doing something wrong?

If I take a syntax diagram SVG file (that looks fine when opened in a web browser) that was generated using the HTML5 output, and I refer to that SVG file in an <image> element in a DITA topic, and then I format that DITA topic to PDF, then the diagram in the resulting PDF exhibits the same problem as a <syntaxdiagram> rendered directly to PDF: too much space around the text.

The actual width of the text box is determined by a JavaScript interpreter (run from Batik), which gives different results based on the fonts that it finds on your system + the fonts listed in the diagram file. I remember that it tends to give too much space for some cases, but removing that space meant some other text boxes gave too little, which could not be allowed.
The last time I looked at this code it was set up to render HTML versions inline (not referencing the files), so it's also possible that the HTML version is picking up the font from the HTML page itself, while PDF is using some other default.
Beyond that, I'm not really able to help -- this is one of the harder to work with parts of the code, and I know at different times we got different PDF results from seemingly identical servers (but which turned out to have a slightly different set of system fonts installed).

authors: GrahamHannington robander

repo: robander/svg-syntaxdiagrams


text:
Improve adaptive curvature step in moment-curvature analysis

@Agent6-6-6:

I've noticed as well that the way the moment curvature analysis adaptively scales the curvature step it almost always just keeps increasing the curvature in each step. so by the time you get closer to the failure point the answers get very widely spaced.

if moment_diff <= delta_m_min:
                        kappa_inc *= 2
                    elif moment_diff >= delta_m_max:
                        kappa_inc *= 0.5

To demonstrate, first image is replacing 2 with 1.01, and 0.5 with 0.99 to arbitrarily limit to a much smaller step. You can appreciate the differences in the results in the below images for the same section. So by default the answer gets cruder and crude as it proceeds and you start to miss the fundamental behaviour I think. Note the general shape and higher curvature achieved when the steps are smaller.

It feels like the final point should always be undertaken at the failure strain. At the moment the final analysis point returned is only the point evaluated before a moment step goes over the failure strain. Which with a cruder step could be quite a bit lower than the actual true failure strain.

Originally posted by @Agent6-6-6 in https://github.com/robbievanleeuwen/concrete-properties/issues/44#issuecomment-1256912356

Hi @Agent6-6-6 thanks for the interrogation of the adaptive step. At the time I couldn't find a simple reference for this that wasn't something super complex akin to arc-length control of unstable FEM problems... so pulled this together myself and found it worked 'OK'.  I think there are two possible changes here, keen again to hear your thoughts:

Add additional parameter that controls how the curvature step is modified, currently hard coded to 2. Can be changed, as you have done to smaller values >=1, where 1 would be no change. Higher values allow for faster analyses e.g. to get an overall 'feel' for the behaviour, finding bugs etc. Whereas lower values allow for a more granular analaysis capturing the intricacies of the behaviour.
Ensure last curvature in the analysis corresponds to the failure strain. Not too sure how easy this one will be as the netural axis is constantly changing so it's not straightforward to predict at which curvature the failure strain will occur. It might be implementing an optional additional brentq algorithm that tries to hone in one this?

For the second point, could you detect failure like you currently have, and then instead of exiting simply halve the last curvature step kappa_inc and recheck. If still failure halve again, etc, if not failure continue for another iteration, etc until your curvature step is within some small enough tolerance indicating you're 'close enough' to the final failure strain? Would just add a few extra iterations at the end of the curve I'd imagine?
For the first point, maybe also having an upper limit cap on the curvature step increment on horizontal axis would mean things don't get too crude between data points as otherwise it just increases infinitely.
Obviously anything you do adds more time to the analysis, but I guess if you can control those multipliers as inputs and maybe an upper cap on the kappa_inc then you can tune it to your individual application?
Maybe for the multipliers just specify one as an input ratio, and have the other as the inverse? i.e. if 1.25 multiplier specified, inverse would be 0.8 for the reduction to kappa_inc, etc.

This all seems reasonable, any suggestions on what a reasonable default max. curvature step may be?

For the default maximum it might be a trade off between analysis time and things not getting too crude and running away as the curve to bigger and bigger steps as a curve goes horizontal at higher curvatures (with no axial load at least).
If a typical plot axes is going to be in units of 1e-5 or similar, maybe 1/4 or 1/3 of the grid spacing is sufficient?

I guess if axial load is considered then the plot is more likely to change at the end of the curve so would need to test I guess.

@robbievanleeuwen one other useful thing to add to the generation of the moment-curvature data points would be a limit on the reduction of the strength (which could be considered a failure). For example, once you go past the peak strength the strength degrades, and set a ratio on this which if it is exceeded also creates a failure condition.
I'd imagine this could be tracked by simply comparing the maximum mxy moment from all the prior iterations to the current iteration value, and if it exceeds a user-defined limit a failure is flagged.

@Agent6-6-6 I feel like this last point could probably be quite easily done by post-processing rather than building into the generic moment curvature method.

OK, no worries.
A loss of strength is a pretty common failure criteria from an analysis perspective. But like you say easy to run through results after and determine this.
Based on other failure criteria like buckling of longitudinal bars or failure at laps also applying you're always up for some post processing potentially.
Perhaps a built-in method to return a failure moment-curvature relationship based on these type of additional failure criteria. Apply if you want to truncate moment-curvature based on strength or other limiting strain. Probably best implemented under a particular design code to be honest.

Yes agreed, does feel like design code post-processing is the best way to deal with this. If things span multiple design codes, can always put some helper methods in the DesignCode class to prevent repetition.

repo: robbievanleeuwen/concrete-properties


text:
ansible plugin added

Ansible Plugin provides custom ansible commands and aliases.

Thanks for the new plugin, @deepan10!

Thanks @robbyrussell

repo: robbyrussell/oh-my-zsh


text:
css: Add support for parsing CSS comments

Resolves #37

Okay, so I didn't add support for comments everywhere they're allowed, but now CSS comments work everywhere we used skip_whitespace to support arbitrary whitespace. Maybe this is good enough for now? Most of the parser (including my comment-dodging code) will go away once we write a spec-compliant parser, so I don't think it's worth it to spend more time on it to try to be 100% compliant for comments right now.

repo: robinlinden/hastur


text:
how to use flex button with command parameter

i am trying to send value in command parameter to get it in my clicked binding of viewmodel
something like this  https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/data-binding/commanding#using-command-parameters
whenever i am doing this  ClickedCommandParameter="1"  my button get disabled could u please help me how can i get the command parameter value in viewmodel

What was the solution for this problem?

Hi I am facing the same problem. Please advise

Update-- I managed to rectify the problem by setting the binding context in the ContentPage constructor

authors: fjuzen qz2rg4 ronakshethia

repo: robinmanuelthiel/flexbutton


text:
FluentFTP.FtpException "The connection must be open before a transfer between servers can be intitiated""

FTP OS: Windows
FTP Server: Pure-FTPd / DrFTPD / Vsftpd / ProFTPD / Vax / VMS / OpenVMS / Tandem / HP NonStop Guardian / IBM OS400 / AS400 / Windows CE
Computer OS: Windows 10
**FluentFTP Version: 32.4.3
Hello,
What do c# statement do i need prior to calling the FXP method TransferFile?
im getting ...
FluentFTP.FtpException "The connection must be open before a transfer between servers can be intitiated""
Maybe you have an example of how to use the TransferFile (FXP Server To Server)?
Thanks for your help.

resolved the error, just had to connect :)
but the transferred file is 0 bytes at the target ftp
does anyone know why? thanks.

repo: robinrodricks/FluentFTP


text:
Interactive init

Allow to specify the migrations dir and other configurations.
Also should create the migration dir if it does not exist.

was implemented in #468.

authors: andho robmorgan

repo: robmorgan/phinx


text:
Linking on macOS is still troublesome

Hey there! I'm trying to use magic-sys on an app of mine but I'm having some issues compiling on macOS
Versions
$ uname -mv
Darwin Kernel Version 21.6.0: Thu Sep 29 20:13:46 PDT 2022; root:xnu-8020.240.7~1/RELEASE_ARM64_T8101 arm64

$ brew link libmagic
Warning: Already linked: /opt/homebrew/Cellar/libmagic/5.44

$ rustc --version
rustc 1.68.0-nightly (92c1937a9 2022-12-27)

and magic-sys 0.3.0
Build outputs
When running cargo build
ld: library not found for -lmagic

When running MAGIC_DIR=/opt/homebrew/Cellar/libmagic/5.44/lib MAGIC_STATIC=false cargo run
  thread 'main' panicked at 'No libmagic.so found in "/opt/homebrew/Cellar/libmagic/5.44/lib"', /Users/viniciusmiguel-mba/.cargo/registry/src/github.com-1ecc6299db9ec823/magic-sys-0.3.0/build.rs:30:21

It seems build.rs still only looks for libmagic.so instead of libmagic.dylib on macOS, which causes the build to fail, despite #32
If I go to /opt/homebrew/Cellar/libmagic/5.44/lib and symlink libmagic.dylib to libmagic.so then it works correctly
When running MAGIC_DIR=/opt/homebrew/Cellar/libmagic/5.44/lib MAGIC_STATIC=true cargo run
  = note: Undefined symbols for architecture arm64:
            "_BZ2_bzDecompress", referenced from:
                _uncompressbzlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_BZ2_bzDecompressEnd", referenced from:
                _uncompressbzlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_BZ2_bzDecompressInit", referenced from:
                _uncompressbzlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_inflate", referenced from:
                _uncompresszlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_inflateEnd", referenced from:
                _uncompresszlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_inflateInit2_", referenced from:
                _uncompresszlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_inflateInit_", referenced from:
                _uncompresszlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
            "_zError", referenced from:
                _uncompresszlib in libmagic_sys-1608e149fbcfc5d0.rlib(compress.o)
          ld: symbol(s) not found for architecture arm64

For libmagic.dylib there's #30 which I didn't get to merge yet.
As for why libmagic is not found with just cargo build I'm not sure. I don't have a Mac, so can't really test how Brew behaves, especially on arm64. I can experiment by using GitHub Actions for this (see .github/workflows/mac.yml) but this is a bit cumbersome.
Can you check if the Brew directories are included in the default ld library paths?
The undefined symbols might be solved with using pkg-config, see #1
Could you check whether Brew installed a libmagic.pc or such and post it?
This might be a similar case as https://github.com/robo9k/rust-magic-sys/pull/16#issuecomment-949094327

Could you elaborate why you got your own wizardry binding instead of using the/my magic crate?


text:
feat: Automatically enable Helm v3 mode

Runs helm version in helmexec.New, and exposes a method on Interface to allow other packages to use the detected version. Preserves compatibility with previous HELMFILE_HELM3 mechanism.
Resolves #923

Whoops, that CI failure is real -- the TestHelmState_flagsForUpgrade passes in a ShellRunner and tries to execute the system helm (which worked on my system but thankfully failed in CI). I'll pull in mockRunner for that test first thing tomorrow.

@mumoshu all green! I rebased on top of the un-merged #965; the changes from that appear here since that PR hasn't been merged yet.
I also added a tiny test for the Helm 3 detection logic for good measure.
I did want to quickly call one thing out about this change: as we saw in the integration test failures, this PR makes helmfile blow up on Helm 3 <3.0.0-rc.3. Is that OK? Confidently detecting the versions in the middle is possible (although pretty ugly), but I was thinking that since all affected versions are weeks-old prereleases it's probably better to just tell folks to upgrade to a released version.

this PR makes helmfile blow up on Helm 3 <3.0.0-rc.3. Is that OK?

@drakedevel Good point! I think that's okay.
Btw, just to be clear, does it fail on rc.2 and lesser? I was thinking that you've already done a great job on keeping the check for HELMFILE_HELM3 at https://github.com/roboll/helmfile/pull/963/files#diff-766154150f2383ce34784cd65a8f9862R51 which keeps rc.2 and lesser working.
But again, this PR looks great regardless of it actually works for rc.2 and lesser.
Thanks a lot for your contribution!

Btw, just to be clear, does it fail on rc.2 and lesser?

@mumoshu that's right -- but only if you don't specify HELMFILE_HELM3  (since that bypasses the version check completely). So I guess that's actually less of a big deal -- you had to already been using that env var, so upgrading won't actually break anything.

Thanks a lot for your contribution!
My pleasure, thanks for the fast reviews!

authors: drakedevel mumoshu

repo: roboll/helmfile


text:
Verbose console incorrectly formats Log To Console

I have tried running the following test in a variety of ways:
C:\Users\Me\robottests
λ robot --console verbose robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console dotted robot-test.robot
Running suite 'Robot-Test' with 1 tests.
==============================================================================
bah
bah2
[ ERROR ] error
bah3
.
==============================================================================
Run suite 'Robot-Test' with 1 test in 37 milliseconds.

PASSED
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed

Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console quiet robot-test.robot
bah
bah2
[ ERROR ] error
bah3

C:\Users\Me\robottests
λ robot --console verbose --consolemarkers off robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
bah2
[ ERROR ] error
bah3
| PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console verbose --consolemarkers on robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

C:\Users\Me\robottests
λ robot --console verbose --consolecolors off --consolemarkers on robot-test.robot
==============================================================================
Robot-Test :: Test robot logging
==============================================================================
T2                                                                    bah
.bah2
[ ERROR ] error
T2                                                                    .bah3
T2                                                                    | PASS |
------------------------------------------------------------------------------
Robot-Test :: Test robot logging                                      | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\Me\robottests\output.xml
Log:     C:\Users\Me\robottests\log.html
Report:  C:\Users\Me\robottests\report.html

Of these, only quiet logs to console correctly, but this has the downside of not logging the name of the test.
If verbose is on, Log To Console won't correctly go onto a new line the same way a Log  with level=ERROR will correctly go onto a new line. This seems to be because VerboseWriter doesn't clear status / info for Log To Console like it does for Log.

A similar issue exists when logging INFO with loglevel info, or if an error is logged with console=True, like so:
```Log    error    level=ERROR    console=True```

This is true but at least I don't have any good idea how to solve the problem. Robot itself writes the normal console output, but everything you log with Log To Console, using print('message', file=sys.__stdout__) in a library, or otherwise is just written into the same console independently. If someone has an idea how to make logging from various sources somehow coordinated and is willing to provide a PR it would be awesome. I doubt I have time to think about this in the foreseeable future and will close this issue if nobody else is interested to work on it.

logger.console() could be changed to use the same formatting as Log fairly easily. Getting print in external libraries to work would be extremely difficult, I agree.
Alternatively an option  between verbose and quiet that writes names and status but doesn't use the markers would solve my issue. That would be the simplest solution, I may have time in the near future to implement that.

Have you @DanielPBak had time to look at this more closely?

I no longer work with RobotFramework, so I don't think I will be working on it.

OK. Hope to see you back some day!

authors: DanielPBak pekkaklarck

repo: robotframework/robotframework


text:
Fix typo in ListenerInterface.rst

typo fix

Admin, can CI be enabled?

Sorry robotci I speek only to humans.

Thanks, good catch! Think it should read "as a list", though.

Fixed this in 5597602 with as a list.

authors: mkorpela pekkaklarck robotci


text:
when i build this project, this error occurs.  My osqp is version 0.4.1.

make
Scanning dependencies of target OsqpEigen
[ 25%] Building CXX object CMakeFiles/OsqpEigen.dir/src/Data.cpp.o
[ 50%] Building CXX object CMakeFiles/OsqpEigen.dir/src/Settings.cpp.o
[ 75%] Building CXX object CMakeFiles/OsqpEigen.dir/src/Solver.cpp.o
/home/ruoyo/Apps/osqp-eigen/src/Solver.cpp: In member function ‘bool OsqpEigen::Solver::initSolver()’:
/home/ruoyo/Apps/osqp-eigen/src/Solver.cpp:83:44: error: cannot convert ‘OSQPWorkspace**’ to ‘const OSQPData*’ for argument ‘1’ to ‘OSQPWorkspace* osqp_setup(const OSQPData*, OSQPSettings*)’
m_settings->getSettings()) != 0 ){
^
CMakeFiles/OsqpEigen.dir/build.make:110: recipe for target 'CMakeFiles/OsqpEigen.dir/src/Solver.cpp.o' failed
make[2]: *** [CMakeFiles/OsqpEigen.dir/src/Solver.cpp.o] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/OsqpEigen.dir/all' failed
make[1]: *** [CMakeFiles/OsqpEigen.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Which version of OSQP are you using? Which version of osqp-eigen?

Sorry, I did not see the title. I guess that the master branch is not compatible with OSQP 0.4.1 , I guess you should try the appropriate version: https://github.com/robotology/osqp-eigen/releases/tag/v0.4.1 .

Which version of OSQP are you using? Which version of osqp-eigen?

i use OSQP version 0.4.1 , because i dont know why i cant use the latest OSQP version.

Sorry, I did not see the title. I guess that the master branch is not compatible with OSQP 0.4.1 , I guess you should try the appropriate version: https://github.com/robotology/osqp-eigen/releases/tag/v0.4.1 .

thx bro , i'll try

authors: Richard-LXA traversaro

repo: robotology/osqp-eigen


text:
Import AddUninstallTarget.cmake from YCM v0.14.1 to fix compilation with ninja

From https://github.com/robotology/ycm/blob/v0.14.1/modules/AddUninstallTarget.cmake
The osqp-eigen PR https://github.com/robotology/osqp-eigen/pull/117 introduced a ninja-related regression as it ported from YCM the PR https://github.com/robotology/ycm/issues/169  without porting the related commit https://github.com/robotology/ycm/commit/f2c61b1b9f5b2a7935bf79d1d43a68a218225804 that is a fix for https://github.com/robotology/ycm/issues/240 . To avoid the problem, I just import the module from the latest YCM release.
Fix https://github.com/robotology/robotology-superbuild/issues/1153 .

Thank you @traversaro

authors: GiulioRomualdi traversaro


text:
Add support for Windows Containers

We have Windows based worker nodes in our K8S clusters running Windows containers - it would be great if KRR also worked with the metrics that are output from the prometheus windows_exporter.
This might be as simple as using 'windows_container_cpu_usage_seconds_total' in place of 'container_cpu_usage_seconds_total' and 'windows_container_memory_usage_commit_bytes' in place of 'container_memory_working_set_bytes' though there are possibly other differences that I've not considered to complicate things.
Stretch-goal - support both sets of metric names in parallel, so I get a single report output with all of the containers in the cluster regardless of what OS they're running on.
FYI - the full list of windows container metrics is available here:  https://github.com/prometheus-community/windows_exporter/blob/master/docs/collector.container.md

Hi @Rob-B-NAIT,
We are open to PRs for this and I'd be happy to point you in the right direction. Would you be interested in giving it a shot?

authors: Rob-B-NAIT aantn

repo: robusta-dev/krr


text:
banning numbers

hi , thank you , it working well , but my number banned after first message to me , plz what to avoid the banning

Hi @Solutionkw
Sorry to hear you got banned.
Mudslide is just a thin wrapper around the unofficial WA library called Baileys. Please check that library for issues such as banning, for example as discussed in this issue.
KR, Rob

thank you very much ,, it working well,, but my number where reported

authors: Solutionkw robvanderleek

repo: robvanderleek/mudslide

license: ISC


text:
Disallow @ in package URLs

It allows exploits like https://medium.com/@bobbyrsec/the-dangers-of-googles-zip-tld-5e1e675e59a5 and does not seem necessary for ergonomics.
Basically we should give a nice error saying "URL contains @" if it contains an @ and explain that we don't allow @ in package URLs because they can be used for exploits and aren't necessary.

I used codepoints.net to search for slash and I came across these 4 codepoints that look like a forward slash:
⁄ - U+2044 Fraction Slash
∕ - U+2215 Division Slash
／ - U+FF0F Fullwidth Solidus
⧸ - U+29F8 Big Solidus

It does worry me a bit that there is a possibility that this list grows. The original proposal of simply banning the @ is indeed more bullet proof, but comes with the tradeoff I mentioned about losing the built-in basic-auth capability.

Great points! I think we should ban both the kinda-slashes as well as the @. 😄
From a design perspective, the nice thing about disallowing things is that if it's causing problems for people in practice, we can always revisit in the future; it's easier to allow things later than to disallow them after people might already be relying on them. 😄

Now that #5493 has been merged (thanks @rtfeldman), I'll try to work on displaying the error messages for these cases. Not sure how big of a task it is, but that hasn't stopped me before 😅

I've been looking for good-first-issue issues and found this resolved one. This can be closed.

authors: fdbeirao mainrs rtfeldman

repo: roc-lang/roc


text:
De-sugar bang ! operator - part 3 - optional {} =

This PR adds to #6599 to make {} = optional for suffixed identifiers.
A statement is valid syntax if it beings with a suffixed identifier i.e. Stdout.line!. Multi-line statements will have an increased ident for the following lines. The {} = will be applied as sugar, and when formatted this will also be removed if it is present.
This PR was tested using the following programs (header excluded).
# Parses as three defs with a return expression
main =
    a = "Foo"
    Stdout.line! a

    b = "Bar"
    Stdout.line b

# Parses as a single def with a return expression
main =
    Stdout.line! "Foo"

    Stdout.line "Bar"

Fix for suffixed without arguments enables the following
main = run |> Task.onErr \err -> Stderr.line "ERROR: $(Inspect.toStr err)"

run =
    sayHello!
    checkJq!

    Task.ok {}

sayHello = Stdout.line "Hello World"

checkJq =
    "jq --version"
    |> Cmd.new
    |> Cmd.status
    |> Task.mapErr UnableToCheckJQVersion

Closing in favour of a new approach that I am working on.
This was helpful to understand the scope of the task, but I think another direction will be more correct.


text:
Attribute transclusion and is-active attr

Add is-active toggle to rg-header-item
transcludeAttrs method to move attrs to first child with ng-transclude
Integrate transcludeAttrs on rg-header-item for sref and href

TP https://rockabox.tpondemand.com/entity/11496

LGTM

authors: chrisvxd gregbenner


text:
onnx推理正常，转rknn报错

onnx转tensorRT部署正常，但是转rknn报错，麻烦看下是什么问题？

onnx模型下载：
链接：https://pan.baidu.com/s/1vAzDTe1znROKZaC0RrFUPA
提取码：1wbr

试试看这个模型
链接: https://pan.baidu.com/s/1O_O_7zEQ7GUvK1FMndP-bA 提取码: 2mdb
--来自百度网盘超级会员v5的分享

repo: rockchip-linux/rknn-toolkit


text:
Specify partition when creating EFI entry

Resolves #49
This corrects the creation of the new EFI entry when the EFI mount is not on the first partition of the disk.  The disk name and partition number will be separated to add the correct entry.
EFI Mount:
[root@server ~]# findmnt --mountpoint /boot/efi --output SOURCE --noheadings
/dev/sdb2

Partition List:
[root@server ~]# blkid
/dev/sdb1: UUID="7a6bb05a-0794-8b27-9ab6-5202a0d1123a" UUID_SUB="f9a82a2f-343e-3b71-7fd4-ef1bae7618f9" LABEL="localhost.localdomain:0" TYPE="linux_raid_member" PARTUUID="e72492d1-1442-45f6-b321-ddf06f54e248"
/dev/sdb2: SEC_TYPE="msdos" UUID="C97A-BA35" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="99b40767-4f6a-4006-85e7-a922638a8e33"
/dev/sdb3: UUID="9fcfce30-34df-7261-617b-2ee252a2c0da" UUID_SUB="087ed481-2114-b170-78c8-cb1a84c2c997" LABEL="localhost.localdomain:1" TYPE="linux_raid_member" PARTUUID="64ff1122-0b99-46a8-87c2-390bdb887106"

Old:
Boot0007* Rocky Linux   HD(1,GPT,e72492d1-1442-45f6-b321-ddf06f54e248,0x800,0x1f4000)/File(\EFI\rocky\grubx64.efi)
New:
Boot0007* Rocky Linux   HD(2,GPT,99b40767-4f6a-4006-85e7-a922638a8e33,0x1f4800,0x64000)/File(\EFI\rocky\grubx64.efi)
Partition number extraction looks to work for the various naming schemes,

Mount
Disk
Partition #

/dev/sdb2
/dev/sdb
2

/dev/mmcblk3p4
/dev/mmcblk3
4

/dev/nvme2n5p3
/dev/nvme2n5
3

Thanks for this.  I think there are more reliable ways to get the disk and partition from the system, I'm looking into it and will throw something together.

Closing in favor of #52

authors: McNutnut pajamian

repo: rocky-linux/rocky-tools


text:
Include appropriate roles/landmarks to elements

So that screen-readers will provide additional navigation options and announce the elements' purpose. (When necessary)
See: https://htmhell.dev/adventcalendar/2022/4/
To Do

[ ] Add role=search
[ ] Check uses of <header> and <footer> etc.
[ ] Where to use <nav>?

Also: https://www.htmhell.dev/adventcalendar/2022/16/#lists-and-safari-"list"-itis

repo: rodekruis/helpful-information


text:
http://git.io/powder is broken

http://git.io/powder
"No url found for powder"

+1

Fixed it! http://git.io/powder

authors: ambled andyw8 philnash

repo: rodreegez/powder


text:
Unhandled Exception: Null check operator used on a null value

i made asyncWhen function like mobx

Future<void> asyncWhen(ComputedCallback<bool> compute,
    {Duration? timeout}) async {
  Computed<bool>? computedSignal = computed(compute);

  if (computedSignal.peek()) {
    computedSignal.dispose();
    return;
  }

  Completer<void>? completer = Completer();

  Timer? timer;
  EffectCleanup? disposer;

  void cleanUp() {
    disposer?.call();
    disposer = null;

    timer?.cancel();
    timer = null;

    computedSignal?.dispose();
    computedSignal = null;

    completer = null;
  }

  if (timeout != null) {
    timer = Timer(timeout, () {
      if (completer?.isCompleted == false) {
        completer?.completeError('WHEN_TIMEOUT');
      }
      cleanUp();
    });
  }

  disposer = computedSignal?.subscribe((value) {
    if (value) {
      if (completer?.isCompleted == false) {
        completer?.complete();
      }
      cleanUp();
    }
  });

  return completer!.future;
}

for test:

 final test = signal(false);

...

Future.delayed(
  const Duration(seconds: 4),
  () {
    test.value = true;
  },
);
await asyncWhen(() => test(), timeout: const Duration(seconds: 5));

and everything works fine, except there is an error showing in console:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value
#0      _endBatch (package:signals_core/src/core/batch.dart:44:5)
#1      _Signal._updateValue (package:signals_core/src/core/signal.dart:354:7)
#2      _Signal._set (package:signals_core/src/core/signal.dart:334:7)
#3      _Signal.value= (package:signals_core/src/core/signal.dart:325:5)

after some investigation, the error came from devtool.dart file  from _onEffectCalled callback

so using ! causing the null check exception, and also _effectCount[instance.globalId] ?? 0; what is doing without any assignation?

One error with the code is if (computedSignal.peek()) will throw an error because the value has not been read.
A computed function will always throw an error if the value has not been created. I think the docs need to make that more clear

One error with the code is if (computedSignal.peek()) will throw an error because the value has not been read.
A computed function will always throw an error if the value has not been created. I think the docs need to make that more clear

could you give me a case that could throw an exception?

thanks after the upgrade, everything works fine, and there is no error, asyncWhen it's really very handy, it depends on the predicate with signals to make future
it can be nice if added to this library by default, what do you think?


text:
Remote

Make an existing Git branch track a remote branch? - Stack Overflow

git branch -u origin/master
git branch --set-upstream-to=origin/master

Tracking remote branch and creating a local branch with the same name.
git checkout -t origin/{{branch_name}}

Add a branch in remote fetch list.
git remote set-branches --add origin master

[remote "origin"]
	fetch = +refs/heads/master:refs/remotes/origin/master

$ git remote set-url origin <url>

repo: rogerxu/git-tips


text:
Broken in VS Code version 1.45.1

Just tried to install this and it doesn't work. I see the "New post" option in the context menu but entering a file name and pressing enter does nothing.

Found the bug. If you use "new post" on a file instead of a folder, it breaks the path:
// This becomes the full path of a file, could be /path/filename.md
const dirName = uri.fsPath;

Will send a PR when I have some time

repo: rohgarg/jekyll-post


text:
fix: cleanup and complete body and subbody types lists

cc @wuwentao

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 89.41606% with 29 lines in your changes missing coverage. Please review.

Project coverage is 41.28%. Comparing base (be0504d) to head (0702859).

Files with missing lines
Patch %
Lines

midealocal/devices/b6/message.py
0.00%
6 Missing :warning:

midealocal/devices/x13/message.py
0.00%
6 Missing :warning:

midealocal/devices/c2/message.py
0.00%
3 Missing :warning:

midealocal/devices/b0/message.py
0.00%
2 Missing :warning:

midealocal/devices/e2/message.py
0.00%
2 Missing :warning:

midealocal/devices/e3/message.py
0.00%
2 Missing :warning:

midealocal/devices/fa/message.py
0.00%
2 Missing :warning:

midealocal/devices/fc/message.py
0.00%
2 Missing :warning:

midealocal/devices/fd/message.py
0.00%
2 Missing :warning:

midealocal/devices/ea/message.py
0.00%
1 Missing :warning:

... and 1 more

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #325      +/-   ##
==========================================
+ Coverage   39.91%   41.28%   +1.37%
==========================================
  Files          84       84
  Lines        7611     7792     +181
==========================================
+ Hits         3038     3217     +179
- Misses       4573     4575       +2

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

⚠ Please install the  to ensure uploads and comments are reliably processed by Codecov.

@rokam when you have a couple of spare minutes, please install the app

repo: rokam/midea-local


text:
Reseting scene in Editor recreates armature

with this scene setup :

when you start the scene then reset it :

another armature is created :

interestingly it is not a clone of the previous armature, so it probably just reloads the .mdl file

Duplicate of #216. Thanks for reporting though :)

authors: Lcbx rokups

repo: rokups/rbfx


text:
system.sh: Remove log file written to SD on boot containing the WiFi password

Purpose:

Yi firmware writes a log to the SD card (if present) on boot which contains sensitive information tar'ed up to one file. This file should be removed automatically in order to prevent leaking the WiFi password in case someone takes off the camera from the wall and takes out the sdcard.

This is unrelated to Yi-Hack, but very useful for security matters and should be considered to go in as a workaround.
Testing:

Verified working on my Yi Home 1080p v3 Camera (BFUSY31) with YiHack-allwinner 0.1.6
I've placed the workaround into /tmp/sd/yi-hack/startup.sh for testing

#!/bin/sh
#
# Setup env.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lib:/home/yi-hack/lib:/tmp/sd/yi-hack/lib
export PATH=$PATH:/home/base/tools:/home/yi-hack/bin:/home/yi-hack/sbin:/home/yi-hack/usr/bin:/home/yi-hack/usr/sbin:/tmp/sd/yi-hack/bin:/tmp/sd/yi-hack/sbin
#
rm -f "/tmp/sd/log/log_wifi_connected.tar.gz"
#
exit 0

Other source of information: https://www.reddit.com/r/homedefense/comments/gfxahv/security_flaw_found_yi_home_camera_dome_and_dome/

Thank you for your pr.

Seen more variations of log files unfortunately and they sometimes get written randomly so needs to be either prevented or deleted regularly:
log_first_login.tar.gz
log_first_login.tar.gz
log_oss_exit.tar.gz
log_oss_fail_x.tar.gz
log_oss_fragment_x.tar.gz
log_oss_success_x.tar.gz
log_p2p_clr.tar.gz
log_wifi_connected.tar.gz
I have just added this to the cron to deal with all logs in the meantime:
echo "  /1 * * * * rm -f -r /tmp/sd/log/ >/dev/null 2>&1" >> /var/spool/cron/crontabs/root
But got to be careful of the FREE_SPACE check which writes a single cron with potential overwrite:
echo "  0  *  *  *  *  /home/yi-hack/script/clean_records.sh $FREE_SPACE" > /var/spool/cron/crontabs/root
I have my SD free space set to 10% so this should be fine for now but not ideal.  My system.sh looks like this:
FREE_SPACE=$(get_config FREE_SPACE)
if [[ $FREE_SPACE != "0" ]] ; then
mkdir -p /var/spool/cron/crontabs/
echo "  0  *  *  *  *  /home/yi-hack/script/clean_records.sh $FREE_SPACE" > /var/spool/cron/crontabs/root
echo "  /1 * * * * rm -f -r /tmp/sd/log/ >/dev/null 2>&1" >> /var/spool/cron/crontabs/root
/usr/sbin/crond -c /var/spool/cron/crontabs/
fi

The last release contains generic crontab implementation.

repo: roleoroleo/yi-hack-Allwinner


text:
Spam Ajax GET requests to http://127.0.0.1:5555/output/update

Hello! When I open the debugger in my browser and check the console I see that it's making repeated GET requests to http://127.0.0.1:5555/output/update in the background.  These fail with 403 (Forbidden) since there's nothing in my application at that URL.
Is this normal?  Perhaps I've missed some configuration detail?
I'm using Chrome Version 55.0.2883.95 (64-bit).
Here is a screenshot of the console:

Those are normal calls to Web-PDB back-end to update the web-console info.

authors: alexington romanvm

repo: romanvm/python-web-pdb


text:
Rename sanctoral to sanctorale

I think we chose incorrect word (its spelling): Wikipedia states it is sanctorale, not sanctoral (note the e at the end of the word).

This change does not seem to difficult to fix; see the grep output below. Some of the instances are already using the correct word.
@emagnier, should I change this as part of #213 or should I wait until it is merged?
$ grep -ri sanctoral docs scripts/ src __tests__/
docs/localization.md:  sanctoral: {},
docs/localization.md:The `celebrations` and `sanctoral` objects will hold localization for `src/lib/Celebrations.ts`, `src/calendars/general.ts` and `src/calendars/<country>.ts` respectively where the celebration `key` is used as an identifier for localization purposes.
docs/general-usage.md:each liturgical day is depending on the proper of seasons or the sanctorale, and might be defined according to each other (including all [moveable feast](https://en.wikipedia.org/wiki/Moveable_feast)).
docs/general-usage.md:each liturgical day is depending on the proper of seasons or the sanctorale, and might be defined according to each other (including all [moveable feast](https://en.wikipedia.org/wiki/Moveable_feast)).
docs/data-output.md:- `metadata`: An object that holds additional information about the liturgical day, especially when it refers to a celebration coming from the Sanctoral or Martyrology.
docs/data-output.md:  celebrationCycle: 'TEMPORALE' | 'SANCTORALE';
docs/data-output.md:- `Sanctorale` denoted by the key `SANCTORALE`
docs/data-output.md:The [**sanctorale**](https://en.wikipedia.org/wiki/Sanctorale) (or the **proper of saints**) consists of the fixed celebrations (on the civil year), celebrated on the very same date each year (no matter what the day of the week).
src/constants/cycles/cycles.enum.ts:  SANCTORALE = 'SANCTORALE',
src/lib/locales.ts:  source: RomcalLiturgicalDaySources = 'sanctoral',
src/lib/calendar-builder.ts:    // otherwise set the celebrationCycle to SANCTORALE as a default value
src/lib/calendar-builder.ts:        : CelebrationsCycle.SANCTORALE;
src/lib/locales.test.ts:      key: 'sanctoral.paulina_of_the_agonizing_heart_of_jesus_visintainer_virgin',
src/models/locale/romcal-locale.type.ts:  readonly sanctoral?: {
src/models/liturgical-day/liturgical-day.types.ts:  | 'sanctoral';
src/locales/fr.ts:  sanctoral: {
src/locales/en.ts:  sanctoral: {
src/locales/pt-br.ts:  sanctoral: {
src/locales/it.ts:  sanctoral: {
src/locales/pl.ts:  sanctoral: {
src/locales/la.ts:  sanctoral: {
src/locales/sk.ts:  sanctoral: {
src/locales/en-gb.ts:  sanctoral: {
src/locales/es.ts:  sanctoral: {
src/locales/en-ie.ts:  sanctoral: {

I think it might be my fault, since 'sanctorale' is written without the final 'e' in french 😉
Anyway a PR is open to fix that: https://github.com/romcal/romcal/pull/279 😄

I think it might be my fault, since 'sanctorale' is written without the final 'e' in french :wink:

I thought so. :wink:

Fixed on https://github.com/romcal/romcal/pull/279.

authors: emagnier tukusejssirs

repo: romcal/romcal


text:
Request body with invalid JSON results in a 500 Internal Server Error response

Describe the bug

Performing a PATCH request to an endpoint protected by a Rond policy results in a 500 Internal Server Error if:

the Content-Type is application/json
the body contains an invalid JSON, with syntax errors.

The behavior has been observed on a PATCH request, but it's likely that any other http verb has the same issue.
Expected behavior

A 400 Bad Request error clearly explaning that the JSON in the body is invalid.
Actual Behavior
The server responds with a 500 Internal Server error and the following body:
{
	"error": "failed to create rond input",
	"message": "Internal server error, please try again later",
	"statusCode": 500
}

Replication info

Rönd version: Latest (main)
Running mode: sidecar/standalone

I'd expect rönd to reply with something like
{
	"error": "malformed body",
	"message": "Bad request, the request body is invalid",
	"statusCode": 400
}

I'd like to work on this @malta895 @fredmaggiowski

repo: rond-authz/rond


text:
建议在Wiki中增加macOS信任crx的方法(附方法)

参考：https://xclient.info/a/1ddd2a3a-d34b-b568-c0d0-c31a95f0b309.html
通过安装描述文件的方式来信任
本人已经测试通过~ 使用稳定~

我觉得是不是先转成 discussion 好些，或者能否提供 markdown文件，我来设置wiki？

authors: RalphTsui Rhilip

repo: ronggang/PT-Plugin-Plus