Support string type for PrefixSort

Support string type for PrefixSort.
Retrieve the maximum length of the string column when inserting data into the row container.
Use the maximum length + 1 as the encoding size for string columns.
Perf result
StdSort_no-payloads_1_varchar_1k                          162.73ns     6.15M
PrefixSort                                      450.44%    36.13ns    27.68M
StdSort_no-payloads_2_varchar_1k                          189.12ns     5.29M
PrefixSort                                      203.10%    93.12ns    10.74M
StdSort_no-payloads_3_varchar_1k                          208.78ns     4.79M
PrefixSort                                      159.43%   130.95ns     7.64M
StdSort_no-payloads_4_varchar_1k                          222.15ns     4.50M
PrefixSort                                      136.34%   162.93ns     6.14M
StdSort_no-payloads_1_varchar_10k                         252.45ns     3.96M
PrefixSort                                      367.91%    68.62ns    14.57M
StdSort_no-payloads_2_varchar_10k                         264.94ns     3.77M
PrefixSort                                      225.52%   117.48ns     8.51M
StdSort_no-payloads_3_varchar_10k                         291.35ns     3.43M
PrefixSort                                      245.79%   118.54ns     8.44M
StdSort_no-payloads_4_varchar_10k                         311.60ns     3.21M
PrefixSort                                      199.08%   156.52ns     6.39M
StdSort_no-payloads_1_varchar_100k                        364.70ns     2.74M
PrefixSort                                      451.86%    80.71ns    12.39M
StdSort_no-payloads_2_varchar_100k                        379.81ns     2.63M
PrefixSort                                      270.35%   140.49ns     7.12M
StdSort_no-payloads_3_varchar_100k                        484.50ns     2.06M
PrefixSort                                      329.78%   146.92ns     6.81M
StdSort_no-payloads_4_varchar_100k                        503.42ns     1.99M
PrefixSort                                      245.14%   205.36ns     4.87M
StdSort_no-payloads_1_varchar_1000k                       761.40ns     1.31M
PrefixSort                                      702.57%   108.37ns     9.23M
StdSort_no-payloads_2_varchar_1000k                       977.61ns     1.02M
PrefixSort                                      468.83%   208.52ns     4.80M
StdSort_no-payloads_3_varchar_1000k                         1.10us   909.21K
PrefixSort                                      370.11%   297.17ns     3.37M
StdSort_no-payloads_4_varchar_1000k                         1.17us   853.98K
PrefixSort                                      330.43%   354.39ns     2.82M

cc @skadilover , could you take a look also? Thanks.

cc @skadilover , could you take a look also? Thanks.

I'm curious whether the calculations of “varLengthColumnsMaxSize_” added here will affect performance, etc  for the case of a lots of “string columns”.
If there is no problem, I think the newly added code is OK right now.

cc @skadilover , could you take a look also? Thanks.

I'm curious whether the calculations of “varLengthColumnsMaxSize_” added here will affect performance, etc for the case of a lots of “string columns”. If there is no problem, I think the newly added code is OK right now.

The calculations of “varLengthColumnsMaxSize_” would not impact much as considering the time of allocate rows and copy the string to the stringAllocator_.
Here is a simple benchmark: https://github.com/zhli1142015/velox/commit/2db2743339a844ab14b15ffc403fda6685ea7ae2, I don't observe noticable difference from it.
Thanks.

Hello @Yuhta  and @skadilover , do you have any more comments for this PR? Thanks.

I worry if one row of string is extremely longer that other rows, does the performance deteriorate? Do we have much more smart strategy for it? And for the memory consumption, we should also consider this question.

Can this apply to VARBINARY?

This approach should be suitable for all variable length types, varbinary, array etc.

The maxNormalizeKeySize default value is 128, is this value reasonable for you?

