[WIP]perf: ⚡ change the immutableString to smol_str

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

this branch will merge after the bench merged in master

Unlike String, however, SmolStr is immutable. The primary use case for SmolStr is a good enough default storage for tokens of typical programming languages. Strings consisting of a series of newlines, followed by a series of whitespace are a typical pattern in computer programs because of indentation. Note that a specialized interner might be a better solution for some use cases.
like the docs said, the smol_str is heavily optimized for parser infra.

Hey @IWANABETHATGUY, thanks, but I recommend opening issues first and discussing before doing work so you don't waste time. We need to get #9 in before any perf improvements, I don't want to introduce any dependencies to the public API of this crate (I'd prefer for this to have no dependencies), and this will all change a lot when #10 is in. After #9 then #10 is done then I think we can think about this. So sorry, but I won't be accepting any perf improvements until #9 is in. If you would like to help out with #9 I would be most grateful though!

hi @dsherret, so that's why i make this a draft, and mark this as WIP in the title


Request Support for BLS12 based signature verification

Hi Team!
Since many protocols are putting BLS12 to use for digital signatures.
I want to verify BLS 12 based signature from Terra smart contract.
Hoping for some positive inputs/response on this.

sorry for the late response. unfortunately BLS12 is not supported yet. maybe it will be supported when cosmwasm 1.2+.


Python 3 support

If we try to use the current version of scapy_nflog plugin we get this error:
Traceback (most recent call last):
File "/home/kix/src/scapy_parser/scapy_parser_reply.py", line 548, in
sniff(prn=handler, store=0)
File "/usr/local/lib/python3.10/dist-packages/scapy/sendrecv.py", line 1263, in sniff
sniffer._run(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/scapy/sendrecv.py", line 1127, in _run
sniff_sockets[L2socket(type=ETH_P_ALL, iface=iface,
File "/usr/local/lib/python3.10/dist-packages/scapy_nflog.py", line 44, in init
self.nflog = NFLOGReaderThread(queues, **nflog_kwargs)
File "/usr/local/lib/python3.10/dist-packages/scapy_nflog.py", line 23, in init
self.pipe_chk, self._pipe = os.fdopen(self.pipe_chk, 'r', 0), os.fdopen(self._pipe, 'w', 0)
File "/usr/lib/python3.10/os.py", line 1029, in fdopen
return io.open(fd, mode, buffering, encoding, *args, **kwargs)
ValueError: can't have unbuffered text I/O
With the changes included in the patch, is possible to use scapy_nflog with Python 3.

Iirc point of that "pipe" fd is to give scapy an fd to poll() and notify it when packet arrives.
Even though flush() is called on it now, might be a better idea to open it as 'wb' (no TextIO wrapper) and with buffering disabled, as that's the intent there and how they're used. Not to encode utf-8 in batches or something (which 'w' is for).
But anyhow, given that I don't use the thing (and haven't for a while), don't really want to install scapy to test this, and will archive project instead, as it's clearly not maintained.
Thank you for the PR, but if you're using this code in any way, you're most certainly welcome and better qualified to maintain a working fork of it for other folks from now on, and don't need to wait on me to check or merge anything :)


Small fix to Skystone insights

Small fix to an issue I saw the other day, insights for Skystone were displaying NaN as a high score because the high score Match's JSON wasn't being parsed.
Current

Change

Thank you for catching this!


Add file input styling

It would be great to have a file input styling for foundation. Example: http://materializecss.com/forms.html#file

@imaia, check this out: http://zurb.com/building-blocks/file-upload-button

Yeah, this is the type of thing we'd keep in a building block rather than the codebase as a whole. Thanks @JeremyEnglert for finding it.

Thanks @JeremyEnglert


More headers to add

Consider adding

nothings/std
floooh/sokol
RandyGaul/cute_headers
yuki-koyama/color-util
nlguillemot/arcball_camera
Immediate-Mode-UI/Nuklear
zemasoft/wildcards
syoyo/tinygltf
lieff/minimp4
gwiazdorrr/CxxSwizzle
andy-thomason/Vookoo
bullno1/ugc
vurtun/mmx
ww898/utf-cpp
mosra/magnum-singles
jdupuy/dj_fft
dariomanesku/dm
Cultrarius/Swarmz
kiyoMatsui/kiyosGameEngine
pplux/px
acoto87/shl
sgorsten/linalg
copperspice/libguarded
septag/dmon
unclearness/nanopm

@p-ranav Thanks for adding stb and sokol but I think these should be under game development category.


feat(i18n-chinese): add Chinese translation

Hi @rahmanfadhil We have finished the translation for Cotton, but we have a problem when we  pull request. you can check the pipeline to get more informations.
The reason seems that Deno  std versions prefixed with 'v' were deprecated recently.

Hi， @rahmanfadhil & @yihaimen ，I have resolved your issue, see the latest commit.

Hi, thank you so much, sorry for the very late response, I'm very busy lately 🙏


Consider adding (correct) proportion of variance explained by ICA components to Report

We removed it because the calculation was incorrect. The correct approach may be too time-consuming, though
See https://github.com/mne-tools/mne-python/pull/12156#issuecomment-1787746407 for discussion

But thinking about it even more... in principle I think this would make it quite fast and also work:

Compute the empirical covariance of inst (raw, epochs, evoked) -- should be fast enough (and not even require preloading!)
Apply ICA to the computed covariance rather than inst -- should be very fast, I think you "just" have to apply the ICA spatial operator to the left and (transposed to the) right of the covariance
Use the reduction in covariance power to compute the reduction in variance of the signal (I think this is doable mathematically but I should double-check)

You lose some accuracy with this approach but assuming that's acceptable it would make this usable. We could enable it adding a new mode="cov" | "individual" | "joint" (default) where mode="cov" will estimate var exp jointly across all components applied at once but using the possibly-memory-saving cov method, "individual" uses the cov-based method and operates on individual components, and "joint" is current behavior (actually apply to the instance).
This would also take care of an old comment by @agramfort where he worried about memory usage with the current method as inst.copy() must be done under the hood.

You lose some accuracy with this approach but assuming that's acceptable it would make this usable.

A rough estimate is fair enough for me. It just really helps when you look at an ICA component and can immediately see, "oh, this one explains quite a large amount of variance!" – or "well, this one doesn't seem to be too important, let's not waste my time trying to figure out whether it's brain or an artifact"

We could still keep the existing algorithm and add a kwarg to allow selection of the method used for variance explained estimation
def get_explained_variance_ratio(
    ...
    method: Literal["eeglab", "cov"] = "cov"
):
    ...

We could still keep the existing algorithm and add a kwarg to allow selection of the method

Sorry, you already proposed that, I missed that on my first read!


[composer] tabster error when switching to tables

render crash that references tabster when switching to table during demo.
approx 6pm ET Feb 18 (check logs @wittjosiah?)

Unable to reproduce. Please include repro steps or a screen capture, otherwise I may need to pair with you if the repro is device-specific.

https://github.com/dxos/dxos/assets/3523355/e81a7c23-e23f-4909-a0c9-595e599128e8

I don’t have access to AI features, so this repro won’t work for me unfortunately. I also need a local dev repro — if this is only breaking when bundled, the problem is with the bundler.
If you can provide a repro that doesn’t involve AI that repro’s locally, that will unblock me.

Sounds like this resolved on its own, so closing this for now. Please reopen if needed.


[fix][client]Duplicate messages when use MultiTopicsConsumerImpl

Fixes

When using the Multi Topics Consumer, the message will be consumed repeatedly
Also fix the flaky test: #17147

Motivation
There has a race condition between add messages to incoming queue and clean incoming queue.

When we call MultiTopicsConsumerImpl.seek, we expect the process executed like this:

clear incoming queue
each consumer executes seek

consumer_1 seek
consumer_2 seek

wait for all consumers seek finished

But the real process might be executed like this:

clear incoming queue
(High light)receiveMessageFromConsumer is being executed at this time, many messages being added to the incoming queue
each consumer executes seek

consumer_1 seek
consumer_2 seek

(High light)receiveMessageFromConsumer is being executed at step 2, and many messages being added to the incoming queue at this step
wait for all consumers seek finished

then the same message will be consumed twice:

add message(3:3) to the incoming queue
seek to 3:1
add message[ (3:1),(3:2),(3:3) ] to the incoming queue
(High light) incoming queue has 4 messages [ (3:3), (3:1),(3:2),(3:3) ]

Modifications
Make seek to two parts action:
part-1:

seek start: call pause
if the status is pause, all action receiveMessageFromConsumer will not execute immediately, just into the pending queue

part-2:

wait all consumers seek finished, call resume
execute all action which in the pending queue

Documentation

[ ] doc-required

[x] doc-not-needed

[ ] doc

[ ] doc-complete

This PR should merge into these branches (because this test was appended in branch-2.11):

branch-2.8
branch-2.9
branch-2.10
branch-2.11
master

Note:  new features have been added in version 2.8, so if we want to merge to 2.7, there will be conflicts.

/pulsarbot rerun-failure-checks

@poorbarcode Could you please provide more context about how the race condition will happen?

Hi @codelipenghui
Already added the description. I'm sorry I didn't finish TODO in time

@poorbarcode Thanks. I understand the problem for now.
There is ML discussion https://lists.apache.org/thread/97o9t4ltkds5pfq41l9xbbd31t41qm8w
I think we'd better find a general solution for the message duplication
And this one https://lists.apache.org/thread/gnqwxo7w6n6g72ochvgpgv4s6r8mnwb7 is also a duplicated message
discussion.
These are not exactly the same problem, but tight related.
For this PR. we will introduce many queue operations to avoid duplicated messages.
This seems to be a bit expensive.

PIP-194 will fix this problem

https://github.com/apache/pulsar/issues/16757


Crash possibly connected here

https://pastebin.com/uRi2MJKk

Does the problem go away after removing Immersive Portals? The problem seems to be caused by that mod failing to mixin into a class this mod uses, breaking the class. Is it the right version?

The crash is unrelated to immersive portals. It is blaming an embedded mod I’ve traced to here

LibNetworkStack is indeed failing to load. Though I can't determine why. The error log shows a mixin failure in Immersive Portals. I'm testing with Immersive Portals now.

Ok, I'm having trouble reproducing this. Any tips would be appreciated :)

Though Immersive Portals does seem to be causing other issues with LNS.

I am using Quilt, which is of note.

Also, after I disabled your mod, I ran into this error:
https://pastebin.com/YWqPPFSq

Yup, I'm using Quilt, QSL, and QKL in my testing environment. Still not running into this.
The next error you referenced seems unrelated to this issue from what I can tell.


Burr -- Google Sheets Persister

Is your feature request related to a problem? Please describe.
Heh, this is actually just a really cool idea. And, why not? Would make it super easy to debug, and google sheets is basically an extremely powerful (if not limited in scalability) database.
Describe the solution you'd like
Build a persister that saves to/loads from google sheets.

[ ] Determine data models -- partition key = one sheet? App = one tab? All in a drive?
[ ] Determine parameters for data model
[ ] Figure out best way to wire through secrets (ensuring that we don't accidentally track it...)
[ ] Test
[ ] Add CSV/Excel as well, based on this

See https://github.com/DAGWorks-Inc/burr/blob/26cfcd272a26c58e88c6ec84b18682b8ad87a9bd/burr/integrations/persisters/b_redis.py#L19.
for a sample working persister
Describe alternatives you've considered
Not doing this for fear that someone will use it in prod (or maybe they should...).

I am requesting more information as I am interested in this issue

@cmm25 sorry for the tardy response. What questions do you have here?

Seeing this as a good first issue I am interested in handling this but I cannot quite understand the needed requirements.

@cmm25 sure let me try to unpack it.

The high level idea is that we could use google sheets as a database for persistence
e.g. use their python API to read and write data (see their quickstart)

Things to implement:

A GoogleSheetsPersister (e.g. here's the postgres one for example)
The persister should implement the required methods and then subsequently use the python google sheets API to read/write appropriately.
Then an example application that uses it and exercises the functionality.

How I would get started:

Have setup google credentials and are able to run https://developers.google.com/sheets/api/quickstart/python
Have forked the burr repository
Added the google python client as an optional dependency to the project
created the new persister class
design the "data model" for the google sheet. It might be simplest to mirror the table structure from the postgresql persister?
check in with us for feedback / thoughts.

Does that help?


Version 1.0 not available on cocoapods

The latest version available on cocoapods is 0.5. Maybe you forgot to update the new version on cocoapods ?

update your podefile to:
pod 'QRCode', :git => 'https://github.com/aschuch/QRCode'

Ping @aschuch :)

Also for this to work you need to bump the ios version to 9.0 in your podspec. Like so: s.platform = :ios, "9.0"

Bump.
@mauroandremazzola this is not the right thing to do (tm), since there can be changes pushed to master that are not backwards compatible.
@aschuch when are you planning to release 1.0 on coccoapods?
Thanks,
:panos

Version 1.0 and 2.0 (Swift 3) has just been pushed to Cocoapods trunk.


Add win32 build in batch

This will replace the AZP batch build. The win32 build is interesting because the floating point operations are different that x64 intel.

The usefulness of the x86 instruction set is that it has a different set of FPU instructions which may give different computation results, and help with setting reasonable tolerances to tests.


Cocoapods error

Installing Schedule (0.0.4)
....
warning: Could not find remote branch 0.0.4 to clone.
fatal: Remote branch 0.0.4 not found in upstream origin

Hi, @segunlee , try to update your local pod repo with pod repo update,  or update Schedule only with pod update Schedule. Schedule just release 0.1.0, which is a a very stable version. All versions before 0.0.9 were obsoleted due to some embarrassing bugs.
Sorry for confusing you. But try 0.1.0! It's more amazing~

my mistake, thx  :-)


[V2] Yocto BSP v5.9 kirkstone + Linux DDK v1.15 + other misc things

This is V2 for https://github.com/xen-troops/meta-xt-rcar/pull/38 The WIP mask was lifted.

Acked-by: Volodymyr Babchuk<EMAIL_ADDRESS>

updated, only added A-b


Fix coveralls coverage

This will probably not be node before ES6 import / export comes to node since coverage on compiled code isn't what I want.

hi lindell
you have done a great work. but there might be a problem. I am now doing a patient management php project.
My zebex barcode works when I have minimum three  digits. suppose it does not work with bar codes generated by 2 . but works with 002.
So I tried to create a variable in php to create 00000002  with str_pad function. but when I place this variable value into your code like this

In this case , your code creates bar codes of 2 while  I expect  bar codes of 00000002. Please give me a solution. I will ever grate full to you. Mukul sarker

First, this issue has nothing to do with your problem! Please create a new issue.
Second, are you sure the php generate the 000000002 correctly? Since I can generate barcodes with that value http://codepen.io/lindell/pen/zNYqXO.

`Dear Lindell
Really grateful to you for your quick response. your pen link perfectly works and for me too. but working with static 00000002 value. not for php variable value. I am sending zip file to you . please run  that php file and suggest me where is my fault. I really need your bar codes for patient management in a hospital.
Again thanks for your great work. Mukul sarker
barcodes.zip

The problem is that you print the number as a number in the javascript, which will remove the zeroes.
If you add " before and after the number to make it a string it will work.
Like this:
<script>
JsBarcode("#barcode", "<?php
  echo $formatted_patientID;
?>" , { height:25 });
</script>

Dear Lindell
I am really grateful to you. Your script running good , producing desired output. My blessings upon you.
Thanks from my heart. Mukul sarker


index >= CMT_SUMMARY_QUANTILE_ELEMENT_LIMIT

https://github.com/fluent/fluent-bit/issues/6322
Fluent-bit master reaches following limit and returned error.
https://github.com/fluent/fluent-bit/blob/v2.0.3/lib/cmetrics/src/cmt_decode_msgpack.c#L446
[2022/11/03 09:28:07] [error] [output:stdout:stdout.0] could not process metrics payload

How to reproduce

Run prometheus
Run Fluent-bit

Fluent-bit configuration
[INPUT]
    name prometheus_scrape
    host <IP_ADDRESS>
    port 9090
    tag prometheus
    metrics_path /metrics?format=prometheus
    scrape_interval 5s

[OUTPUT]
    Name stdout

fixed in #168


Add polls?

Looks like Facebook added polls to desktop Messenger; would it be possible to add them to the API?
Not too sure how adding new features works.

Polls?

Yes, I'd imagine it would be possible to add support for this and we would accept a PR with the change.
If you want to look into it, I'd suggest opening up your browser's dev tools and seeing which requests get made when you do various things with polls (creating them, adding answers, voting etc.).  Figuring out the right requests is the first step to implementing.

Sorry but still I don't get which pools? I don't see anything update on mine Messenger (probably not pushed for my country :-/ )

@GAMELASTER

@AstroCB lol, I don't have polls or games, same on phone messenger...

Hopefully it rolls out to everyone soon!


Registry mirror fallback not working when using a registry endpoint list

Environmental Info:
K3s Version: v1.1.8/v1.17/v1.16

Describe the bug:

In some scenarios, registry mirror fallback not working when using a registry endpoint list. This means that the behavior of k3s containerd and docker is very different.
k3s mainly uses the containerd v1.3.3. If we configure multiple endpoints(A,B) for a registry mirror, the endpoint B will only retry if endpoint A returns 404. However, many public registry mirrors cannot return 404 according to the specification if the pulled image does not exist.
Related PR: https://github.com/containerd/containerd/pull/4007
We need to bump containerd to v1.3.4+.

The 1.19 release (and current master branch) use containerd 1.4.0. I don't believe we have any plans to backport containerd updates to the older release branches.

This should be effectively fixed in upcoming v1.19.1+k3s1 release which we are planning to get out today or tomorrow (although the date could slip). I'd like to close this out - if there are questions/concerns please feel free to comment or the issue can be reopened.


Unable to send meta data in GET response without including pagination attributes

Currently we are invoking a GET request to Django with some filter parameters applied. The results wont be more than 20 or 30, so we are not using pagination.
The problem is we are unable to send meta data without the pagination attributes due to the following check in the normalizeResponse function
  if (!Ember.isNone(payload) &&
      payload.hasOwnProperty('next') &&
      payload.hasOwnProperty('previous') &&
      payload.hasOwnProperty('results')) {
      ...
  }

So we are sending dummy count, next and previous values and adding our meta data along with the results array.
Could some one please suggest me a better way of doing this or to stick with the current approach?
Thank you.

Thanks for letting us know about this issue. I didn't anticipate this use case when I developed the pagination support but I can adjust normalizeResponse to handle it.

@benkonrath  thanks for your quick response. I will stick to current approach (sending dummy pagination attributes) till the normalizeResponse is adjusted :smile:

@indvinoth would you mind sharing your Django REST Framework view that is adding additional metadata?  I am curious about how this works.

@dustinfarris  Sure

Sorry for the delayed response @benkonrath, @dustinfarris. Diwali holidays here in India.
To make it work we have extended the default pagination class from Django and used it in the viewset. Count, next and prev meta are added as part of pagination and we have set the page size to 30 since the items will not be more than 20.
The following JSON response is received from the Django REST API.
{
   "next": null,
   "time_left":<PHONE_NUMBER>,
   "previous": null,
   "count": 0,
   "results": [...]
 }

Thanks @indvinoth.  Can you share the view (in Python) that is generating this response?

Please find the code for view below which is generating the response.
View:
class PostViewSet(viewsets.ModelViewSet):
    """
    List all Posts, or create/ edit/ delete a post.
    """
    queryset = posts_models.Posts.objects.all()
    serializer_class = posts_serializers.PostsSerializer
    parser_classes = (JSONParser, MultiPartParser,)
    authentication_classes = (TokenAuthentication,)
    permission_classes = (posts_permissions.IsAuthenticated, posts_permissions.StaffAccessPermission)
    pagination_class = posts_pagination.CustomPagination

    @posts_decorators.filter_posts  # queryset is tweaked here
    def list(self, request):
        return super(PostViewSet, self).list(request)

Pagination:
class CustomPagination(pagination.PageNumberPagination):
    page_size = 50
    page_size_query_param = 'page_size'
    max_page_size = 50

    def get_paginated_response(self, data):
        return response.Response({
            'next': self.get_next_link(),
            'previous': self.get_previous_link(),
            'time_left': time_left,
            'current_time': current_unix_time,
            'count': self.page.paginator.count,
            'results': data
        })

Actually the backend python code is written by another developer. If possible, I will try to loop him to this discussion.

@indvinoth Thanks and sorry for the delay in getting back to you on this.
It looks like you'll still need to use the DRF pagination setup with the CustomPagination class to set your custom list metadata. This means you'd be using the DRF pagination setup for non-pagination metadata which seems like it's not a commonly agreed upon way to get this list metadata. I'm not saying that your approach is wrong, it just doesn't seem like a standard way to do this. For instance, here is another way to deal with metadata in DRF.
http://www.django-rest-framework.org/api-guide/metadata/
In the end, removing the check for next and previous effectively makes results a reserved field which is not something we want (see #148 for a discussion about this).
If you don't want to include next and previous in your API, just override normalizeResponse to create a custom version for your use case. You can cut and paste the current version and replace this snippet:
    if (!Ember.isNone(payload) &&
      payload.hasOwnProperty('next') &&
      payload.hasOwnProperty('previous') &&
      payload.hasOwnProperty('results')) {

with this snippet:
    if (!Ember.isNone(payload) && payload.hasOwnProperty('results')) {


[WFCORE-1673] Integration tests for controller configuration+aliases

JIRA: https://issues.jboss.org/browse/WFCORE-1673
JBEAP: https://issues.jboss.org/browse/JBEAP-5432
Added integration tests for server aliases defined in jboss-cli.xml

@jfdenise please approve

Hello @jfdenise , I've made the changes you have requested. For your comment on assertConnected, I've had to make a slight change (please see my response to your comment).
Thank you.

Hi @mschvarc , I am fine with your changes. One of the test is failing, I suggested adding some debug output.
JF

Full integration - Windows Build 2806 outcome was UNKNOWN using a merge of 1a92e1daae717b9b89ee10776616cbc59d786d80
Summary: Canceled (Tests passed: 2058, ignored: 79; exit code 1 (new)) Build time: 00:19:41

Full integration - Windows Build 2807 outcome was UNKNOWN using a merge of 1a92e1daae717b9b89ee10776616cbc59d786d80
Summary: Canceled Build time: 00:00:01

Full integration - Windows Build 2809 outcome was UNKNOWN using a merge of 1a92e1daae717b9b89ee10776616cbc59d786d80
Summary: Canceled Build time: 00:00:01

Full integration - Windows Build 2808 outcome was UNKNOWN using a merge of 1a92e1daae717b9b89ee10776616cbc59d786d80
Summary: Canceled Build time: 00:00:13

Core - Full Integration Build 4384 outcome was UNKNOWN using a merge of 1a92e1daae717b9b89ee10776616cbc59d786d80
Summary: Canceled (Tests passed: 2968, ignored: 149; Step 4/5) Build time: 00:25:02

Retest this please

@bstansberry, @mschvarc I am ok wit the test now. Thanks.


Feature/search function in package

Related to #348

This looks good!
You think you could do the same for quick search ?
Only the backend logic would need to be modified for quick search in this case
Also, if you resize your screen, the 2 columns becomes tabs, you should also hide the 'Packages' tab if the user used ::

@ludov04 I fixed the tabs, I'll know check for the quicksearch.

2 small comments, otherwise looks good

@ludov04 Fixed it


[Image Resizer] Crashes when json settings file not formatted properly

I am working on Migrating the Image resize settings to Settings V2, due to Image Resizer using some of the libraries in .NetFramework (System.Windows.Media.Imaging), I had to rewrite some of the models in in SettingsV2. While testing I noticed that when some properties are not set properly in the json file, image resizer crashes when I try to launch through a file from the explorer.

Environment
Windows build number: [run "ver" at a command prompt]
PowerToys version:
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

Expected behavior

Actual behavior

Screenshots

To potentially push to v1...

This should apply to everything but tldr, make the main app defensive on bad JSON file load

This has resolved with 0.47 release


dart should have a dart:crypto library

Dart should have a built-in package providing cryptographic algorithms.
This could be modeled after the golang "crypto" package, node.js crypto module, Web Cryptography, or similar.
The reason for this is simple:

the package eco-system will need cryptography (for calling GCP, AWS, Azure)
rolling your own crypto invites vunerabilites, side-channel attacks
(A good JIT could in theory offer additional side-channels)

On the technical it's worth noting that:

dart-sdk already links statically with boringSSL for TLS
there is currently no good way to distribute binary modules on pub

By supporting TLS dart-sdk already comes with a lot of cryptography, we just need to expose more low-level algorithms.
note: I'm aware of package:crypto, but it is missing a lot of algorithms. For example googleapis_auth is rolling it's own RSA implementation.

It would be also cool if we could use the Crypto.subtle APIs from dart:html. Currently the API exposed by Dart is unusable.

This needs to get higher priority. There is no way any dart AES implementation is going to be on par with handwritten assembly from boringssl. Also it's very strange and potentially unsafe to have to duplicate basic crypto algorithm when dart already ships with boringssl.
Please expose this, perhaps with API similar to Crypto.subtle, in that case you can have parity with dartjs.

A provisional solution could be exporting (prefixed) BoringSSL functions as undocumented C functions that may be removed in any future version. Cryptographic packages could then look up the symbols with dart:ffi:
DynamicLibrary.executable().lookup("unstable_boringssl_ED25519_sign");

Whenever Dart/Flutter or BoringSSL decides to stop supporting something, a package could fall back to an implementation written in Dart.
Developers who want to use crypto.subtle in browsers may find package:cryptography useful.

I just want to say I agree with everything that was said and yes package:cryptography is very helpful but would be nice to have a real dart:crypto library.

I started drafting what I thought would be a good crypto library for Dart. But retaining all the BoringSSL symbols I would have needed in the Flutter SDK would have grown the SDK size by a few hundred KBs... Which is kind of a problem at the moment, hence, I don't think this is going to happen anytime soon.
My humble attempt at a crypto library became package:webcrypto, which is just a side-project, still under active development. It uses dart:ffi+BoringSSL or crypto.subtle and does not attempt to roll a Dart implementation of any primitives.
In any case, it's also nice to see pure-Dart implementations like package:cryptography, having portable cryptography is cool :D

Closing this now that we have https://pub.dev/packages/webcrypto in a pretty complete state.


[Modules] Update ACR module api version to 2022-02-01-preview

Description
Update Azure Container Registry API version to 2022-02-01-preview with additional properties:

azureADAuthenticationAsArmPolicyStatus
softDeletePolicyStatus
softDeletePolicyDays

Pipeline references

For module/pipeline changes, please create and attach the status badge of your successful run.

| Pipeline |

| |
Type of Change
Please delete options that are not relevant.

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings
[x] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (readme)
[x] I did format my code

Thank you for your contribution @tyconsulting . Can you please trigger a successful run on your fork: https://github.com/TY-Consulting/ResourceModules/actions/runs/3067028859/jobs/4952870833

updated

@MrMCake  @ahmadabdalla  please review this PR again. thanks


adding all-in-one postsubmit job

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: RagniGarg97
To complete the pull request process, please assign mkumatag after the PR has been reviewed.
You can assign the PR to them by writing /assign @mkumatag in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @mkumatag

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mkumatag, RagniGarg97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mkumatag]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@RagniGarg97: Updated the job-config configmap in namespace prow at cluster default using the following files:

key allinone-postsubmit.yaml using file config/jobs/ppc64le-cloud/all-in-one/allinone-postsubmit.yaml

In response to this:

post-submit job to build all-in-one image.
https://github.com/ppc64le-cloud/test-infra/blob/master/images/all-in-one/Dockerfile

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Points lose size property in Form and CartoCSS

I am not sure how to reproduce this, but it has happened to me multiple times.
Basically, points lose the size option in the form and the cartocss after symbolizing them with different aggregation methods. For example, the points below, I went through the different point aggregation methods, and when I come back to NONE, the option to adjust the symbol size is gone in the form and looking at the CartoCSS, there is no longer a marker-width property.

CartoCSS
#layer {
  marker-fill: #FFB927;
  marker-fill-opacity: 0.9;
  marker-allow-overlap: true;
  marker-line-width: 1.5;
  marker-line-color: #ffda8d;
  marker-line-opacity: 1;
}

isn't happening anymore


Release LocalizationPlugin 0.5.0

Changelog

Update ProGuard to support built-in shrinker of Gradle Plugin #582
Update localization plugin to support expressions #654
Fix Localization set camera to locale country Javadoc broken link #640
Adding japanese and korean support to localization plugin #575
Maps SDK bump to 6.5.0 #634

Release checklist

[x] Cut the release branch
[x] Run through testapp/demo app and test all activities
[x] Update README.md
[x] Update CHANGELOG.md
[x] Change version name to 0.5.0 in gradle.properties
[x] Publish artifact to Maven Central
[x] Change version name back to 0.6.0-SNAPSHOT
[x] Merge the release branch back to master
[x] Tag v0.5.0-localization in GitHub

Post-release  @langsmith

[x] Update constants.js file in android-docs repo
[x] Generate updated javadocs and add to android-docs repo
[x] Update the version # in the Mapbox demo app

/cc: @mapbox/android

🏁🍾


Clean up unneeded object lookups...

In many cases in libhdf5 code we were doing an additional, unnecessary lookup for the NC *, which is not used in the libhdf5 code anyway. These are cleaned up in this PR. We still are doing two file lookups per call, one in the dispatch layer and one in libhdf5. (See my comment in #1056 for how this may be eliminated in a future effort.)
In nc4internal.c we had three different functions that did a file lookup, now nc4_find_nc_grp_h5() is where this code lives, and it accepts NULL parameters for whatever parameters the caller is not interested in (similar to nc_inq). The other functions are retained but now just call  nc4_find_nc_grp_h5() with some NULLs.
The function nc4_rec_find_nc_type() has been eliminated - now the nclist functions are called directly. This matches usage with vars, groups, atts, and other nclist lists.
Also removed unnecessary initialization of some variables that do not need it. Although in many cases the compiler will strip these initializations, we don't want to add extra code or extra operations we don't need. Some of these functions may be called from some very deep loops.
Also documentation fixes.
Part of #965.
Part of #856.

@WardF if we could get these merged, I will put up the fixes for the benchmarking programs. It would be good to get the working benchmarks into the release, as I am starting to use them for HPC performance testing.

Thanks!


Webui testing

Motivation for changes:
Testing the webui will prevent the missing of small bugs after changing some parts.
Detailed changes:

Create tests for everything

[ ] Plugins

[x] Components (Specific FlexGet components that form the main functionalities of the application. Plugins should be able to be disabled, components not)

[ ] Services -> Move plugin specific services to the plugins own folder (so it's a complete module that is able to work independently)

[x] Blocks (Reusable cross app stuff like Router, Error handler, URL interceptors, ... )

Create coverage reports and integrate tests with Jenkins and Codacy

[x] Coverage report

[ ] Integrate with Jenkins

[x] Integrate with Travis -> Should still check if possible to only run the tests once, in a node specific environment, instead of in all 4 python env.

[x] Integrate with Codacy

Create build process so we can run tests/visualise results in a browser? (modify example config from John Papa's Hottowel, which has this function, for our needs and structure)

[x] Create task for showing the specs and results in the browser

[x] Create reloading and rerunning task when files change

Misc stuff, nice to have

[ ] Check Deps for all separate modules, they should have the deps they directly use only, so they can work independently and not rely on dependencies loaded by other modules.

[ ] Check versions of all used bower packages, some might be able to be updated safely, also reducing the change of Travis or Jenkins failing because of an outdated package

[ ] Maybe add JSHinting to the process as well, clean up some code while I'm at it.

[x] Create mock data files, which can be used in the tests and updated when needed so we don't have to look through all the test files. Update the test-helpers when adding new tests!
Ideally we would have mock data files for each of the API endpoints, so we can keep them up to date when something changes in the API and use them whenever we need

Addressed issues:
No related issues, but will hopefully result in less issues in the future
Log and/or tests output (preferably both):
There currently are about 100 tests present. There are still some more to come,
Tests can be run using a browser, using the gulp serve-specs command, or from the command line, using the karma start command (Windows user might need to install karma-cli to be able to run this, ref: http://karma-runner.github.io/0.13/intro/installation.html)

hey @Tommatheussen hows this going??

It's almost done, I had to rewrite most of the stuff to be testable ;) Right now only the log and execute plugin are left to do, I hope they'll be ready to merge in next week

ok cool, looking fw to taking a proper look :D


aur-build: Sync pacman database after building everything in chroot

I build everything in chroot, and I noticed that I always need to sync pacman db afterwards, every single time. I have not seen a case yet when I would not want to sync pacman db after the build.
When building not in chroot, I believe pacman db is being synced after building every package. When building in chroot, it is enough to sync it once after all packages are built.
P.S. I think it's pretty safe to add /usr/bin/pacman -Sy in /etc/sudoers to not require sudo password for the sync - because there is no * in the end, commands like /usr/bin/pacman -Sy evil will still require password. I made this change to man page in a separate commit - if you disagree, I can remove that commit.

That does a partial upgrade on the host system. As packages in a chroot are built against potentially newer dependencies, the only correct approach is pacman -Syu (when building on the host, an -Syu is sufficient on the local repo only), however I don't want to impose a full system upgrade in aurutils.

Interesting, so the issue is not with with pacman -Sy per-se (because I'm not updating anything with this command), but with people incorrectly using pacman -S newpkg afterwards instead of upgrading their system before installing a new package?

Unlike other distributions Arch packages contain very little information on what packages they depend on (in particular, what .so versions). So it's easy to hose your system if you e.g. have an old openssl available but packages in a new database (retrieved from -Sy) assume a new one.


Allow a custom icon font prefix to be specified

For cases where the default prefix of 'fa ' is creating conflicts, the property icon-font-prefix (for Granite UI) and iconFontPrefix (for ClassicUI) can be specified. The special value '-' can be used to suppress any prefix. The property value will be automatically appended with a space if necessary.

@justinedelson this is the solution for this right? I know there was some chatter on gitter - Looks fine to me - just want to make sure we merge the right one.

Based on feedback, decided to go a different way in #571


Improve performance with shouldComponentUpdate

We noticed that the contents of Sticky were getting re-rendered on every single scroll event on the entire page. We weren't taking a huge performance hit but this feels a lot better. All of the examples work as before and tests all pass so I don't think this should introduce any regressions.

I suspect that the performance benefits will vary widely depending on what is being rendered inside the Sticky component.
This does need some further consideration any way you look at it. I had to revert our use of this change because it caused the contents of Sticky to not be updated when other, unbound props were changed. I'll look for a better solution.

That was my other concern, other props being passed through has bitten me many times on reusable components that I try to optimize.

I'm going to close this, since there are a few issues with it that don't have an obvious solution and I don't want to leave things sitting idle for an extended period of time. I'd be happy to discuss further in an issue if you want to make one!


[W4.4h][W13-3]ChelseyOng

Added a 'Rename tag' use case

@chelseyong You can close this PR after reviewing the comments.

Okay noted!


Main menu

Hi! I have added game modes. This is the first version. In future i'm going to do the following: main menu(options menu, generate word menu). UI: input, list, progress bar.

Great stuff! Just tested it locally and everything seems to look fine – besides some minor quirks:

One of the interfaces was not referenced correctly in the UI part (renamed it to make it compile)
Could you please look through the code and make it adapt as closely as possible to the overall coding style? It's not much to adjust – but it would be nice to merge it in without me editing your stuff without your knowledge.
Could you try to merge you commits into one single commit? So this pull request should only contain one single commit like "Adds first version of the new menu and game mode system" in the end. There are a lot of commits that are not even connected to your profile here on GitHub – Maybe a ghost?!
Where is my generate new world button! :D

If you need help with Git and all that good stuff – @Cervator and me are here to help.

Ah another one that is missing on the list: Could you make your (nick-) name look identical in all the code headers and add a TODO where the brief class description is missing.

1 . One of the interfaces was not referenced correctly in the UI part (renamed it to make it compile)

Hm, Can you please tell me, which interface references is not correctly? I thought I had checked everything thoroughly =(.

2 . Could you please look through the code and make it adapt as closely as possible to the overall coding style? It's not much to adjust – but it would be nice to merge it in without me editing your stuff without your knowledge.

Benjamin, Can you give me a link which describes the rules of our coding style?

3 . Could you try to merge you commits into one single commit? So this pull request should only contain one single commit like "Adds first version of the new menu and game mode system" in the end. There are a lot of commits that are not even connected to your profile here on GitHub – Maybe a ghost?!

Ok, I will do that.

4 . Where is my generate new world button! :D

She will be in the main menu "Generate a new world" =)

Ah another one that is missing on the list: Could you make your (nick-) name look identical in all the code headers and add a TODO where the brief class description is missing?
Ok, I will do that

In the file UIInput.java there is a reference to a file called UIClickListener which is actually called IClickListener. Maybe you could check out a clean version of your MainMenu branch and try to reproduce the error?
There are no complete coding guidelines. Just look through some of my files and try to reproduce it. There are just some minor issues like missing spaces in statements ("if (true)?true:false") and so on.

Just wanted to do the merging for you but... See for yourself! :-)
http://dl.dropbox.com/u/1899040/AntonPullRequest.png
Could you please create a new pull requests when you've worked out the issues? Thank you Anton!

Another option might be to push the branch independently to MovingBlocks, so we can all collaborate on fixing up the last bits, then merge to develop when ready :-)
I'd be happy to help out with code style stuff and that sort to make it fit in nicely.

How can I create single commit? =(

Git rebase :-)
http://book.git-scm.com/4_rebasing.html
If you check in via IntelliJ it gives you the option in a nice GUI (Rebase & Push after first doing Commit & Push)
Hop on IRC sometime and we can look at it together (when we both get on around the same time anyway) - http://wiki.movingblocks.net/Main/UsingIrc

Oh, just to put a last comment in this - pull complete, although possibly with a quirk or two on the network branch from some contexts :-)


hub --version redundant line

Running on Mac OSX, running git version 2.17.1 (Apple Git-112) and hub version 2.5.1, I get the redundant second line when doing hub --version:
hub --version
$ git version
git version 2.17.1 (Apple Git-112)
hub version 2.5.1

In pictures:

Do you have HUB_VERBOSE set in your environment by any chance? That value should only be used for debugging, not to be always on.

@mislav It is not set right now:

Oh, I checked in the wrong terminal window. It is set, sorry about that!


RAM clogging

Timings link
https://timings.pl3x.net/?id=dca17cebf71d42849eec3549852f13b8
Description of issue
RAM clogging
When server is running, the RAM is periodically clearing (

), but over time, more and more memory is used with each cleanup by a small amount. Because of this, server can't running all day! While I had all the RAM clogged, I made a heapdump, and here are the results of a memory leak: more than 90% is occupied by this class.

Purpur version
[08:46:31 INFO]: Checking version, please wait...
[08:46:32 INFO]: This server is running Purpur version git-Purpur-1400 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 144a08e on ver/1.17.1)
[08:46:32 INFO]: You are running the latest version
[08:46:32 INFO]: Previous version: git-Paper-"81d89f6" (MC: 1.17.1)
Agreements

[X] I am running the latest version of Purpur available from https://purpur.pl3x.net/downloads.
[X] I have searched for and ensured there isn't already an open issue regarding this.
[X] My version of Minecraft is supported by Purpur.

Other
I think you can add special parameter in purpur, that cleans memory, occupied by this class. Thank you.

We don't support offline mode servers. Additionally, it does not appear as though this issue is caused by Purpur.


Align depth and color frames saved in PNG format

Required Info

Camera Model
D435

Operating System & Version
{ Linux (Ubuntu 16.04)

Platform
PC

SDK Version
2.0

Language
{C++/python }

Issue Description
Hi,
I have captured some depth and color images with the following code:
rs2::frameset frames = pipeline.wait_for_frames();
rs2::depth_frame depth_frame = frames.get_depth_frame();
rs2::video_frame color_frame = frames.get_color_frame();
and save them both as png file using opencv imwrite().
Is there a way to align these depth and color images after they are saved in PNG format? I have studied the following examples:
https://github.com/IntelRealSense/librealsense/blob/master/examples/align/rs-align.cpp
https://github.com/IntelRealSense/librealsense/blob/jupyter/notebooks/distance_to_object.ipynb
but it appears in these examples that the alignment is done while the camera is streaming.
Thanks!
Any help will be appreciated.

Hi @yuxiang-ricky-zhang
This has been discussed several time on this forum. Once you have exported frames to PNG you have lost most of the data required to perform alignment.
For the purpose of offline processing we offer record-playback example, allowing you to save raw data with all required calibration into ros-bag file format.
Using this file format you can later feed it into any of the examples, including align.

Thanks!

@dorodnic , Can you tell what are the information needed to perform the offline alignment?

Required Info
Camera Model	D435
Operating System & Version	{ Linux (Ubuntu 16.04)
Platform	PC
SDK Version	2.0
Language	{C++/python }
Issue Description
Hi,
I have captured some depth and color images with the following code:
rs2::frameset frames = pipeline.wait_for_frames();
rs2::depth_frame depth_frame = frames.get_depth_frame();
rs2::video_frame color_frame = frames.get_color_frame();
and save them both as png file using opencv imwrite().
Is there a way to align these depth and color images after they are saved in PNG format? I have studied the following examples:
https://github.com/IntelRealSense/librealsense/blob/master/examples/align/rs-align.cpp
https://github.com/IntelRealSense/librealsense/blob/jupyter/notebooks/distance_to_object.ipynb
but it appears in these examples that the alignment is done while the camera is streaming.
Thanks!
Any help will be appreciated.

Hi
I am also facing the problem of aligning depth and rgb images  saved separately, Can someone suggest some technique to solve out this problem.
cheers

There's no api to align on image (after they are saved in image formats) levels in librealsense.. The alignment api works on frameset which has additional information (like scale paremeter, resolution, etc..) needed to align
So, you need to align the frames before saving them or same the frames in rosbag format (librealsense allows you to do that). And you can open the bag file and do what they are doing rs-align.cpp

Thank u for your reply.
When i am saving the image after aligning them there is loss and duplication of frames, how can i solve this problem?
cheers

Yes.. I haven't found a way to solve the loss. I am not sure what you mean by duplication..There will be more RGB frames than depth frames. Once way to handle that would be storing the frames with timestamp as file names and lookup color frame corresponding to the depth frame, as the timestamp of RGB & depth frames are synchronized.

Thank u for your quick response
cheers


[PE-D][Tester E] Result display box is cut off when the message is too long

When the error message is too long, the message display box is cut off. However this is a very low severity problem as it is a UI defect.

Labels: severity.VeryLow type.FeatureFlaw
original: weijianwong/ped#12

Not a bug


Implement Rill Cloud URL redirect for Digidayin (Rill cloud customer)

Issue
Implement a URL redirect for Digidayin
Importance
Customer wants to have a white-labeled Rill dashboard
Definition of Done
Dashboards at https://ui.rilldata.com/productdigidayin/digiday_rill should sit behind http://lens.digidayin.com/

@kaspersjo , @himadrisingh : Can one of you help here ?

@kaspersjo can we check the possibilities here.

There's a few challenges here:

Our frontend single page application rely on relative paths for all the in-app navigation, so it's not possible to remove the path element (productdigidayin/digiday_rill) from the URL, I'll let @ericpgreen2 comment on the effort to change this, but I'm expecting it'll require a non-feasible amount of work to support this on the application side

Given the above limitation we can realistically only do http://lens.digidayin.com/productdigidayin/digiday_rill, that would require us to:

Ask them to point  http://lens.digidayin.com/ to our cluster IP
Setup proxying to Netlify and issue HTTPS certs using the HTTP challenge (since we don't have DNS access)
Add lens.digidayin.com to all the relevant CORS configurations on runtimes and admin service
From my initial inspection it seems like the frontend application code will set the correct redirect URL on login requests to auth.rilldata.com, but some quirks might pop up here when testing this out

Given the above limitations and scope, do we want to proceed with a POC? @nishantmonu51 @rillsidd

Thanks @kaspersjo . I think these limitations are reasonable. Before we do anything, let me confirm with them. Maybe they can update project name and org name to be something else since it will be part of the URL.

If they can give us anything more in terms of access or do things on their end to make this easier, we can make the ask.

As Kasper said, changing the frontend's routing behavior would be large scope.
Another option to consider would be embedding w/ dashboard navigation. In our embedding docs, see:


chore: initial implementation

We don't have to merge this in but I want to share the progress I've already made

I'll wait on feedback from @nesterone and completion of #1 before merging.

Should we merge and then iterate?

yep


add multiple classifications  without network

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):arm-linux
TensorFlow installed from (source or binary):source
TensorFlow version (or github SHA if from source):tensorflow1.13.0
hello!
Users don't understand any code, and they may be in a environment without network. I'm using the classification algorithm model.How can users add multiple categories to the usage model? In addition, in model deployment, I use C + + to deploy the tflite model. What do I need to do on the tflite model node, hoping to give me a little idea?

@xzy-666 ,
We see that you are using tf version 1.13, 1.x is not actively supported, please update to 2.x and let us know if you are using same issue.Thanks!

hello, @tilakrayal
Personally, I think my question has little to do with tensorflow. It is more about forward reasoning.Thanks!

An example to run tflite with C++ API is here: https://www.tensorflow.org/lite/api_docs/cc/class/tflite/interpreter


I cant create portals

http://prntscr.com/k5e2l1
I cant create any portal the particle appear and then nothing works.

Not enough information. Try latest development build and create new issue if problems occur with an proper log


[Question]node_modules/react-native/packager/react-native-xcode.sh:No such file or directory

Is this a bug report?
no
Have you read the Bugs section of the How to Contribute guide?
yes
Environment

react-native -v:react-native: 0.46.4
node -v:v8.1.0
npm -v:none
yarn --version:0.24.6

Target Platform:iOS

Development Operating System:MacOs

Build tools:Xcode

Steps to Reproduce
1.open the xcode
2.click the run button
then the xcode report that:
Users/zty/Library/Developer/Xcode/DerivedData/iMetric-efzaxfdglbsyddhglsclbqijircq/Build/Intermediates/iMetric.build/Release-iphonesimulator/iMetric.build/Script-00DD1BFF1BD5951E006B06BC.sh: line 3: ../node_modules/react-native/packager/react-native-xcode.sh: No such file or directory

https://github.com/facebook/react-native/releases/tag/v0.46.4

I'll close this as it was correctly answered by @hose314.

@facebook-github-bot close


Does not install on mac

When I follow the installation instructions on my mac OS 10.13.4 using the following command:
pushd /usr/local/bin
ln -s pip3 pip
popd
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python3

then I get the following error message:
Retrieving metadata

Installing version: 0.7.0
  - Getting dependencies
Traceback (most recent call last):
  File "<stdin>", line 259, in <module>
  File "<stdin>", line 255, in main
  File "<stdin>", line 165, in run
  File "<stdin>", line 175, in install
  File "<stdin>", line 233, in call
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('pip', 'install', 'poetry==0.7.0', '--target', '/var/folders/py/9zg6845j2gb664dqkw24wn4w0000gn/T/poetry-installer-toi2v75x/dist')' returned non-zero exit status 2.

I tried installing the package via pip3 directly, but that does not install a poetry executable. If instead I try to run the package`s main function then I get this error message:
$ python3 -mpoetry
/usr/local/opt/python/bin/python3.6: No module named poetry.__main__; 'poetry' is a package and cannot be directly executed

Any ideas on how to get this to work?

Which pip version do you have?

$ pip --version
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

Could you download the get-poetry.py and execute it directly? To see if that changes things.

$ python3 get-poetry.py
Retrieving metadata

Installing version: 0.7.1
  - Getting dependencies
Traceback (most recent call last):
  File "get-poetry.py", line 259, in <module>
    sys.exit(main())
  File "get-poetry.py", line 255, in main
    return installer.run()
  File "get-poetry.py", line 165, in run
    return self.install(version)
  File "get-poetry.py", line 175, in install
    '--target', str(dist)
  File "get-poetry.py", line 233, in call
    return subprocess.check_output(args, stderr=subprocess.STDOUT)
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('pip', 'install', 'poetry==0.7.1', '--target', '/var/folders/py/9zg6845j2gb664dqkw24wn4w0000gn/T/poetry-installer-d4rwp_fs/dist')' returned non-zero exit status 2.

$ pip --version
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

I just updated the get-poetry.py script to get more detail about the error.
Could you reexecute it to see what the pip error actually is?
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

It looks like he's trying to install to the homebrew Python3 which would use pip3 and not pip.
Might be safer to use python -mpip?

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python3
Retrieving metadata

Installing version: 0.7.1
  - Getting dependencies
An error has occured: Command '('pip', 'install', 'poetry==0.7.1', '--target', '/var/folders/py/9zg6845j2gb664dqkw24wn4w0000gn/T/poetry-installer-o2j1mx7c/dist')' returned non-zero exit status 2.
b'Collecting poetry==0.7.1\n  Using cached poetry-0.7.1-py3-none-any.whl\nCollecting pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached pip_tools-1.11.0-py2.py3-none-any.whl\nCollecting requests-toolbelt<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached requests_toolbelt-0.8.0-py2.py3-none-any.whl\nCollecting pyrsistent<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\nCollecting requests<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached requests-2.18.4-py2.py3-none-any.whl\nCollecting pyparsing<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached pyparsing-2.2.0-py2.py3-none-any.whl\nCollecting cachy<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached cachy-0.1.1-py2.py3-none-any.whl\nCollecting cleo<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached cleo-0.6.5-py2.py3-none-any.whl\nCollecting toml<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\nCollecting jsonschema<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)\n  Using cached jsonschema-2.6.0-py2.py3-none-any.whl\nCollecting six (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached six-1.11.0-py2.py3-none-any.whl\nCollecting first (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached first-2.0.1-py2.py3-none-any.whl\nCollecting click>=6 (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached click-6.7-py2.py3-none-any.whl\nCollecting setuptools (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached setuptools-39.0.1-py2.py3-none-any.whl\nCollecting certifi>=2017.4.17 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached certifi-2018.1.18-py2.py3-none-any.whl\nCollecting urllib3<1.23,>=1.21.1 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached urllib3-1.22-py2.py3-none-any.whl\nCollecting chardet<3.1.0,>=3.0.2 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached chardet-3.0.4-py2.py3-none-any.whl\nCollecting idna<2.7,>=2.5 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached idna-2.6-py2.py3-none-any.whl\nCollecting pylev<<IP_ADDRESS>,>=<IP_ADDRESS> (from cleo<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached pylev-1.3.0-py2.py3-none-any.whl\nCollecting pastel<<IP_ADDRESS>,>=<IP_ADDRESS> (from cleo<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)\n  Using cached pastel-0.1.0-py3-none-any.whl\nInstalling collected packages: six, first, click, setuptools, pip-tools, certifi, urllib3, chardet, idna, requests, requests-toolbelt, pyrsistent, pyparsing, cachy, pylev, pastel, cleo, toml, jsonschema, poetry\nException:\nTraceback (most recent call last):\n  File "/usr/local/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main\n    status = self.run(options, args)\n  File "/usr/local/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run\n    prefix=options.prefix_path,\n  File "/usr/local/lib/python3.6/site-packages/pip/req/req_set.py", line 784, in install\n    **kwargs\n  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 851, in install\n    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)\n  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files\n    isolated=self.isolated,\n  File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 247, in move_wheel_files\n    prefix=prefix,\n  File "/usr/local/lib/python3.6/site-packages/pip/locations.py", line 153, in distutils_scheme\n    i.finalize_options()\n  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/install.py", line 248, in finalize_options\n    "must supply either home or prefix/exec-prefix -- not both")\ndistutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both\n'

After running the last line through echo -e I get this output:
Collecting poetry==0.7.1
  Using cached poetry-0.7.1-py3-none-any.whl
Collecting pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached pip_tools-1.11.0-py2.py3-none-any.whl
Collecting requests-toolbelt<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached requests_toolbelt-0.8.0-py2.py3-none-any.whl
Collecting pyrsistent<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
Collecting requests<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached requests-2.18.4-py2.py3-none-any.whl
Collecting pyparsing<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Collecting cachy<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached cachy-0.1.1-py2.py3-none-any.whl
Collecting cleo<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached cleo-0.6.5-py2.py3-none-any.whl
Collecting toml<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
Collecting jsonschema<<IP_ADDRESS>,>=<IP_ADDRESS> (from poetry==0.7.1)
  Using cached jsonschema-2.6.0-py2.py3-none-any.whl
Collecting six (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting first (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached first-2.0.1-py2.py3-none-any.whl
Collecting click>=6 (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached click-6.7-py2.py3-none-any.whl
Collecting setuptools (from pip-tools<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached setuptools-39.0.1-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached certifi-2018.1.18-py2.py3-none-any.whl
Collecting urllib3<1.23,>=1.21.1 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached urllib3-1.22-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached chardet-3.0.4-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached idna-2.6-py2.py3-none-any.whl
Collecting pylev<<IP_ADDRESS>,>=<IP_ADDRESS> (from cleo<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached pylev-1.3.0-py2.py3-none-any.whl
Collecting pastel<<IP_ADDRESS>,>=<IP_ADDRESS> (from cleo<<IP_ADDRESS>,>=<IP_ADDRESS>->poetry==0.7.1)
  Using cached pastel-0.1.0-py3-none-any.whl
Installing collected packages: six, first, click, setuptools, pip-tools, certifi, urllib3, chardet, idna, requests, requests-toolbelt, pyrsistent, pyparsing, cachy, pylev, pastel, cleo, toml, jsonschema, poetry
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 247, in move_wheel_files
    prefix=prefix,
  File "/usr/local/lib/python3.6/site-packages/pip/locations.py", line 153, in distutils_scheme
    i.finalize_options()
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/install.py", line 248, in finalize_options
    "must supply either home or prefix/exec-prefix -- not both")
distutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both

Apparently this is a known problem with Homberew Python. See: https://stackoverflow.com/a/24357384
I recommend using pyenv to manage your python versions.

Ok, as I don't have this problem with pipenv, I'll just stick with that for now.
I'll give poetry another shot when this issue gets resolved.

@winni2k I won't be able to resolve this issue since it is not caused by poetry but by how homebrew install Python versions.

Fair enough. The more I read about homebrew python, the more it looks like pyenv is probably a saner solution.


Save options state in projects.json

This refers to saving the state of the "build row" when you close / open the app.
Specifically: which builds to compile and whether to use auto-compile or compile-once.


Document required Kubernetes version

We should document required Kubernetes version for new users under deploy as a prerequisite.

@ahmelsayed What version do we need?

I'd stick to >= 1.13

Apparently it's already documented under FAQ > "What are the prerequisites for using KEDA?" that it requires Kubernetes cluster >= 1.11.10 but we might want to bump it to 1.13

@tomkerkhove let's bump it to 1.13

I'll pick this up!


Swap Notation for annotate_snippets::snippet::Snippet

This is an attempt at using annotate_snippets::snippet::Snippet for the API, however I'm having issues with ownership and lifetime of the strings returned in the Snippet structures, so this is still WIP.

What's the reason for using strfmt? Couldn't Diagnostic have a Display instance instead, that does e.g.
    match *diag {
        BadCharacter(span, byte) => {
            write!(f, "Invalid character (byte value {byte}); Metamath source files are limited to \
                      US-ASCII with controls TAB, CR, LF, FF)", byte = byte)?
        }

Thank you Mario!

continuation passing style is exactly what I need for passing the snippets,
also using the format! macro instead of strfmt, as you suggested,
as we're getting all the diagnostics in a single function call, all generic T returned by CPS are collected in a Vec<T>,
I'm using Cow's to pass the labels: either static or formatted strings,
I using an Arena to ensure these live long enough (that's also an idea taken from the MM0 code)
There are still some issues with line counting and span size, so this is still WIP for now

This addresses one of the items of API issues #35.


"Could not load System.Management.Automation.dll" error message shown when addin loaded on Mac

I have a cake script that we share between Mac and Windows computers, and there are a set of tasks for managing Windows Services (obviously only executed on Windows computers).
Annoyingly, though, just adding the #addin line for Cake.Services causes the following warning to be shown prominently before any other actions I execute when run on a Mac:
Could not load tools/Addins/Cake.Services.0.3.5/lib/net46/System.Management.Automation.dll (missing Microsoft.Management.Infrastructure, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35))
While I understand that this addin naturally expects to run only on Windows, I'm not aware of any way to conditionally run preprocessor directives in my cake script when run in Windows vs on a Mac. Is there any way I can keep these scripts functional when run on Windows without generating this prominent warning on Macs?

Closing as over a year old and not really an issue with the addon but rather a limitation of Cake.


fabSpeedDial.show(); don't work

Hi
I implemented your lib today to replace my floatingActionButton.
I set your FabSpeedDial with visibility setted as "gone" in my xml but when I call fabSpeedDial.show();, it simply doesn't work.
I does with the original fab.
Why do you check "if (!ViewCompat.isAttachedToWindow(this))" ?
thank you for your work

It's just belt & braces. Would it not work for you if you made it invisible?

I tried both gone and invisible and is doesn't show
So I guess maybe the isAttachedToWindow is the problem


[Question] How can I pass parameters to another coordinator/viewModel

Hello. At first, thanks for the great library!
I have a question but can't find the answer. Is there a way what with I can pass one or a few parameters to my "module"?
Notes: I use the architecture which in common looks like MVVM. There are a few minor differences. But at first glance, it shouldn't affect the general way of implementing.
So. I have an MVVM module that is used frequently through my app. For example, let it be the module helps a user to select a country. But sometimes I need to configure this module with parameters that are received from another one. Is there any way for it?
Below you can see the part of code for example.
final class UnauthenticatedCoordinator: BaseNavigationCoordinator {
    let stack = NavigationStack(initial: \UnauthenticatedCoordinator.start)

    @Root var start = makeStart
    @ViewBuilder func makeStart() -> some View {
        OnBoardingBuilder(router: self, di: di).view
    }

    @Route(.push) var recovery = makeRecovery
    @ViewBuilder func makeRecovery() -> some View {
        // In this place I wanna add some parameters
        SelectCountryBuilder(di: di).view()
    }
}

It seems a frequent task to me and I'm a little bit confused that I couldn't figure out it.

Hi!
I'm not the author of Stinsen but I may be able to help.
You can define your route builder with a parameter:
    @Route(.push) var recovery = makeRecovery
    @ViewBuilder func makeRecovery(_ dependency: YourDIType) -> some View {
        // In this place I wanna add some parameters
        SelectCountryBuilder(di: dependency).view()
    }

Then, you can route to this view using .route(to: \.recovery, myDependency).
It works because of Stinsen's heavy use of generics (.route is actually defined with multiple overloads, many of which take a generic argument Input).

@perfaram yeah! It is what I needed.
Great thanks!


New midpoint data 07.15.16

Usual location, reflecting progress done on Ind_30
FC: MidPoints_Master_20160715
@talllguy question: For a new Revisit, I populated the "description" field as "REVISIT -- 2nd XS"...will that translate over to the update without problem, or should I eliminate the spaces? This is for swale ID Category_2A_142_Ind30_10

@cmolivi spaces are fine within the description field. The underscores are only there because that is how they are in the original data names. We could eliminate the _ from the titles too, simplify them, or really make them anything you want.


Add Vault implementation details for the Frontiers Vault paper submission

We want to discuss the specific technologies involved and how they are configured. Linking to actual code and documenting how the code works.
Use case: Another open source/science software development team could read the paper and know how to implement a Vaults type feature in their system. Say there is some COINSTAC that specializes in hearts instead of brains and they needed to do something like this.
Another perspective is to write up something that is detailed enough that if we didn't already implement Vaults we would have the details we needed to implement it.

Vince says this would be a good value add. It's not necessary that there is enough detail to rebuild this feature for submission, but it fits the spirit of reproducibility and open science. This is especially reasonable if we can do it in a single paragraph.

[ ] Mention Docker
[ ] Mention Vaults are abstractly equivalent to users
[ ] Link to code and getting started documentation

We may be able to borrow some vocabulary and thoughts on how Vaults integrate with the greater ecosystem here: https://oreoni.github.io/04/data.html

Why are doing this?

Show how it leverages existing patterns in the application. KISS. Advantages of this are leverage things like UI components and how user security is managed.
Engineering readers may be curious and want to know how it is built and how works. Teach them both architectural patterns and software development principles.
Attract and ramp up contributors.
Get feedback on our designs for future work.

Ross feels like it is kind the same old stuff we've been doing. It is an extension of how the normal client will work.
Works how the user workflow works. Vault client consumes data in a more automated and static way. It wasn't a huge jump to implement. Leverages the current system pretty much entirely. One dev was able to implement it. 400-500 lines of code and some adjustments.
How does the current user workflow/client work? Receives notifications with meta data on how to run. Pipeline server receives API call on internal server from graphql to start a pipeline. Then the remote node starts first, then the clients get notifications to join. Through graphql subscriptions, which is a web socket. Using Apollo for client side JavaScript. We can have several Vault clients running together. They are kind of collaborative like users would be. Challenge is normalizing and relating the data together.
How it is different? Uploads data to S3. Vault client has a small percentage of GUI client. Instead of having an API server listening for a call to start a pipeline, it is listening on a subscription. It is more like a server sitting to waiting on data. It is completely decoupled from the GUI. Vault node can be several clients at once. Big difference is how data is required. Users need to choose from static data set. This is displayed in the UI so folks can choose Vaults. A challenge here is have the Vault data map itself to arbitrary pipelines. Normally real world users can map data in a way that makes sense.
All of our Vaults are on one server. In the future, could put it out in Kubernetes. This would make sense if we had more load, like number of computations running that hog CPU bandwidth or RAM. Offloading the docker/container system would be most of the load. It works like a normal client does. There is a container for every run of a Vault client. What is a run? A run is an instance of a pipeline on a consortia. A consortia has many runs and many pipelines. Runs are a real world instantiation of pipelines. When we click start, that is a run. Graphql is listening for new runs. That is the change document is it looking for. At the moment, we only have one active run per consortia. But many consortia can leverage a Vault. We say the Vault user is the template we are mapping to. Normally we choose how to map as users, with Vaults we do this ahead of time.
Future work? Resource management of 1. devops / hardware specs / load balancing 2. front-end API perspective like by managing runs, instances, or connections. Currently we manually map data for Vaults. In the future could normalize the data into a big transfer table (this is something missing in our field in general!). Or put it on the users uploading Vaults to follow standards more closely. Could be standards for imaging data. Standardizing in how you actually process things can accentuate things that are worthy of analysis.
What is the name of the S3 buckets and server for me to examine?
What existing COINSTAC packages are we leverage and how are they used?

https://s3.console.aws.amazon.com/s3/buckets/coinstac-run-assets?region=us-east-1&tab=objects
https://s3.console.aws.amazon.com/s3/buckets/coinstac-run-assets-dev?region=us-east-2&tab=objects

Other approaches:

Add to supplementary section
Link to Github code or documentation/wiki

What goes in the methods section?

Vault system

How it is built
How to use it

as a user
as a data owner

How it is helpful

Curated vaults

What are they
How they are helpful

Add in Github data.

Need to build off of the COINSTAC and Vaults Use Cases sections. See related task: https://github.com/trendscenter/coinstac/issues/1667


gluster: Update to support Heketi backups

Needed to update the container and the deployment to mount
the database backup secret as a volume.

lgtm


Add cloud fraction diagnostics

This PR adds cloud fraction diagnostics based on diagnosed covariances.

Note that since you are changing the type/struct of the cache, this will be a breaking change.

Note that since you are changing the type/struct of the cache, this will be a breaking change.

It's because I'm renaming env_thermo_quad int SG_quad?

Note that since you are changing the type/struct of the cache, this will be a breaking change.

It's because I'm renaming env_thermo_quad int SG_quad?

You are also changing its type to be a subtype of AbstractSGSamplingType.
I don't think anyone downstream uses this, but if the cache is supposed to be a public interface, this will change it.

Note that since you are changing the type/struct of the cache, this will be a breaking change.

It's because I'm renaming env_thermo_quad int SG_quad?

You are also changing its type to be a subtype of AbstractSGSamplingType.
I don't think anyone downstream uses this, but if the cache is supposed to be a public interface, this will change it.

I'll consider if I stand behind my name changes enough to do the release, or revert them

Note that since you are changing the type/struct of the cache, this will be a breaking change.

It's because I'm renaming env_thermo_quad int SG_quad?

You are also changing its type to be a subtype of AbstractSGSamplingType.
I don't think anyone downstream uses this, but if the cache is supposed to be a public interface, this will change it.

I'll consider if I stand behind my name changes enough to do the release, or revert them

You shouldn't feel constrained by this. Also, in the past people changed the cache all the time.

For computing the Smagorinsky length scale I changed from
        l_smag =
            c_smag *
            ᶜdz *
            max(0, 1 - N_eff^2 / ᶜPr / (2 * ᶜstrain_rate_norm))^(1 / 4)

to
N_eff > FT(0) && N_eff < sqrt(2 * Pr * ϵ_st) ?
           c_smag * dz * (1 - N_eff^2 / Pr / 2 / ϵ_st)^(1 / 4) : c_smag * dz

Otherwise the max was giving me zeros almost all the time and was making the whole length scale equal to zero. Does that look reasonable @tapios , @szy21 ?
Additionally I had to change the EnvBuoyGrad struct to pass in also the liquid and ice cloud condensate for the NonEquilibrium moisture option. I think I can do it more elegantly, but maybe in the next PR.
The changes in allocations are small. So if the above two issues are fine, I would bump the version, bump the allocations and merge it in.

For computing the Smagorinsky length scale I changed from
        l_smag =
            c_smag *
            ᶜdz *
            max(0, 1 - N_eff^2 / ᶜPr / (2 * ᶜstrain_rate_norm))^(1 / 4)

to
N_eff > FT(0) && N_eff < sqrt(2 * Pr * ϵ_st) ?
           c_smag * dz * (1 - N_eff^2 / Pr / 2 / ϵ_st)^(1 / 4) : c_smag * dz

Otherwise the max was giving me zeros almost all the time and was making the whole length scale equal to zero. Does that look reasonable @tapios , @szy21 ?

I think it makes sense that mixing length goes to zero when buoyancy gradient is larger than strain rate, in which case it will reduce to one quadrature point (or we can do many quadrature points with the same value, as the variance is zero). It is common for mixing length to be zero during the spin-up, as we start with zero velocity and the shear is zero. I don't fully understand why this term is still mostly zero after e.g. 6 hours of bomex, which is why I haven't use this as a lower limit for mixing length. But I think we can figure out that later.
So, in short, I think it would be better to keep the check for N_eff > FT(0) but remove N_eff < sqrt(2 * Pr * ϵ_st) for now, and make sure the cloud diagnostics work with zero mixing length.

So, in short, I think it would be better to keep the check for N_eff > FT(0) but remove N_eff < sqrt(2 * Pr * ϵ_st) for now, and make sure the cloud diagnostics work with zero mixing length.

It seems weird to have this logic:
N_eff < 0   =>   l_smag = c_smag * dz
0 < N_eff <  sqrt(2 * Pr * ϵ_st)  =>   l_smag = 0
N_eff > sqrt(2 * Pr * ϵ_st) => c_smag * dz * (1 - N_eff^2 / Pr / 2 / ϵ_st)^(1 / 4)
The couple of cases I tried worked with zero (co)variances, just produced no cloud fraction. Thats why I was looking for ways to make the estimated (co)variances larger.

So, in short, I think it would be better to keep the check for N_eff > FT(0) but remove N_eff < sqrt(2 * Pr * ϵ_st) for now, and make sure the cloud diagnostics work with zero mixing length.

It seems weird to have this logic. I would at least want to make things smooth between the different limits
N_eff < 0 => l_smag = c_smag * dz
0 < N_eff < sqrt(2 * Pr * ϵ_st) => l_smag = 0
N_eff > sqrt(2 * Pr * ϵ_st) => c_smag * dz * (1 - N_eff^2 / Pr / 2 / ϵ_st)^(1 / 4)
The couple of cases I tried worked with zero (co)variances, just produced no cloud fraction. Thats why I was looking for ways to make the estimated (co)variances larger. But maybe you are right, that the CI does not provide meaningful conditions to really test it

The original logic (truncating c_smag * dz by a stratification factor) is fine for vertical mixing. It's possible we need to think about fluctuations generated by horizontal SGS motions (i.e., similar logic with horizontal gradients and a horizontal mixing length).
When you do not get clouds at all, that means the mixing length is also zero near the top of the boundary layer?

It seems weird to have this logic. I would at least want to make things smooth between the different limits
N_eff < 0 => l_smag = c_smag * dz
0 < N_eff < sqrt(2 * Pr * ϵ_st) => l_smag = 0
N_eff > sqrt(2 * Pr * ϵ_st) => c_smag * dz * (1 - N_eff^2 / Pr / 2 / strain_rate)^(1 / 4)

I think the logic is actually:
N_eff < 0 => l_smag = c_smag * dz
0 < N_eff < sqrt(2 * Pr * ϵ_st) => c_smag * dz * (1 - N_eff^2 / Pr / 2 / strain_rate)^(1 / 4)
N_eff > sqrt(2 * Pr * ϵ_st) =>  l_smag = 0
(i.e. switch the second and third lines). Isn't this smooth?

I think the logic is actually: N_eff < 0 => l_smag = c_smag * dz 0 < N_eff < sqrt(2 * Pr * ϵ_st) => c_smag * dz * (1 - N_eff^2 / Pr / 2 / strain_rate)^(1 / 4) N_eff > sqrt(2 * Pr * ϵ_st) => l_smag = 0 (i.e. switch the second and third lines). Isn't this smooth?

You are right. This makes more sense!

When you do not get clouds at all, that means the mixing length is also zero near the top of the boundary layer?

I will add mixing length to the output tomorrow and see how it looks in the spherical plots from longer simulations.
Below are some quick plots after 2 days of sphere_held_suarez_rhoe_equilmoist_topography_dcmip from our CI. Thanks to @Sbozzolo new diagnostics and analysis utilities.

Looks pretty reasonable! When you plot relative humidity, could you do it in some such way that RH > 1 on the grid scale is clearly recognizable? I'd like to see where you actually have grid-scale supersaturation.

Here is the Smagorinsky mixing length for the same simulation


Some adjustment issues

I'm using a 1024x768 (125x47) terminal and I'm getting some adjustment issues on the dashboard demo:

As you can see, the bars chart bars gets too wide, so it wrap itself. They should use Math.floor() instead of Math.ceil() for adjustment. Also, there are empty lines between widgets wasting screen space, and finally in the progress bar the background don't get filled under the overlay text, being the background filled all or nothing.

Thanks @piranna !
I agree the demo is not "responsive" and some of the elements have a fixed width which makes them not adequate for some resolution.
WRT the bar chart, I think the issue is that the default width in bar.js is 6. Try to change it to 3.
There is a defect in the progress bar that when it overlaps with text it does not color the background of the text. Not something terribly hard to fix, just didn't get to that yet.
Also in your screenshot the chart values are filled with questions mark. I assume this is because you are on windows and do not have Braille fonts. You could try in a Linux VM to get a better view (or install Braille on windows but I have not found the source for it yet)
Yaron

WRT the bar chart, I think the issue is that the default width in bar.js is 6. Try to change it to 3.

I'm fetching automatically the code, how could I modify it, doing an ad-hoc fork and using it for testing? Where should I change it exactly?

There is a defect in the progress bar that when it overlaps with text it does not color the background of the text. Not something terribly hard to fix, just didn't get to that yet.

Ah, ok :-) As a suggestion, when you look at it, you would try to use some vertical block Unicode characters to get a better progress bar... A lot more complex, but the eyecandy would be awesome... :-D

Also in your screenshot the chart values are filled with questions mark. I assume this is because you are on windows and do not have Braille fonts. You could try in a Linux VM to get a better view (or install Braille on windows but I have not found the source for it yet)

In fact... it's a linux VM! :-P It's a screenshot of a running NodeOS instance :-) Linux console in text mode is not able to show all the Unicode characters (only by using framebuffer). I've just crafted a psf font based on Unifont that includes the braille patterns (although not the Unifont ones but a cleaner alternative I've crafted) and some more graphic symbols, when it's ready I'll publish it on NodeOS repository. At least, the test I've done on my Ubuntu machine show it's working and it's pretty nice... :-D

I've been thinking about the empty lines and though a solution would be to round the accumulated coordinates (position) instead of the widget size, this way instead of rounding all of them to the floor being conversative so widgets doesn't overlate, rounding the accumulated coordinates some of them would be smaller than their correct size (due to floor rounding, like as this moment) but other would get one more row/column (round to ceil), filling all the blank rows and columns. The same maybe it's possible to be done with the cart bars, but maybe in this case the better is to round all of them to floor so they are all of the same width.

WRT bar charts, @flatiron32 has been doing some work around it recently, you should try the latest version from today.
Great idea about vertical block chars, let's see when I get time to implement that.
Not sure I understand the idea about line spaces. Would accumulating actual positions rather than width could mean that some widgets on the same "level" will not be aligned?
If you want to change the bar chart just clone the repo and the code is in /widget/charts/bar.js. Layout code is in /layout/grid.js. Both are very short. If you come with something interesting please send a PR ;-)
Really looking forward to see a dashboard screenshot with your font!

Not sure I understand the idea about line spaces. Would accumulating actual positions rather than width could mean that some widgets on the same "level" will not be aligned?

I'm not talking about width but about height. I don't believe they could get not aligned if they are not too complex schemes, and since the split is done by "all equal", then probably will never be. An example about what I'm saying: split 10 rows for 3 widgets. 10/3 = 3.33, so widget heights will be [1-3.33], [3.33-6.66] and [6.66-10], that by adjusting the acumulated row to the nearest one (prev+1 for begin and floor() for end) will result in [1-3], [4-7], [8-10], giving sizes 3+4+3=10, while by simply round()or floor() the widget size from their corresponding position would give [1-3], [4-6], [8-10], leaving the row 7 empty.
Charts and layout could be made more responsive, yes :-) Maybe removing fixed sizes and using proportions, similar to what I said in the previous paragraph, and maybe combining it with horizontal scrollable boxes for when they are too tiny, for example :-) Unluckily I don't have time at this moment :-(
I've been able to use the font on my Ubuntu machine :-) but I can't make it work on NodeOS, setfont is difficult to compile and later it didn't worked don't know why... :-/

Thanks @piranna, that makes sense and I will add it to the pipeline. Please keep this feedback coming, great ideas!

You are welcome :-)


Unify argument errors (continue)

Unifying the error messages for length checking in the rest of the classes.
benchmarking f54dc3e582496de9dd459c3858a38ff3844c3f54
benchmarking 3a8ae31e9ef7e1bed0007c9d15a7e4374625ab7e
x86_64-darwin17
benchmark                              old ns/op     new ns/op     delta
BenchmarkBasicMath/add-8               3239          3234          -0.15%
BenchmarkBasicMath/subtract-8          3158          3287          +4.08%
BenchmarkBasicMath/multiply-8          3250          3152          -3.02%
BenchmarkBasicMath/divide-8            3337          3175          -4.85%
BenchmarkConcurrency/concurrency-8     7862254       7397854       -5.91%

benchmark                              old allocs     new allocs     delta
BenchmarkBasicMath/add-8               33             33             +0.00%
BenchmarkBasicMath/subtract-8          33             33             +0.00%
BenchmarkBasicMath/multiply-8          33             33             +0.00%
BenchmarkBasicMath/divide-8            33             33             +0.00%
BenchmarkConcurrency/concurrency-8     53465          53516          +0.10%

benchmark                              old bytes     new bytes     delta
BenchmarkBasicMath/add-8               1568          1568          +0.00%
BenchmarkBasicMath/subtract-8          1568          1568          +0.00%
BenchmarkBasicMath/multiply-8          1568          1568          +0.00%
BenchmarkBasicMath/divide-8            1568          1568          +0.00%
BenchmarkConcurrency/concurrency-8     2725831       2729690       +0.14%
Switched to branch 'unify_argument_errors_cont'

If it is OK, I'll squash and merge them.

Is it OK to merge? > @st0012