We add this for improving the sort perf in TPCDS queries. For example query 67, i_category is string type, the average length is 5 and max length is 11.
(51) SortExecTransformer
Input [9]: [i_category#96, i_class#94, i_brand#92, i_product_name#105, d_year#33, d_qoy#37, d_moy#35, s_store_id#56, sumsales#430]
Arguments: [i_category#96 ASC NULLS FIRST, sumsales#430 DESC NULLS LAST], false, 0

I worry if one row of string is extremely longer that other rows, does the performance deteriorate?

The benchmark above uses the parameters string length : 50, maxNormalizedKeySize: 1024, I also try to set the .stringVariableLength as true. but I don't observe the regression.

Do we have much more smart strategy for it? And for the memory consumption, we should also consider this question.

We actually observe more memory allocated. For more smart strategies, we can either add separate config to limit the single variable column size, for example, if the max size > 12, we skip this optimization. Another one in my mind, we can calcualte the average size also, if average size < max size / 3, we skip this also. I prefer the second one, please let me know if you have any thoughts on this.
Thanks.

I think you could update one row to a very long row, maybe much to 1024, for the column comment, it may be very long.
I agree to the second way, and we may have a config to set the 1/3.

With string in prefix sort, for the case that sort keys are int, string, it is more likely to exceed maxNormalLizedKeySize threshold, and prefix sort in spilling may cause OOM because we try to spill when the memory is not enough. So I would suggest to add a variable to function PrefixSort::sort to enable this or not.
Besides, spark uses fixed width 8 byte for string prefix, and compare the record when the prefix is equal, which way is better?

With string in prefix sort, for the case that sort keys are int, string, it is more likely to exceed maxNormalLizedKeySize threshold, and prefix sort in spilling may cause OOM because we try to spill when the memory is not enough. So I would suggest to add a variable to function PrefixSort::sort to enable this or not.

I think now the config "maxNormalizedKeySize" can control the extra memory used for prefix sort. And If you don't want to include string column in prefix sort, I think you can set "minAllowedAvgToMaxLenRatio" as 1, we don't need separate configs.

Besides, spark uses fixed width 8 byte for string prefix, and compare the record when the prefix is equal, which way is better?

Could you provide more details regarding this? For example, what does the prefix look like:  sort key: string, string, int? Is only the first 8 bytes of the first string column included?"

prefix sort in spilling may cause OOM

I think it`s safe as we use momory-pool

Spark spill merge compare the first sort key prefix, if equal, compare the record. https://github.com/apache/spark/blob/master/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeSorterSpillMerger.java#L33
https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/SortExec.scala#L77, here we can see the function computePrefix, it extracts the first 8 bytes as prefix and only consider the first sort key as prefix. @zhli1142015
val boundSortExpression = BindReferences.bindReference(sortOrder.head, output)
val prefixComparator = SortPrefixUtils.getPrefixComparator(boundSortExpression)

Spark spill merge compare the first sort key prefix, if equal, compare the record. https://github.com/apache/spark/blob/master/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeSorterSpillMerger.java#L33 https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/SortExec.scala#L77, here we can see the function computePrefix, it extracts the first 8 bytes as prefix and only consider the first sort key as prefix. @zhli1142015
val boundSortExpression = BindReferences.bindReference(sortOrder.head, output)
val prefixComparator = SortPrefixUtils.getPrefixComparator(boundSortExpression)

Thanks for the details. I think which method is better depends on how much smaller the cardinality of the first 8 bytes is compared to the cardinality of all the sort keys. I have a commit for the fixed width prefix (8 bytes) solution: https://github.com/zhli1142015/velox/commit/aefc8d2c87c4eabf3f5fd98e43d9fce510752507#diff-d588ff0fc4250bcb9fe8c768e4d96a97e0c052641622108ef8ac28a560bad5c1. By run the benchmark, we can observe similar results.  However, with a large amount of data (1000k), the fixed-width prefix (8 bytes) approach performs worse compared to this approach. The rest of the performance is similar.
The fixed-width prefix (8 bytes):
StdSort_no-payloads_1_varchar_1k                          159.24ns     6.28M
PrefixSort                                      363.20%    43.84ns    22.81M
StdSort_no-payloads_2_varchar_1k                          166.68ns     6.00M
PrefixSort                                      215.99%    77.17ns    12.96M
StdSort_no-payloads_3_varchar_1k                          166.75ns     6.00M
PrefixSort                                      199.59%    83.55ns    11.97M
StdSort_no-payloads_4_varchar_1k                          169.62ns     5.90M
PrefixSort                                      197.59%    85.85ns    11.65M
StdSort_no-payloads_1_varchar_10k                         240.31ns     4.16M
PrefixSort                                      362.74%    66.25ns    15.09M
StdSort_no-payloads_2_varchar_10k                         237.68ns     4.21M
PrefixSort                                      235.22%   101.05ns     9.90M
StdSort_no-payloads_3_varchar_10k                         243.48ns     4.11M
PrefixSort                                      220.30%   110.53ns     9.05M
StdSort_no-payloads_4_varchar_10k                         252.69ns     3.96M
PrefixSort                                      218.38%   115.71ns     8.64M
StdSort_no-payloads_1_varchar_100k                        345.59ns     2.89M
PrefixSort                                      421.86%    81.92ns    12.21M
StdSort_no-payloads_2_varchar_100k                        373.60ns     2.68M
PrefixSort                                      239.46%   156.02ns     6.41M
StdSort_no-payloads_3_varchar_100k                        479.36ns     2.09M
PrefixSort                                      214.74%   223.23ns     4.48M
StdSort_no-payloads_4_varchar_100k                        486.48ns     2.06M
PrefixSort                                      203.83%   238.67ns     4.19M
StdSort_no-payloads_1_varchar_1000k                       745.78ns     1.34M
PrefixSort                                      435.93%   171.08ns     5.85M
StdSort_no-payloads_2_varchar_1000k                       894.17ns     1.12M
PrefixSort                                      189.64%   471.50ns     2.12M
StdSort_no-payloads_3_varchar_1000k                       972.51ns     1.03M
PrefixSort                                      160.56%   605.70ns     1.65M
StdSort_no-payloads_4_varchar_1000k                         1.10us   909.73K
PrefixSort                                      190.22%   577.86ns     1.73M

Allocate prefix buffer with max length:
StdSort_no-payloads_1_varchar_1k                          156.83ns     6.38M
PrefixSort                                      411.31%    38.13ns    26.23M
StdSort_no-payloads_2_varchar_1k                          170.88ns     5.85M
PrefixSort                                      227.17%    75.22ns    13.29M
StdSort_no-payloads_3_varchar_1k                          170.74ns     5.86M
PrefixSort                                      197.06%    86.65ns    11.54M
StdSort_no-payloads_4_varchar_1k                          164.11ns     6.09M
PrefixSort                                      157.23%   104.37ns     9.58M
StdSort_no-payloads_1_varchar_10k                         237.26ns     4.21M
PrefixSort                                      352.66%    67.28ns    14.86M
StdSort_no-payloads_2_varchar_10k                         249.39ns     4.01M
PrefixSort                                      258.21%    96.59ns    10.35M
StdSort_no-payloads_3_varchar_10k                         256.58ns     3.90M
PrefixSort                                      218.64%   117.35ns     8.52M
StdSort_no-payloads_4_varchar_10k                         255.34ns     3.92M
PrefixSort                                      184.04%   138.74ns     7.21M
StdSort_no-payloads_1_varchar_100k                        354.68ns     2.82M
PrefixSort                                      466.48%    76.03ns    13.15M
StdSort_no-payloads_2_varchar_100k                        356.23ns     2.81M
PrefixSort                                      317.75%   112.11ns     8.92M
StdSort_no-payloads_3_varchar_100k                        441.48ns     2.27M
PrefixSort                                      293.67%   150.33ns     6.65M
StdSort_no-payloads_4_varchar_100k                        456.25ns     2.19M
PrefixSort                                      261.52%   174.46ns     5.73M
StdSort_no-payloads_1_varchar_1000k                       844.02ns     1.18M
PrefixSort                                      740.73%   113.94ns     8.78M
StdSort_no-payloads_2_varchar_1000k                       924.60ns     1.08M
PrefixSort                                      496.41%   186.26ns     5.37M
StdSort_no-payloads_3_varchar_1000k                         1.06us   946.35K
PrefixSort                                      438.94%   240.74ns     4.15M
StdSort_no-payloads_4_varchar_1000k                         1.08us   928.32K
PrefixSort                                      400.65%   268.87ns     3.72M

Please also change here, uses other type to test non-prefixsort, https://github.com/facebookincubator/velox/blob/main/velox/exec/tests/SortBufferTest.cpp#L85

Looks we can't agree on this PR, let me splits it to three samll PRs:

Ensure Prefix Length Does Not Exceed Configured Maximum
Support String type in Prefix sort with 8 bytes limit
Collect string type max length and use it in prefix sort for string type

Looks we can't agree on this PR, let me split it to 3 samll PRs:

Ensure Prefix Length Does Not Exceed Configured Maximum
Support String type in Prefix sort with 8 bytes limit
Collect string type max length and use it in prefix sort for string type

Hi @zhli1142015 , duckdb limits String to 12 bytes in prefix, the length of StringView's inline size, which I think is very reasonable.


Add an option to ignore some window classes in window lists

Switch my work to another branch to give me more flexibiliity on dealing with other features.

I like these changes. I'll pull 'em in, fix a merge conflict, and improve the English in the docs a little in a few days. Thanks!

Pulled in your features-merge branch. Thanks for bringing together these improvements! And sorry for taking such a long time, busy days ~

No problem I can understand :)


[HUDI-4780] hoodie.logfile.max.size It does not take effect, causing the log file to be too large

Change Logs
Describe context and summary for this change. Highlight if any code was copied.
Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level: none | low | medium | high
Choose one. If medium or high, explain what verification was done to mitigate the risks.
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Hi loukey-lj, could you share which kind of filesystem you use? HDFS or S3 or any other type. The problem you mentioned should be covered in UT TestHoodieLogFormat#testRollover. I just have a try on master code and go over HDFS implementation code. It has correct behaviour.

Hi loukey-lj, could you share which kind of filesystem you use? HDFS or S3 or any other type. The problem you mentioned should be covered in UT TestHoodieLogFormat#testRollover. I just have a try on master code and go over HDFS implementation code. It has correct behaviour.

@guanziyue Thanks for review,  the OutputStream used by the test class and the actual task run is different, testRollover is HdfsDataOutputStream and the other is SizeAwareFSDataOutputStream, SizeAwareFSDataOutputStream startPosition always 0.
Maybe  the right way
to fix this issue is change the constructor of SizeAwareFSDataOutputStream  super(out, null)   to  super(out, null, out.getPos())  , but it's used in so many places that I can't assess the impact of this change

SizeAwareFSDataOutputStream

Thanks for your clarification. Do agree with you that the correct way is change the result returned by SizeAwareFSDataOutputStream.

SizeAwareFSDataOutputStream

Thanks for your clarification. Do agree with you that the correct way is change the result returned by SizeAwareFSDataOutputStream.

@guanziyue SizeAwareFSDataOutputStream updated.

SizeAwareFSDataOutputStream

Thanks for your clarification. Do agree with you that the correct way is change the result returned by SizeAwareFSDataOutputStream.

@guanziyue SizeAwareFSDataOutputStream updated.

LGTM. But you may request a reviewing from a commiter or PMC member. I'm interested in this PR because I have changed some code about stream in log writer before.

fix looks ok to me. Were you able to test out the patch? also, is it possible to write a test to validate the fix?

+1.  @loukey-lj could you write a test for the change?

@yihua Can you help to add a test case here, wanna merge it first to make it into 0.12.1.


Fix build with new gtfs-realtime.proto

The removed attribute ADDED in TripUpdate in the GTFS specification caused a build error in tdata_realtime_expanded.c
See https://github.com/bliksemlabs/rrrr/commit/ea15a69d2ed32067d82ac3f34252aca161eb1ba4#diff-a405d2bd76f9fde04d450d18d45532ceL206 for the breaking change
and https://travis-ci.org/bliksemlabs/rrrr/jobs/51377118 for the compiler error

I was just blaming @skinkie for this, not sure if we will merge this PR. Probably makes more sense to re-add the ADDED to stoptimeupdate. The realtime code is up for a re-do

I don't grok the code enough to evaluate the impact of this change, so I'll just leave this open as a temporary stop-gap solution.

Added the ADDED back to the protobuf file. Or better put: I finally pushed the work. Closing this pull request, thanks anyway for taking a peak at the error.


70 move ccissdev to its own repo and rename to ccissr

https://github.com/bcgov/CCISS_ShinyApp/issues/70

@cmahony this is now ready to merge -- local tests seem to be okay, but perhaps you could pull 70-move-ccissdev-to-its-own-repo-and-ren and test on your side?

@CeresBarros your refactor of the package dependencies seems less robust. i've had to delete some lock files and still getting
> shiny::runApp('spatial_app')
Error: package ‘htmltools’ does not have a namespace

yes, that happens because Require will try to install/update packages -- it's less robust if you have them installed already, but less hands-on if you don't have the packages (which was my case). Also, if we use GHA to test the apps, Require will make our lives easier to set up the system.
Those LOCK problems are due to having multiple R sessions open., and are a Windows problem unrelated to Require -- they don't seem to happen on Unix systems.
To fix Error: package ‘htmltools’ does not have a namespace go to the library folder and delete the htmltools folder.

@CeresBarros i've tested and it works on my end.


Allow disabling event submission

What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

Current dependencies on/for this PR:

master

PR #14506

PR #14507

PR #14511   👈

This comment was auto-generated by Graphite.


Add alarm switches

This is the last big change I needed to get all my automations to work nicely: adding switches for alarms.
A switch will be created for each of the routines, named in sequential order:

Further information about the alarms are available under attributes:

The attributes can be used to show them however you wish on your dashboard:

@Nezz, thanks for the additions. Everything seems to work pretty well, going to cut a new release.


Collect JMX metrics via Dogstatsd

Sandbox PR
What does this PR do?
The goal of this PR is to collect metrics and service checks from Dogstatsd instead of JMX Json Reporter.
To achieve that, when running agent check, we need to tell JMX to send the the metrics and service checks to the StatsD Reporter instead of the JSON Reporter.
To do so, we also need be able to call list_with_metrics and list_with_rate_metrics with StasD Reporter.
Motivation
agent check json output is used for integrations e2e testing and the expected metrics is in-app metric types. But currently, the metric types reported for JMX integrations correspond to JMX types (output of JMX Reporter).
That makes it harder to test metrics types of JMX integrations. Examples:

https://github.com/DataDog/integrations-core/blob/dc5d740cf4f6d374ae219b7be9c11a9457c0ef10/solr/tests/test_check.py#L23-L24
https://github.com/DataDog/integrations-core/blob/1f235f8a24329dba31287031e012b3918037981b/activemq/tests/test_check.py#L22-L23

Additional Notes
Anything else we should know when reviewing?
Describe your test plan
Write there any instructions and details you may have to test your PR.

@truthbk

I understand the approach, but it has a couple of downsides;

What are those possible downsides? :)

I'm wondering if we shouldn't try to fix this on the jmxfetch side - make it report what we'd expect.

Yes, I though about this, but there are several issues related to it.

Responsibility wise, it seems not right to make JMXFetch/JSONReporter aware of external types (in-app types).

We don't get transformations/processing made by DogStatsD + Agent to get the same in-app metrics as for Python check when using agent check command.

For example, it won't work for histogram metrics sent by JMX via DSD. JMXFetch reporter only reports 1 metrics, but Agent aggregator will report max/median/avg/count/p99/etc.

Since the types are not expected to change and we don't need the value, we can adapt on e2e test tooling. Closing this PR.


correct linck section Additional Resources file maintaining-balance-f…

…or-open-source-maintainers
Hi guys,
I noticed that in the file maintaining-balance-for-open-source-maintainers section Additional Resources in the last three resources the links led to the same document link. I noticed that this document is identical to the file written by you. I took the liberty of changing the correct links in all languages.
If it is ok for you, I kindly ask you to accept the pull request.
Thanks in the advance

Excellent catch.  Thank you for updating all of these.

Thanks


Re-enable SA2001 checks

What does this PR do?
Ignores a valid usage of lock/unlock in pkg/logs and then re-enables the SA2001 rule to run via golangci
Motivation
Re-enable SA2001 lint checks
Additional Notes
Other known rule violation was already fixed in https://github.com/DataDog/datadog-agent/pull/11977
Describe how to test/QA your changes
n/a
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

FIY you can:

add the no-changelog label for this PR to resolve the "release_note" failure  - since there is no functional change.
add the skip-qa label since this change does not have relevant testing steps.
add a team label (our team) agent/agent-metrics-logs to resolve the team_label failure


Component is now just a type synonym

@garyb @jdegoes @puffnfresh @cryogenian Could you please review?
This doesn't remove Component, as I originally suggested, but turns it into a type synonym (minus the existential i part), and keeps some of the functions around, since they are still useful.
Things worth noticing:

The examples didn't change much, mostly just removing calls to component
The type of install has changed. Making the installed component dependent on the placeholder value means we have to have HTML on the RHS, not a whole Component, but I think this is okay, since the function will close over the state of the outside component in practice.

I think it's worth thinking about putting together a library of isomorphisms (Either, Tuple and Maybe should do it) to deal with the few more Eithers we'll see as a result of ditching the existential.

Resolves #84, #99.

I like it. Code is simpler, probably more performant and this simplification doesn't remove any important functionality. :+1:

I started a bit of work on an isomorphisms library, and I'll work on it some more this weekend:
https://github.com/paf31/purescript-isomorphisms/

The new install definitely seems a lot more useful. Hopefully it will fix my blocker.

This cleans things up dramatically. I'm not sure if my blocker will be fixed, but :shipit:

Big improvement. :+1:


Followup: Enabling versioning breaks building

Laravel Mix Version: 3.0.0
Node Version (node -v): 10.13.0
NPM Version (npm -v): 6.4.1
YARN version: 1.12.3
OS: Linux

Description:
This is a followup of #1607.
When mix is used outside of Laravel context it fails to generate mix-manifest.json containing versions of generated files.
This happens because publicPath remains empty.
https://github.com/JeffreyWay/laravel-mix/blob/7dc010451870c0b23d8e22fe5d0fa67714d7df5f/src/index.js#L35-L37
TBH I don't consider it as a bug in the library, more likely it's something that should be stated somewhere in the docs.
Maybe mix should say that publicPath is empty?
Steps To Reproduce:
I've prepared simple repository which has a minimum setup of laravel-mix.
To reproduce the problem one should follow the steps describe in the repos README file.

We know where the public directory should be if you're in a Laravel app. Otherwise, you have to specify it yourself with mix.setPublicPath().

@JeffreyWay I agree. Yet the reported issue (not mine) clearly says that this is a problem.
Maybe mix should report in such case that public path has to be set?


Aroma TO:0000087

http://browser.planteome.org/amigo/term/TO:0000087
Needs repositions as IS_A quality trait with two children seed and fruit aroma. with rice scent /aroma being a child of seed aroma.

Agreed, and def'n needs work.
Since rice grain is a caryopsis fruit (PO:0030104),  rice aroma would be is_a fruit aroma


Does not work with SSR

Hey! Great library, thanks for making this!
I'm using it with NextJS but it does not support SSR. I made this change locally: https://github.com/Shaddix/dnd-kit-sortable-tree/pull/9 and then it works if I wrap it with dynamic:
const SortableTreeClient: any = dynamic(() => Promise.resolve(SortableTree), {
  ssr: false,
});

But it still gives me some issues with document if I don't wrap it in dynamic. I think it's related to this line: https://github.com/Shaddix/dnd-kit-sortable-tree/blob/0ee9535b547ad79e8b218b93366a03498691cfc5/src/SortableTree.tsx#L257 but I haven't used portals before so I'm not sure how to solve it.
Cheers

Thanks for the PR!
I merged it and pushed a version to npm.
Personally I haven't used it with SSR, so can't advice much. If something could be changed in a library to make it easier, PRs are more than welcome!

Thanks @Shaddix!


Tag and release a stable version (1.0?)

Thank you for publishing your wonderfully helpful nakedret system for identifying sensitive Go code! Could we get a git tag and release version, say v1.0, for this project? That way, developers can have confidence that they are using a specific version of nakedret, in case of any future changes that might break backwards compatibility.

Sure - been meaning to get around to this.

Hey @mcandre, sorry for the delay - I've tagged v1.0.


Asan gcc

Issue #, if available:
#884
Description of changes:
GCC ASan compatibility
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

It seems like there's more needed here.  I remembered this PR and came back to it as I'm hoping gcc based asan is easier to get working with a JNI extension than clang, where I'm having no luck.  It looks like the basic feature test still fails, as an empty -fsanitize= is an error to gcc (at least 11, which is what I'm trying with).  I will try and see if I can update the feature test safely while also incorporating this PR.

Didnt realize you already had a PR for this a year ago. Yes, im working on a similar change that will also support msvc and disabling tsan

addressed in https://github.com/awslabs/aws-c-common/commit/e86e1b6f4622ff8f09d8219d00d79bf8025deaae


Update index.md

eliminated the unnecessary extra space before two colons.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.


Added options for creating field-descriptors with meta-data

You can use :locale and the $options parameter to use request params in the metadata.
tasks:

[x] test coverage

informations:

q
a

Fixed tickets
none

Related PRs
none

BC breaks
none

Documentation PR
none

What does this fix do? Is there a related issue you could link? Could you improve the title and description of the issue? ;)

@webmozart no there is no issue but i will update the title and description of PR

@chirimoya has reviewed it.


Parallel CI jobs

Description
This PR splits up our CI checks into parallel jobs to boost CI times (shaves of a couple mins). This is also helps with CI reporting errors sooner than later since it's parallel.
Before

After

Hmm, wonder why these are hanging.

Grr we have a flaky test that got flakier after the switch to GitHub Actions somehow.

Actually, it could be  a Node 14 perf thing /shrug.
Were we running node 14 in Travis?


Social Media Links Not Connected to Specific Accounts

Social Media Links Not Connected to Specific Accounts
Problem:
The social media icons in the website's footer are not linked to any specific social media accounts. They currently point to #, leading to a broken or incomplete user experience.
Proposed Solution:

Update the social media links to point to the appropriate social media profiles or accounts.
Ensure that each icon redirects users to the corresponding social media page for the website or organization.

Steps:

Facebook: Link to the Facebook account page.
Twitter: Link to the Twitter profile.
Instagram: Link to the Instagram profile.
LinkedIn: Link to the LinkedIn profile.

##Screenshot

@bruno-keiko Please assign me this issue !!

I'm sorry, but it is not an issue for us. Our purpose is to learn something and enhance our code quality. You could open an issue for complex things


add planning center as an auth provider

Tested it locally and everything seemed to be working. Let me know anything needs to be changed.

Thank you. I'll test and review the integration in more details over the weekend.

I've tested the implemented locally and everything seems to work fine.
The PR is squash-merged in the develop branch (I've added only check for the Planning Center user "active" status) and will be available with the next v0.22.0 release soon.


Reproduce zeroshot results on CIFAR10 and MNIST dataset.

Thank you for your work on CLIP!
I was trying to reproduce the zeroshot prediction results listed in Table 11 in the paper. Though I can reproduce most of the results in the Table 11, I found there are huge gaps on CIFAR10 and MNIST datasets.
Here I show the results using released RN50 models

Model
RN50

Dataset
CLIP
My result
Gap

MNIST
66.6
58.2
-8.4

CIFAR10
75.6
71.5
-4.1

I have attached my implementation below to reproduce my results. Could you help me to check what leads to the gap on CIFAR10 and MNIST?
With this implementation, I can reproduce most of the results in Table 11, except for 4 or 5 datasets (including MNIST and CIFAR10).
import torch
import clip
import os
from torchvision.datasets import  MNIST, CIFAR10
import numpy as np

device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load('RN50', device)

# from https://github.com/openai/CLIP/blob/main/data/prompts.md
mnist_classes = ['0','1','2','3','4','5','6','7','8','9',]
mnist_templates = ['a photo of the number: "{}".',]
cifar10_classes = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck',]
cifar10_templates = [
    'a photo of a {}.',
    'a blurry photo of a {}.',
    'a black and white photo of a {}.',
    'a low contrast photo of a {}.',
    'a high contrast photo of a {}.',
    'a bad photo of a {}.',
    'a good photo of a {}.',
    'a photo of a small {}.',
    'a photo of a big {}.',
    'a photo of the {}.',
    'a blurry photo of the {}.',
    'a black and white photo of the {}.',
    'a low contrast photo of the {}.',
    'a high contrast photo of the {}.',
    'a bad photo of the {}.',
    'a good photo of the {}.',
    'a photo of the small {}.',
    'a photo of the big {}.',
]

class_map = {'MNIST': mnist_classes, 'CIFAR10': cifar10_classes}
template_map = {'MNIST': mnist_templates, 'CIFAR10': cifar10_templates}

@torch.no_grad()
def accuracy(output, target, topk=(1,)):
    maxk = max(topk)
    batch_size = target.size(0)

    _, pred = output.topk(maxk, 1, True, True)
    pred = pred.t()
    correct = pred.eq(target.reshape(1, -1).expand_as(pred))

    res = []
    for k in topk:
        correct_k = correct[:k].reshape(-1).float().sum(0, keepdim=True)
        res.append(correct_k.mul_(100.0 / batch_size).item())
    return res

@torch.no_grad()
def extract_text_features(dataset_name):
    # code borrowed from: https://github.com/openai/CLIP/blob/fcab8b6eb92af684e7ff0a904464be7b99b49b88/notebooks/Prompt_Engineering_for_ImageNet.ipynb
    class_names = class_map[dataset_name]
    templates = template_map[dataset_name]
    model.to(device)
    model.eval()

    zeroshot_weights = []
    for classname in class_names:
        texts = [template.format(classname) for template in templates]
        texts = clip.tokenize(texts).to(device)
        class_embeddings = model.encode_text(texts)
        class_embeddings /= class_embeddings.norm(dim=-1, keepdim=True)
        class_embedding = class_embeddings.mean(dim=0)
        class_embedding /= class_embedding.norm()
        zeroshot_weights.append(class_embedding)
    zeroshot_weights = torch.stack(zeroshot_weights, dim=1).to(device)
    return zeroshot_weights

mnist = MNIST(root=os.path.expanduser("~/.cache"), download=True, train=False)
cifar10 = CIFAR10(root=os.path.expanduser("~/.cache"), download=True, train=False)

for dataset in [mnist, cifar10]:
    # extract image feature, code borrowed from: https://github.com/openai/CLIP#zero-shot-prediction
    image_features = []
    image_labels = []
    for image, class_id in dataset:
        image_input = preprocess(image).unsqueeze(0).to(device)
        with torch.no_grad():
            image_feature = model.encode_image(image_input)
        image_feature /= image_feature.norm()
        image_features.append(image_feature)
        image_labels.append(class_id)
    image_features = torch.stack(image_features, dim=1).to(device)
    image_features = image_features.squeeze()

    # extract text feature
    dataset_name = 'MNIST' if dataset == mnist else 'CIFAR10'
    text_features = extract_text_features(dataset_name)

    # compute top-1 accuracy
    logits = (100. * image_features @ text_features).softmax(dim=-1)
    image_labels = torch.tensor(image_labels).unsqueeze(dim=1).to(device)
    top1_acc = accuracy(logits, image_labels, (1,))
    print(f'top-1 accuracy for {dataset_name} dataset: {top1_acc[0]:.3f}')

The result of my implementation is 72.25% on cifar10 and 41.01% on cifar100. I use template of imagenet.

I tried other models on cifar10, and the results were lower than those reported in the paper.

@xcpeng @tfwang96 Also get 71.5% zero-shot acc on cifar10. Have you solved this problem?
I suspect that the author may use a different data preprocess for cifar10.

No, I haven't figured out what causes the gap. Would be great if the authors can reveal more details on these datasets.

Me too.

Have you guys tried UCF101? I obtain 58.6% with ViT-B/32, but the reported is 64.5%.

Have you guys tried UCF101? I obtain 58.6% with ViT-B/32, but the reported is 64.5%.

Unfortunately no

I was trying to reproduce the zeroshot but found there are It's only 49 accurate on  MNIST datasets.
Could you help me to check what is wrong?
`
model, processor = clip.load('RN50')
test_loader = datasets.MNIST('data', train=False, transform=processor,download=True)
def zeroshot_classifier(model,classnames):
with torch.no_grad():
print('Loading  texts template')
zeroshot_weights = []
template = ['a photo of the number: "{}".',]
for classname in tqdm(classnames):
texts = [t.format(classname) for t in template] #format with class
texts = clip.tokenize(texts).cuda() #tokenize
class_embeddings = model.encode_text(texts) #embed with text encoder
class_embeddings /= class_embeddings.norm(dim=-1, keepdim=True)
class_embedding = class_embeddings.mean(dim=0)
class_embedding /= class_embedding.norm()
zeroshot_weights.append(class_embedding)
zeroshot_weights = torch.stack(zeroshot_weights, dim=1).cuda()
return zeroshot_weights
def test(model,device,name):
print("device is {}".format(device))
correct_num = torch.tensor(0).to(device)
text_features = zeroshot_classifier(model,test_loader.classes)

for image, label in tqdm(DataLoader(test_loader,batch_size=10)):

            with torch.no_grad():
              features = model.encode_image(image.to(device))
            features /= features.norm(dim=-1, keepdim=True)

            similarity = (100.0 * features @ text_features)
            probs = similarity.softmax(dim=-1)

            _, pred = torch.max(probs, 1)
            num = torch.sum(pred==label.to(device))

            correct_num = correct_num + num
            torch.cuda.empty_cache()

print (correct_num)
print ('\n{} correct rate is {}'.format(name,correct_num/10000))

test(model.to(device) , device , 'CLIP model')
`

Have you guys tried UCF101? I obtain 58.6% with ViT-B/32, but the reported is 64.5%.

Were you ever able to replicate their results?  I am using a single center frame but only getting ~53% accuracy... not sure what is different.

Please refer to https://github.com/openai/CLIP/blob/fcab8b6eb92af684e7ff0a904464be7b99b49b88/notebooks/Prompt_Engineering_for_ImageNet.ipynb for this concern.


Update Posts “a-post-with-code-samples”

Automatically generated by Netlify CMS

👷 Deploy Preview for tech-works-for-us processing.

Name
Link

🔨 Latest commit
4c9394522775b39730a6b6acf4b9f177ddbb7dd6

🔍 Latest deploy log
https://app.netlify.com/sites/tech-works-for-us/deploys/6387a7040f760300092f7d52


travis CI build status and test failing locally

When viewing https://github.com/pypyjs/pypyjs, I see that the build status shows as passing. This, however, appears to be a bit misleading because clicking over to the Travis CI status page shows that the last successful build was run 5 months ago. If you look at https://travis-ci.org/pypyjs/pypyjs/requests, you see that most of the recent builds say that the build was created but complain about a missing config. I also see that the .travis.yml file is missing from the pypyjs repo. It looks like it was added on May 23 and removed some time after that. I suppose I'm basically asking whether the build was intentionally disabled or the .travis.yml file was removed unintentionally. If it was removed intentionally, would it make sense to remove the "build | passing" section on the README.md?
Now I'll get to why I'm asking about this. I have a failed test on my local clone of the repo(s) (I promise I haven't made any changes yet) and I'm not sure whether this is a known issue or if it's something I didn't set up properly in my dev environment. Being able to view the output of tests on the current state of the repo might help me with my sanity checks. :-) Here's the short test summary:
FAIL deps/pypy/rpython/jit/backend/asmjs/test/test_recursive.py::TestRecursive::()::test_directly_call_assembler_virtualizable
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================================== 1 failed, 320 passed, 16 skipped in 1743.97 seconds ======================================================================
make: *** [test-jit-backend] Error 2
And the failure detail (without the STDOUT):
___________________________________________________________________ TestRecursive.test_directly_call_assembler_virtualizable ____________________________________________________________________
self = <rpython.jit.backend.asmjs.test.test_recursive.TestRecursive instance at 0xc2fa454c>
def test_directly_call_assembler_virtualizable(self):
    class Thing(object):
        def __init__(self, val):
            self.val = val

    class Frame(object):
        _virtualizable_ = ['thing']

    driver = JitDriver(greens = ['codeno'], reds = ['i', 's', 'frame'],
                       virtualizables = ['frame'],
                       get_printable_location = lambda codeno : str(codeno))

    def main(codeno):
        frame = Frame()
        frame.thing = Thing(0)
        result = portal(codeno, frame)
        return result

    def portal(codeno, frame):
        i = 0
        s = 0
        while i < 10:
            driver.can_enter_jit(frame=frame, codeno=codeno, i=i, s=s)
            driver.jit_merge_point(frame=frame, codeno=codeno, i=i, s=s)
            nextval = frame.thing.val
            if codeno == 0:
                subframe = Frame()
                subframe.thing = Thing(nextval)
                nextval = portal(1, subframe)
                s += subframe.thing.val
            frame.thing = Thing(nextval + 1)
            i += 1
        return frame.thing.val + s

    res = self.meta_interp(main, [0], inline=True)
    self.check_resops(call=0, cond_call=2)

  assert res == main(0)

E       assert 645 == 705
E        +  where 705 = <function main at 0xb9c15f7c>(0)
deps/pypy/rpython/jit/metainterp/test/test_recursive.py:799: AssertionError
I've done a little tracing, but I'm too new to pypy to really understand what's going on here enough to troubleshoot it. If anyone can point me to test builds that are currently running successfully on a system that isn't mine, that would be a great starting point.

Travis was removed in #142 https://github.com/pypyjs/pypyjs/commit/e45dcca1d4f736035b948082ae6539f47ff5a9f6 by @jedie.

FWIW, I'm also getting this test failure when running locally, so I suspect it's a bug rather than any problem with your build setup.


class method returns one value, but is_a?() contradicts. Can't debug

v = self.value
pp v.class
pp v.is_a?(String)
if v.class == String && !v.is_a?(String)
  raise "oops"
end

outputs:
v.class = String
v.is_a?(String) = false
Could not raise

I have no idea what v value is, since any way I try to introspect it, it fails with segmentation fault (11).
The library was working in 0.13.x correctly.
A method where error happens is here: https://github.com/waterlink/mocks.cr/blob/master/src/mocks/registry.cr#L34-L36
I have no idea how to debug or reduce the code size :( Any help is much appreciated..

Original value, where this String comes from (object.to_s), has the same property:
o = @original_object
pp o.class        # => Class
pp o.is_a?(Class) # => false

Seems to be somehow related to Hash and custom classes, that implement #== and #hash. Not sure yet how exactly.

Narrowed down even more:
# somewhere in CallStub#fetch
pp found
v = found[1]
pp v.class # => Mocks::Registry::ResultWrapper(Mocks::Registry::Result(Array(String)))
pp v.is_a?(Mocks::Registry::ResultWrapper(Mocks::Registry::Result(Array(String)))) # => false

And if I look at found inspection, I clearly see that the real type is Mocks::Registry::Re sultWrapper(Mocks::Registry::Result(Mocks::Registry::NoArgs). I don't quite understand, how is it possible..

Apparently, if I actually do
pp v.is_a?(Mocks::Registry::ResultWrapper(Mocks::Registry::Result(Mocks::Registry::NoArgs))) # => true

Segmentation fault goes away (probably because type system finally figures out the type?).

Now next test fails, when the value is of type Mocks::Registry::ResultWrapper(Mocks::Registry::Result(Time)).
So there is some problem with type system now. Or at least it work differently from what it was before.

I can't even access its crystal_type_id, it simply segfaults on access..

The type there should definitely contain a union, like Time|NoArgs|Array(String)|.... But it is not

I was unable to minimize the code-to-reproduce and to pinpoint the problem.
Rather I have stopped confusing the type system and re-written the Registry implementation with proper generics, so that at any point of time, arguments type is known to the code and it is not a union, but specific type T. I have been able to shield the user from this change by using typeof({{arguments_tuple}}) in mock macro.

@waterlink If you can point me to a revision or some code that exhibits the bug I can try to reduce it and fix it. Thanks!

@asterite Do you mean the revision of Crystal lang? i.e.: result of bisect?

@waterlink I mean some code of yours that I can do crystal your_code.cr and shows the bug

@asterite Here you go: https://github.com/waterlink/mocks.cr/tree/7222b92155e9272c42a67c57ac851ecaad284d6d
git clone https://github.com/waterlink/mocks.cr -b 7222b92155e9272c42a67c57ac851ecaad284d6d && cd ./mocks.cr
crystal spec -v

Relevant file causing the failure is src/mocks/registry.cr, which does have some weird stuff going to workaround the fact, that we can't yet store Object in Hash (or use as any generic-type parameter).

@waterlink Just checked out at that revision and ran crystal spec -v and they all pass. Should I look into something in particular?

I am getting this error on Crystal 0.14.2:
Spies
  fails when there was no call
  suceeds when there was a call
  fails when there was a call with different arguments
  works as stdlib spec expectation
  works with module mock
Application mock
  works
  works without class double
create module mock macro
  does not fail with Nil errors
  does not fail with Nil errors for stdlib class
Mocks::Registry::Method
  #received?(object_id, args)
    is false when there were no such call
    is true when there was such call
    is false when arguments are different
  #last_received_args(object_id)
    returns nil when there were no call
    returns arguments of last callInvalid memory access (signal 11) at address 0x4
[4767685] *CallStack::print_backtrace:Int32 +117
[4676712] __crystal_sigfault_handler +56
[5139848] sigfault_handler +40
[140039758357312] ???
[4760512] *String#hash<String>:Int32 +32
[5006045] *Mocks::Registry::ObjectId#hash<Mocks::Registry::ObjectId>:(Int32 | UInt64) +61
[5015968] *{Mocks::Registry::ObjectId, Mocks::Registry::ArgsInterface} +48
[5013320] *Mocks::Registry::StubKey#hash<Mocks::Registry::StubKey>:Int32 +40
[4879990] *Hash::StandardComparator::hash<Mocks::Registry::StubKey>:Int32 +6
[4998685] *Hash(Mocks::Registry::StubKey, Mocks::Registry::ResultInterface) +13
[4998883] *Hash(Mocks::Registry::StubKey, Mocks::Registry::ResultInterface) +67
[4994889] *Mocks::Registry::CallHash#add<Mocks::Registry::CallHash, Mocks::Registry::ObjectId, Array(String), Mocks::Registry::Result(Bool)>:Mocks::Registry::ResultWrapper(Mocks::Registry::Result(Bool)) +105
[7729760] ???

Are you trying to run it on 0.14.2 or HEAD?

When test is run in isolation I get almost the same failure:
$ crystal spec -v -e 'returns arguments of last call'
Mocks::Registry::Method
  #last_received_args(object_id)
    returns arguments of last callInvalid memory access (signal 11) at address 0x27dff
[4767685] *CallStack::print_backtrace:Int32 +117
[4676712] __crystal_sigfault_handler +56
[5139848] sigfault_handler +40
[140376344036160] ???
[5006176] *Mocks::Registry::ObjectId#==<Mocks::Registry::ObjectId, Mocks::Registry::ObjectId>:Bool +32
[5006414] *Mocks::Registry::ObjectId#==<Mocks::Registry::ObjectId, Mocks::Registry::ObjectId>:Bool +270
[5014186] *Mocks::Registry::StubKey#==<Mocks::Registry::StubKey, Mocks::Registry::StubKey>:Bool +858
[41809344] ???

Linux?

Yes

Ubuntu 14.04.1 LTS

I will try inside of docker run crystallang/crystal:0.14.2 to see if it is just my specific setup problem (maybe some library weird version, or rather something like that).

Same problem inside of clean docker container.

Strange. Just tried it on a vm (vagrant, the one in the repository, trusty64) and it works fine.

That is indeed strange. By the way, I have just tried to run it on crystallang/crystal:head - the same failure.

Any way it could be related to Linux Kernel version? To my knowledge, it is the only thing that is shared between docker container and host machine, for practical purposes?

@waterlink Are you still having this issue?

Closed in favor of #2665

@asterite I have made a clean rewrite, that completely avoided the issue. I am not sure if it is still there now, since old code won't work with new compiler, most probably.


Microservices style guide

Develop a description for the style guide for how to use web fabric for microservices.   Maybe related to #67.    This should be reviewed by the ASB architecture review board.

Style guide? Here is the cookie cutter and automation to generate what I was talking about:
https://grit.stsci.edu/mast/mast-services-template/tree/master/{{ cookiecutter.package_name }}
https://grit.stsci.edu/mast/mast-services-template
Here is an example one I made:
https://grit.stsci.edu/mast/tesszoo-mast
(Generates all docs, test, ci/cd stubs...)
Architecture docs live here:
https://grit.stsci.edu/mast/asb-core/blob/master/doc/README.md
https://grit.stsci.edu/mast/asb-core/blob/master/doc/Routing.md


Ability to tweak Tailwind with its config file using PostCSS

In this repo's readme there's:

If you need to customize Tailwind, you will need to install it the traditional way using Webpacker instead

I see at the moment there's a hardcoded tailwind.css file in app/assets/stylesheets but in practice it's very common to want to customize Tailwind's fonts, color schemes, etc.. Especially so with Tailwind 2.0 because a lot of the color variants aren't enabled by default and you enable them by customizing the config.
I'm not sure how Tailwind works exactly under the hood but I think Tailwind is just a PostCSS plugin.  The creator of Tailwind walks through creating a build step using PostCSS directly in this video https://egghead.io/lessons/tailwind-set-up-tailwind-and-postcss at the 4:04 to 4:49 mark. Basically after you modify your Tailwind config you would run that build step to generate a new tailwind.css file.
Do you foresee an an ability to allow users of this gem to customize Tailwind in the future by having this gem provide a rake task that lets you generate a custom tailwind.css file that uses PostCSS under the hood without the need for Webpacker?
I don't know what the limitations are around using PostCSS within the asset pipeline but if it's usable that would also mean you could use PostCSS plugins such as postcss-import, autoprefixer and also let Tailwind handle purging (it does this by default through PostCSS). I would love to be able to drop Webpacker.

The main point of this gem is to provide Tailwind CSS for the asset pipeline. Which means having it work on systems that don't even have npm installed. Now, I'd like to see that this essentially can work as a generator for an install under Webpack as well. And that would be the path for customization.
I also know that there are efforts underway to create a customized Tailwind export through a web generator, and I'd love to integrate with that. But I don't see this gem shipping with postCSS or any of that configuration setup internally.

The main point of this gem is to provide Tailwind CSS for the asset pipeline. Which means having it work on systems that don't even have npm installed. Now, I'd like to see that this essentially can work as a generator for an install under Webpack as well. And that would be the path for customization.
I also know that there are efforts underway to create a customized Tailwind export through a web generator, and I'd love to integrate with that. But I don't see this gem shipping with postCSS or any of that configuration setup internally.


Header rendering bug in exported PDF

@damiankorcz hello again
BUG
i customize the header color, and it doesn't work in exported PDF as listed below:

note in editor

exported note (preview by QuickLook)
Environment
Prism: V1.5.2
OB: V0.14.2
OS: Win 10
Last
waiting for Prism V1.6 😁

Hi @AiurArtanis,
With the release of v2.0.0, I've completely removed visual settings for headers due to a poor design on my part making them very hard to maintain going forward. I do plan on reintroducing some options, albeit more refined and easier to use than last time, in future updates. Since this option doesn't exist in the current release of Prism, this issue doesn't apply so I will close it. I'll keep this in mind when I reintroduce colour options for headers.

With the release of v2.0.0, I've completely removed visual settings for headers due to a poor design on my part making them very hard to maintain going forward. I do plan on reintroducing some options, albeit more refined and easier to use than last time, in future updates. Since this option doesn't exist in the current release of Prism, this issue doesn't apply so I will close it. I'll keep this in mind when I reintroduce colour options for headers.

ok, and i will use a css snipet to customize the color of header


Add sprite fades for occluding sprites

Prevents player entity from being completely occluded by designated entities. This also makes it less annoying to pickup stuff under trees as you don't need to right-click and read through everything.
https://user-images.githubusercontent.com/31366439/210167980-c88fc4d8-b05f-434e-b4f2-63fd610a9dbb.mp4
:cl:

add: Trees will now fade out slightly instead of completely occluding you if you are under them.


Update matrix-rust-sdk version

... and disable the state store in matrix-sdk-indexeddb. We don't use the state store, so can save some build time by excluding it (since this also means we no longer pull in matrix-sdk-base).

Hurrah to shipping less code \o/ Does this impact the binary size, out of curiosity?

Not hugely: the wasm is 5.3M, where it was 5.5M before. A 4% improvement isn't nothing, I guess.


21761 Updated sbc-common-components

Issue #: bcgov/entity#21761
Description of changes:

app version = 4.10.0
imported latest sbc-common-components (updated SbcHeader and SbcFooter)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

/gcbrun

Temporary Url for review: https://business-edit-dev--pr-575-1squ7jks.web.app


Update three_band_image_subplots function to work identically to three_band_image

Robbi,
In the "DEAPlotting.three_band_image_subplots", could you consider changing the following line?
img_toshow = rawimg / 5000
to
img_toshow = (rawimg / 5000).clip(0, 1)
It will avoid warnings like below.
"Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers)."

I have renamed this issue as the three_band_image_subplots really should be updated to function exactly the same as the three_band_image function. This will probably break people's code, so will think on how to do this the best way.


Chart colour palette updated

Following new colours added to chart colour palette: Brown, Yellow, Black,Gray,Pink, Dark Blue.

Merged, thanks!


[Feature] Change the colors from the site

Device
All devices
Suggestion
you know that the black and green are the main colors of the xcloud site;
my idea is to have some way to change this.
create a category like
"Color"
and the button to change the first/primary color (black)
and the button to change the secondary color (green)
as i think that make a new UI or "themes" for the site is to hard and may lag sistems, we could just implement that option to change the color.
like, i would really like to enter the site with the black and purple or black and red theme.
or maybe, white and red.
thats the point of it, make the site looks more like we want and make it more customizable.
sorry for bad english.

xCloud website will have its own themeing feature


Cypress Hardening

Need to somehow make tests more reliable. Some ideas have been to add a delay in snapController command.
Issues encountered specifically in AC testing on these sites:
spirithoods.com
bocachica.searchspring.com
nobullproject.com

https://github.com/searchspring/snapfu-template-preact/pull/54


Deprecate PGH001 in favor of S307

Summary
These rules are identical. Bandit is the more popular and more well-defined category, so we remove PGH001 and add a redirect to S307. (By adding the redirect, we ensure that users see a warning but not an error when they reference PGH001 in their configuration or in a # noqa, and that those codes seamlessly redirect to S307.)
Closes https://github.com/astral-sh/ruff/issues/7283.

Is this a breaking change? What do we need to document in the changelog?

Yes and no...
If users have PGH001 explicitly selected or ignored in their configuration file, we'll show a warning but automatically redirect it to S307.
If users have # noqa: PGH001, we'll similarly warn-and-redirect to S307.
The main problem here is that if users have PGH in their select, but not S, this rule will no longer run on their code. That's kind of an issue, because the rule is basically being silently turned off (and is the source of the ecosystem changes).
I'm not sure how best to resolve -- any ideas?

@zanieb - This one actually might be interesting to you too (especially my comment about regarding redirects).

We really should implement proper rule aliasing, this getting more and more unwieldy as we add new rules. It's really surprising when a new user migrates a flake8-plugin to ruff only to find they also have to enable a bunch of rules in different other categories to make functionality of the original plugin.

The main problem here is that if users have PGH in their select, but not S, this rule will no longer run on their code. That's kind of an issue, because the rule is basically being silently turned off

This sounds like a breaking change to me. Proper aliasing does sound like the better solution and probably something we need for recategorization anyway?

@zanieb Agree, public rule aliasing is probably one of the largest painpoints right now and it will only become a bigger maintenance burden on us later the more rules get added without this feature.

Separate from the larger conversation around rule aliasing (see my comment in the related issue), we should consider removing this whole category and marking it as a breaking change. There are so few rules, multiple of them are duplicates of other existing rules, and there's no semantic relationship between the various rules.

Proper aliasing does sound like the better solution and probably something we need for recategorization anyway?

I think there are ways for us to do a recategorization without aliasing, because it doesn't require that we support multiple codes at once for a given rule, only that we provide tooling to remap from existing to updated codes and categories.

Should we remove the whole category instead of this pull request? Either way I think we should probably gate removal with preview.

I’m in favor of that.


Exception raised when username/password incorrect

https://gist.github.com/anonymous/1e800606adc74475568a84f9eb625513
User used API token instead of password. Maybe add blurb to docs about using PASSWORD not token. Should also try and detect this somehow during init. Maybe a call to the session creation endpoint?

POST to /sessions with username and password as parameters.
If credentials are bad you'll get a page containing the string "Invalid credentials". Trackobot can raise an exception if it gets this in the __init__.


Incompatible with PyCharm 242.*

Pls see attached image

https://github.com/dubreuia/python-inlay-hints-plugin/releases/tag/v1.8.0
Published on jetbrains marketplace, should be available in your IDE soon


2th Tutorial: ValueError: not enough values to unpack (expected 2, got 0)

I copy your demo,and use it in my computer ,but have the problem :
"train_data, valid_data = train_data.split(random_state = random.seed(SEED))
ValueError: not enough values to unpack (expected 2, got 0)"

I can't seem to recreate the error on my machine. Are you using the latest versions of PyTorch (1.2) and TorchText (0.4)?

same error here. Latest python pytorch and torchtext. Problem is datasets.IMDB.splits(Text, Label). This function return 0 train data and 21020 test_data

for others who run into this issue, for me the cause was this https://github.com/pytorch/text/issues/667 -- I had interrupted "downloading aclImdb_v1.tar.gz" when it was at 100% because it was taking a very long time. This was the issue despite the fact that .data/imdb appeared to be all there.


distributed regression implementation + unit tests

Changes:

Implemented distributed make_regression
Implemented unit testing for both default case (X is generated from standard normal) and low rank case (X is generated from low_rank_matrix)

Regression runtime test:
1,000,000 rows, 3000 columns, float32, 50 partitions, 20g driver memory, 16 threads
-> ~9 minutes 5 seconds

build

build

LGTM

build

build

ci failing formatting

build

build

build

build


NDI Receiver not seeing device

I'm trying to connect an iPad Pro 2020 Gen 4 but the Receiver is only showing me my Desktop as an input in 'Ndi name', I've tried over-typing it to my device name but nothing shows up.
I'm seeing the iPad output in the NDI Monitor but not in Unity. I'm on Unity 2020.1.6f1, NDI SDK 4.5 and Windows 10
Running iOS 14 on the iPad.
Any advice on the basic setup would be great. Thank you

Turn off the Windows firewall.
Make sure that your iPad and your PC are connected to the same network.
Turn off unrelated networks (for example, if you're using a wired connection, turn off WiFi).
If you're using WSL2, turn off the vEthernet: https://twitter.com/_kzr/status/1301722460421644289

Ah great! it was the firewall! Thank you, amazing work as usual 👍

Okay. I'll add it to the FAQ.


Callable.bind() and .bindv() does not work

Describe the bug
If you want to send a parameter back to GDscript via callback, you can use a Callable as a parameter, Callable has a function to bind parameters to it that doesn't work in SwiftGodot
In this example, onComplete should be called with the first parameter being 0 for success and 1 for error, but no parameters are added:
@Callable
func mySwiftFunction(onComplete:Callable) {
	Task {
		do {
			// Do async work
			onComplete.bind(Variant(0))
		} catch {
			onComplete.bind(Variant(1))
		}

		print("Bound arguments: \(onComplete.getBoundArgumentsCount())")
		onComplete.callDeferred()
	}
}

The same is true for bindv() which takes an array instead
To Reproduce

Implement the above function and call it from GDScript
It will print "Bound arguments: 0" and the callback will be called without parameters

Expected behavior
the .bind() and .bindv() function should bind parameters to the callable
Additional context
You can work around this by using Callable.callv(arguments:GArray) to call with arguments directly, but there is no way of doing this while using Callable.callDeferred()
It might not be possible to do this the same was it is done in GDScript, but in that case the bind() and bindv() functions should be removed as they do nothing, and having a callDeferredv(arguments:GArray) would be really helpful as it is a way of bringing a callback into the main thread

First, the good news.
Calling bind returns a new callable that has been bound - it does not change the existing callable, so what you want to do in this case is do:
let bound: Callable

do {
    bound = onCallable.bind(Variant(0))
} catch {
    bound = onCallable.bind(Variant(1))
}
bound.callDeferred()

The bad news for me, is that I think that I need to fix the generator, because the bind method is supposed to take a list of arguments, and I am not sure how you managed to get that to compile, as I had to resort to bindv,

And now, I have implemented the missing methods too, closing.


Requirements::block not respecting resource path

Affected Version
4.0.1
Description
I came across this when trying to block a module script, specifically silverstripe/tagfield.
I expected this to work because it's how the module requires the script
Requirements::block('silverstripe/tagfield:js/TagField.js');

I also tried the resource URL
Requirements::block('resources/silverstripe/tagfield/js/TagField.js');

Turns out you have to use the vendor path
Requirements::block('vendor/silverstripe/tagfield/js/TagField.js');

Is that expected behaviour?

Thanks for reporting!
We fixed this in 4.0.2.
See: https://github.com/silverstripe/silverstripe-framework/issues/7708
Cheers =)

Ahh - thanks!


Apps toggle can result in a blank Settings menu

The toggle for the Apps page moves the Settings page one tab to the left when it's disabled. It appears as if this is its own seperate implementation of the Settings page, because this sometimes results in the page being blank aside for the section title (Navigation, since that's where this toggle is). Pushing B at this point (or the Android back button) just moves you back to the Platforms tab, so there's no way to get the Settings menu working again short of restarting the app - and when this is the default home screen app, that can only be done in the Android system settings. This behavior is not consistent, though - sometimes it correctly shows the Navigation section when you toggle this option on, so I'm not exactly sure what's causing the problem. Will report more as I find it

https://github.com/TapiocaFox/Daijishou/issues/592


feat(posts): Add user name and avatar url

Summary by CodeRabbit

New Features

Added author details (id, name, avatar) to post data retrieval for more comprehensive post information.
Introduced new environment variable SHADOW_DATABASE_URL for enhanced database configuration.

Bug Fixes

Added check to prevent creation of duplicate posts with the same images.

Tests

Enhanced post end-to-end tests with additional logging and improvements in test data generation.


Make dependatool respect configs for parent folders

Especially now that dependabot has grown grouping fun it would be handy not to have to configure every package set individually
I think my hesitation is that we need to figure some rules for it otherwise a single config in the root of the repo would automatically cover everything - which is not generally what we want

cc @mmorel-35


Sub Context menu hover disappears

Describe the bug
When hovering over a sub context menu the highlighting appears for one frame and then disappears.
Expected behavior
Hovered over button remains highlighted for more than the first frame.
Screenshots
Old behaviour:

Current:

Additional context
Seems like it was introduced in: #2621. Notably this line:
https://github.com/emilk/egui/blob/ce67d7345e8c2177068e75875e1ddaecdbbefdfa/crates/egui/src/menu.rs#L446

its a dark style issue, works fine under light mode..
dark open style is wrongly set to be same as noninteractive, and should use hovered values instead
https://github.com/emilk/egui/blob/1581f0229ec3d7946b2a1f680defc28880e5ce9e/crates/egui/src/style.rs#L869-L870

Looks like this behaves properly again in 0.25


how to shut down serve

i deploy it on mu centos server,but i want shutdown it temorary, can i ask how to do it...

CTRL+C 😊


Clean target should delete bin path

Codecov Report

Merging #617 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #617   +/-   ##
=======================================
  Coverage   93.03%   93.03%
=======================================
  Files          64       64
  Lines        5456     5456
=======================================
  Hits         5076     5076
  Misses        227      227
  Partials      153      153


group-pms: Do not add bot senders explicitly to recipients.

If a bot is a sender and it wasn't already in the list of recipients,
we shouldn't now add the bot to the list of recipients, thereby
avoiding spawning a new group PM thread starting with the bot's reply.
Fixes #14228.
Edit: I've added the second commit here to pass the tests.

@aero31aero can you post a screenshot of what this does?  Is the result that bot sends a message to the group PM recipient of the other users in the thread?  Or something else?
In any case, this seems like the sort of corner case that should have tests.

Hey, I intended to get a go-ahead for this idea first, though. I've test deployed this on the nightly server alongside two bots that are running for testing. I'll take some screenshots and add as well.

I had started a thread at https://chat.zulip.org/#narrow/stream/127-integrations/topic/.2314228.20Bots.20in.20Group.20PMs
After the changes:

Before the changes:


"there are more than one binary in the project, you must specify a binary name" error on deploy since v1.0.1

My GitHub Actions builds have recently started failing. They work when pinning cargo-lambda to v1.0.0. I don't believe there should be more than one binary? I can't see any obvious cause in the change log.
For reference, the GH Action (irrelevant in-between steps removed):

- name: Install Cargo Lambda
  uses<EMAIL_ADDRESS>  with:
    repo: cargo-lambda/cargo-lambda
    platform: linux
    arch: x86_64

- name: Build Lambda Binary
  run: cargo lambda build --release --target x86_64-unknown-linux-gnu.2.26
  env:
    RELEASE_NAME: ${{ inputs.release-name }}

- name: Deploy Lambda Binary
  id: deploy
  run: cargo lambda deploy --env-file .env | tee >(echo "VERSION=$(grep -oP 'arn:aws:lambda:.*:.*:function:.*:\K\d+')" >> $GITHUB_OUTPUT)

Deploy output with v1.0.0:
Run cargo lambda deploy --env-file .env | tee >(echo "VERSION=$(grep -oP 'arn:aws:lambda:.*:.*:function:.*:\K\d+')" >> $GITHUB_OUTPUT)
▹▹▹▹▹ loading binary data
▹▹▹▹▹ deploying function
🔍 function arn: arn:aws:lambda:***:***:function:***:***

Deploy output with v1.0.1:
Run cargo lambda deploy --env-file .env | tee >(echo "VERSION=$(grep -oP 'arn:aws:lambda:.*:.*:function:.*:\K\d+')" >> $GITHUB_OUTPUT)
▹▹▹▹▹ loading binary data
Error:   × there are more than one binary in the project, you must specify a binary
  │ name

  Was this error unexpected?
  Open an issue in https://github.com/cargo-lambda/cargo-lambda/issues

For what it's worth, I've seen the same thing happen in my own actions. It's a little annoying to inspect the action as it's running, but I don't encounter the same error when deploying on my local machine.


feat: add loggers during dev

Closes #306
✅ Checklist

[x] I have followed every step in the contributing guide (updated 2022-08-15).
[x] The PR title follows the convention we established conventional-commit
[x] I performed a functional test on my final commit

Changelog
Finishes what's been started on #312.
💯

Simple steps to reproduce the middleware running multiple times:

start the app
fetch (through curl or something else) the http://localhost:3000/api/examples/ route because it has a simple db query.
cause a hot-reload (e.g. change homepage title)
re-fetch (step 2)

You can notice the db query in the console goes up by 1 line (in the video from 2 to 3 lines).
However, this isn't really deterministic, a lot of things may lead to this behavior.
Tbh, this isn't that big of a deal, but it can become pretty annoying quickly and maybe even confuse the developer into thinking that there are multiple queries.
I can un-comment the middleware and make a commit, tell me what you think @juliusmarminge.
(sorry if the video is messed up, arch isn't too friendly with these things)
https://user-images.githubusercontent.com/25225304/186997456-d488fc3e-f80b-410a-8565-a2de4d8e3628.mp4

Oh i didnt try editing the app.
Yea remove it and I'll merge this, maybe come back to this later. Maybe post an issue on prisma's side for this?
I tried moving the prisma.$use to a few different places to make sure we only initialized the middleware once, if that was the problem.

I'd say remove it and I'll merge this, maybe come back to this later. Maybe post an issue on prisma's side for this?
I tried moving the prisma.$use to a few different places to make sure we only initialized the middleware once, if that was the problem.

Yeah, I also tried to make it run only once but I couldn't do it.
I'll probably open an issue on prisma and if there is a way to do it I'm gonna open a PR here :smile:

Awesome just run a changeset and I'll merge


StarGAN-JTN training CelebA and RaFD facial expression synthesis

Hi,
Thank you for sharing your work @yunjey
I am training StarGAN-JNT CelebA and RaFD for facial expression synthesis on CelebA. The training hasn't done yet (110k/200k iters) but the facial expression synthesis task seems not to converge. From the image below, while the attribute outputs are good, at least you can see the attribute in the output, but the facial expression synthesis outputs (last 7 columns) are not much different. This could be due to the size of RaFD dataset (4,824 samples as in the paper, 7 labels without contempt).
python main.py --mode=train --dataset Both --image_size 256 --c_dim 5 --c2_dim 7 \
                 --sample_dir stargan_both/samples --log_dir stargan_both/logs \
                 --model_save_dir stargan_both/models --result_dir stargan_both/results

What is the solution to this, more training? How to do facial expression synthesis on celebA as in the paper? Could you share the StarGAN-JNT pre-trained model to my email 176064 at jnu dot ac dot kr?

I run several versions of StarGAN-JNT and ogange one is 110k/200k iter which gives the above result.

Thank you very much.
tsly

Hi @tsly123 !
Have you got the pretrained model you asked for?
Can you share me also if you got it?

Hi @tsly123
In case you have got the pretrained mode you; can you share it<EMAIL_ADDRESS>Thanks you

Hi,
Thank you for sharing your work @yunjey
I am training StarGAN-JNT CelebA and RaFD for facial expression synthesis on CelebA. The training hasn't done yet (110k/200k iters) but the facial expression synthesis task seems not to converge. From the image below, while the attribute outputs are good, at least you can see the attribute in the output, but the facial expression synthesis outputs (last 7 columns) are not much different. This could be due to the size of RaFD dataset (4,824 samples as in the paper, 7 labels without contempt).
python main.py --mode=train --dataset Both --image_size 256 --c_dim 5 --c2_dim 7
--sample_dir stargan_both/samples --log_dir stargan_both/logs
--model_save_dir stargan_both/models --result_dir stargan_both/results
What is the solution to this, more training? How to do facial expression synthesis on celebA as in the paper? Could you share the StarGAN-JNT pre-trained model to my email 176064 at jnu dot ac dot kr?
I run several versions of StarGAN-JNT and ogange one is 110k/200k iter which gives the above result.
Thank you very much.
tsly

hello could you share me with the RaFD dataset by<EMAIL_ADDRESS>i am Anxious to do graduation design for undergraduates，thanks very much！！！

I have the same problem @tsly123. Could you solve it?
Thanks

@tsly123 If you got the pre-trained model, could you share it at<EMAIL_ADDRESS>

@tsly123 Im working on my school project could you share the pre-trained model for RaFD, my email is<EMAIL_ADDRESS>. Thank you very much!


[release1.2] Bump cgroups to dbea6f2bd41658b84b00417ceefa416b97

This fixes issues for systemd 420 and non-existant cgroups.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

LGTM

Codecov Report

Merging #3079 into release/1.2 will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release/1.2    #3079   +/-   ##
============================================
  Coverage        43.66%   43.66%
============================================
  Files              101      101
  Lines            10754    10754
============================================
  Hits              4696     4696
  Misses            5329     5329
  Partials           729      729

Flag
Coverage Δ

#linux
47.35% <ø> (ø)
:arrow_up:

#windows
40.75% <ø> (ø)
:arrow_up:

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 96a8180...e8091eb. Read the comment docs.

is this related to https://github.com/moby/moby/issues/38822 or different issue?


Analytics base client

session = Session(account="lifeomic", token=token)
client = Analytics(session)
search = SubjectSearchQueryBuilder()
search.patient() \
    .observations() \
    .code(eq='11142-7') \
    .system(eq='http://loinc.org') \
    .value_quantity(eq=18)

res = client.get_patients(project='5a07dedb-fa2a-4cb0-b662-95b23a050221', query_builder=search)

[Warning: naming suggestion]: it looks like we want a pattern of "pre-packaging" the domain and target properties of the DSL into classes, e.g. SubjectSearchQueryBuilder is focused on patient target and filter domain.
Should we name these query builds to reflect that, e.g. PatientFilterQueryBuilder? When we get to variants, it would be VariantFilterQueryBuilder.

[Warning: naming suggestion]: it looks like we want a pattern of "pre-packaging" the domain and target properties of the DSL into classes, e.g. SubjectSearchQueryBuilder is focused on patient target and filter domain.
Should we name these query builds to reflect that, e.g. PatientFilterQueryBuilder? When we get to variants, it would be VariantFilterQueryBuilder.

Sure, will rename


Fix examples

This PR will update the examples to use the latest APIs. It'll remove the lib folder and copying to it when building examples and rather use the dist builds of each modules directly from node_modules.
From the commit message:

Use new orbitdb API
Remove usage of lib and use dist builds of each dependency

When testing the examples between two browsers (Chrome and Firefox), I'm seeing some weird behaviour where the clients just hang for seconds and nothing is rendered on the screen. Looking at the profiler, things are happening while the client "hangs". No idea what's going on but will need to try and see in more details what's going on.

Ran make rebuild and the weird behaviour reported earlier is gone. I'm gonna say this is ready to merge (to #495).


Write an ophyd-async device against the fastcs eiger

We would like to move the eiger on to the new fastcs version as well as move our device support to ophd_async. We should do both of these at the same time. You can run a simulated fastcs eiger by running:

podman run --rm -it --net=host -v /dev/shm:/dev/shm -v /tmp:/tmp ghcr.io/dls-controls/eiger-detector-runtime:latest
mkdir -p /tmp/opi && podman run --rm -it --net=host -v /tmp/opi:/epics/opi ghcr.io/diamondlightsource/eiger-fastcs:latest ioc EIGER
module load phoebus && phoebus.sh -resource /tmp/opi/eiger.bob

Additionally, there is already one running on i04 at BL04I-EA-EIGER-02:, see https://diamondlightsource.slack.com/archives/C0176UKVBCK/p1721376023655459
i03 does not yet have the new eiger so we will need the old one around for a while still
Acceptance Criteria

There is an ophyd_async eiger device that replicates the same functionality as the current ophyd device
This works against the simulator
We change i04.py to use this and dodal connect i04 still passes

More info on https://diamondlightsource.slack.com/archives/C0176UKVBCK/p1721376023655459

Try and mainatin plan level compatibility between this and the old one
We think Large

Gary successfully tested with
caput -S ODIN:FP:DatasetDataCompression BSLZ4
caput -S ODIN:FP:DatasetDataDatatype uint16
caput ODIN:FP:ProcessFramesPerBlock 1000
caput ODIN:FP:ProcessBlocksPerFile 1
caput -S ODIN:FP:ConfigHdfFilePath /tmp
caput -S ODIN:FP:ConfigHdfFilePrefix test
caput ODIN:FP:ConfigHdfFrames 3600
caput ODIN:FP:ConfigHdfWrite 1

caput -S EIGER:TriggerMode ints
caput -S EIGER:HeaderDetail all
caput EIGER:Nimages 3600
caput EIGER:FrameTime 0.01
caput EIGER:CountTime 0.0099
caput EIGER:Arm 1

caput EIGER:Trigger 1

From discussion with Gary:

The new IOCs bare no relation to AreaDetector
This is hopefully cross-facility so put in ophyd-async
Deployed on i04 is just the new eiger IOC, not the new odin one

Initial MVP completed in https://github.com/bluesky/ophyd-async/pull/528. A number of spin off issues were made https://github.com/bluesky/ophyd-async/issues?q=is%3Aissue+is%3Aopen+eiger. I'm going to leave this issue here to track it from the downstream perspective but waiting on others to do https://github.com/bluesky/ophyd-async/issues/405 and https://github.com/bluesky/ophyd-async/issues/551 before continuing the work


OCM-5174 | fix: error message should distinguish between labels and taints

Error message was mentioning labels even if the issue was on taints.
Fix that and improve test coverage.
Related: OCM-5174

/approve
/lgtm


WIP develop <- master

Merge PR to develop along with master branch push for article publication. Created by this action: https://github.com/falgon/roki-web-post/actions/runs/3521271816

Build log
Preview build with this PR (commit): https://output.circle-artifacts.com/output/job/ffcebd2e-022d-4ee9-8384-f85f1e8b5e44/artifacts/0/index.html


API clarification: Do we need GET /trips-collections/{tripsCollectionId} for?

To clarify; What are the use cases needing GET /trips-collections/{tripsCollectionId}?

We need it for pagination, which is fixed in latest release candidate


PING causes receive() problems

A bit surprising, this is not about #14. I don't care about "proper" implementation of ping/pong but am having problems because the ws server (which is beyond my control) sends a ping on connect and the client on my side reads 1 byte too many and the frames on my side got royally screwed up from there on.
The problem is around here: https://github.com/lipp/lua-websockets/blob/master/src/websocket/sync.lua#L14
The first chunk read apparently is always of size 3 - but it turns out PING is a frame of only 2 bytes.
On example i tracked with wireshark, the first chunk read is "89 00 82", which gets returned to me as an empty message (which is fine by me) - however turns out the PING is actually "89 00" and the 82 is part of the next frame "82 0b ..." (11 byte binary frame). Because 82 was mis-read, the 2nd frame turns into "0b ..." and everything goes downhill afterwards.
Seems that simply changing that line to bytes = 2 might be okay, given a quick skim at frame.decode() - but is that so?
ps. also bytes = 2 on line 60

🎱  !
As far as I can say, that's ok. Do you get the correct opcode (PING) from the receive function then?

Yes - i just checked and the opcode returned in that case is 9 - although i don't care nor check for that, i just treat it as "empty frame" (works for me in my specific case).
More detailed code review persuaded me that yes, changing bytes = 3 to bytes = 2 in those two places shouldn't break anything.

According rfc you have to replay PONG.

Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in
response, unless it already received a Close frame.  It SHOULD
respond with Pong frame as soon as is practical.

But rfc does not describe what remote side should do in case if you do not send PONG

@moteus thanks for the rfc heads-up! than, maybe the "endpoint" should just auto-reply with PONG and shouldn't present this to the user at all!?

I am not sure. PING/PONG can be used to some think like OOB I think. They can have Payload.

Control frames can be interjected in the middle of a fragmented  message.

So in my implementation I make option to auto response to ping message.
Also about PONG

A Pong frame MAY be sent unsolicited.  This serves as a
unidirectional heartbeat.  A response to an unsolicited Pong frame is
not expected.

"Control frames can be interjected in the middle of a fragmented message." does not imply ping/pong can carry a load, just that they can be interspersed in normal traffic.
It seems to me that a receiver should always absorb PING and respond automatically with PONG quietly  (with no report up the call chain). Received PONG should not be absorbed but passed up, since presumably we sent the PING and expect the PONG (e.g. measuring latency).
Here is an interesting caveat however: https://github.com/lipp/lua-websockets/blob/master/src/websocket/sync.lua#L67 concatenates bunch of frames into a single string and returns the 1st opcode only! Meaning that if the 1st opcode was PONG, everything will get labeled so, regardless it is BINARY/TEXT. Or if the 1st opcode is BINARY and PONG is one of the next frames, it will disappear.
Hmmm, this should be a separate issue when i think of it - mix of BINARY / TEXT / etc all gets "mushed" together. Seems to me a proper handling should return only 1 frame and its corresponding 1 opcode, keeping the rest for the next call - perhaps akin to https://github.com/lipp/lua-websockets/issues/80#issuecomment-222536478

"Control frames can be interjected in the middle of a fragmented message." does not imply ping/pong can carry a load, just that they can be interspersed in normal traffic.

Any control message can have payload with size less than 128 byte.
Control message can not be fragmented. So it stream can looks like
[BINARY] [CONTINUE] [PING] [CONTINUE] [FINAL] where one fragmented message(4 fragments) and PING control message (may be with payload).
Also like i mention it valid send PONG message wirhout ping.

@moteus - sure, what you say does not contradict what i said. A sender is free to send PING/PONG without limitations. Receiver always sees the PONGs but not the PINGs.
The only caveat is - thanks for pointing that out! - that if PING carries payload, the websocket stack should reply with a PONG with exactly the same payload, see https://tools.ietf.org/html/rfc6455#section-5.5.3 . So yes, things seem lined up by RFC for automatic handling of PING->PONG

sounds like a good strategy! would be great to have this...

实现 PING 和 PONG看来没有希望了所有者已经好几年了都没有更新解决这个问题！


Is RAISERROR () WITH LOG option still valid in Azure SQL databases?

Hi, I'm tasked with porting an on-prem Microsoft SQL database and its routines to an Azure SQL database. I'm trying to create a stored procedure which includes the RAISERROR() WITH LOG option statement. When executing the script, it's returning error "Only System Administrator can specify WITH LOG option for RAISERROR command." The Azure SQL server has been setup to accept only Azure Active Directory authentication. An Azure security group was configured as admin which I am part of and have had no issues connecting or creating objects.
Anyways, all this to ask, as my feedback, since Azure SQL database uses Azure Monitor, is the "WITH LOG" option still valid in Azure SQL databases? Where is it logging the error? This information should be reflected in the "WITH LOG" option table, if still valid.

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

ID: 472beb1c-1682-d2db-c2b1-3083c174b0cc
Version Independent ID: 099a81a1-42cb-bd91-9147-bc761d4be177
Content: RAISERROR (Transact-SQL) - SQL Server
Content Source: docs/t-sql/language-elements/raiserror-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @rwestMSFT
Microsoft Alias: randolphwest

Hi @jurw2201. You are correct that this is a permissions issue. To work around it, you'll need to use a BEGIN TRY block, and log the errors to a database table.

@jurw2201 An article update will remove "SQL Database" from the supported platforms for WITH LOG in the next day or so. Thank you again for your feedback.

#assign:@rwestMSFT


Print Requests No Longer Directed To Print Queue

2024-09-26
The system sees the printer. Printer is enabled. Print request stopped going to print queue after recent CUPS update. Documents will not print.
Running MX 23 (Xfce)
CUPS version 2.4.2-3+deb12u7
Bug report attached.
troubleshoot.txt

The attach file indicates that cupsd isn't running. Might be a "partial update" issue, but not specific to the CUPS project.
Verify that you have done a complete update, then try starting the CUPS service with whatever command your Linux distro uses - probably "systemctl start cups.service" or similar. If it doesn't start, look at the systemd logs.


Exclude the --inspect flag

PR: https://github.com/nodejs/node/pull/6792
Merged in Node v7.0: https://nodejs.org/download/nightly/v7.0.0-nightly20160619a92089b6bd/
Short article about it<EMAIL_ADDRESS>Usage:
mocha --inspect --debug-brk hello.js

A quick patch release will be greatly appreciated! Thanks!

Thanks.  We can add this in v3.1.0.  May need to rebase it onto master after the v3.0.0 branch is merged.
As a workaround until then, you can execute node <flags> /path/to/_mocha -- <mocha-args>

probably transient CI failures

Any chance for a release of this? 😄

Thanks a lot!!! This feature was the best surprise I got from the latest release!
However I am curious about why --debug-brkis needed. Normally I would just type debugger in some test and wait for the debugger to reach that breakpoint.
If I just use --inspect and a debugger line, Mocha will start the debug server and run all tests without stopping. Currently I must force it to start with a breakpoint, and manually continue to reach the second breakpoint in my code.

If you don't have --debug-brk you have no attached debugger, so debugger statements do nothing.
I think

@SimenB is right, I've just tested a small node example and --inspect is useless without --debug-brk OR with a debugger attached before reaching the breakpoint.
The current behaviour is the expected one


just doesnt work

it just doesnt work

it was last updated 2 years ago, no shit it doesnt work

skill issue if its not working for you frfr


prevent cross space move

decomposedfs now prevents moving across space boundaries
fixes https://github.com/owncloud/ocis/issues/4114

Maybe you should implement the move as "copy/remove" rather than forbidden this feature?
Is copying still possible?

Maybe you should implement the move as "copy/remove" rather than forbidden this feature? Is copying still possible?

Yes. COPY & DELETE works fine

@labkode the move is only forbidden for decomposedfs. It is technically possible, but requires moving all children, from one space to another, which is why I decided to forbid it for now. Other drivers are not affected.


Correct fmt.Fprintf

Correct fmt.Fprintf and fmt.Printf, because the values used for formatting text does not appear to contain a placeholder.
Signed-off-by: fate-grand-order<EMAIL_ADDRESS>

Most of these arguments end with \n. Can you please use fmt.Fprintln in these cases and remove the \n?

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "branch-1" git@github.com:fate-grand-order/swarmkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353850856
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Codecov Report

Merging #1929 into master will not impact coverage by -0.02%.

@@            Coverage Diff            @@
##           master   #1929      +/-   ##
=========================================
- Coverage   54.01%     54%   -0.02%
=========================================
  Files         108     106       -2
  Lines       18535   18457      -78
=========================================
- Hits        10012    9967      -45
+ Misses       7303    7272      -31
+ Partials     1220    1218       -2

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 bf90af2...77c6417. Read the comment docs.

I update this PR, please review it. @aaronlehmann

I've finished the test and modified the related code. @aaronlehmann

LGTM


Add Firebase Auth

Deadline 29/05/21 6pm

Authentication/AuthenticationWrapper/.gitignore isn't required we already have a .gitignore at root level

Instead of Authentication/AuthenticationWrapper let's do Auth

Please put the code in a (temporary) separate repo or a code-sandbox until, we are going to use a separate repo to host our frontend.

Have you tried the different types of diagrams we talked about in our last sync? If yes, can you share some examples?

I think this still contains a lot more implementation details and a lot less API design than what we're aiming for.

Can I get an example for anyone method on how should I write the API design?

The Auth module would be implemented inside pesto-students/juntos-frontend hence closing this PR