Issues noted with egeria distribution assemblies

When reviewing the assembles build for v1.0 I noticed the following:
(Source: https://nexus.odpi.org/content/repositories/snapshots/org/odpi/egeria/open-metadata-assemblies/1.0/ )
SOURCES
open-metadata-assemblies-1.0-sources.tar.gz contains an archive where though the file name is correct, the top level directory in the unpacked tree is:
egeria-sources-${open.metadata.version}

Note that the variable is not expanded - this is literally the file name...
It also does not seem to contain any useful source - it's contents are only:
➜  Downloads gunzip -c open-metadata-assemblies-1.0-sources.tar.gz | tar -tf -
egeria-sources-${open.metadata.version}/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/conformance-suite/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/omag-client/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/omag-server/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/ui/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/main/
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/main/assemblies/
egeria-sources-${open.metadata.version}/open-metadata-packages/
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-adapter-package/
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-caller-package/
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-client-package/
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-native-package/
egeria-sources-${open.metadata.version}/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/conformance-suite/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/omag-client/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/omag-server/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/docs/ui/README.md
egeria-sources-${open.metadata.version}/open-metadata-assemblies/pom.xml
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/main/assemblies/egeria-omag.xml
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/main/assemblies/omag-server.xml
egeria-sources-${open.metadata.version}/open-metadata-assemblies/src/main/assemblies/src-package.xml
egeria-sources-${open.metadata.version}/open-metadata-packages/README.md
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-adapter-package/README.md
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-adapter-package/pom.xml
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-caller-package/README.md
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-caller-package/pom.xml
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-client-package/README.md
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-client-package/pom.xml
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-native-package/README.md
egeria-sources-${open.metadata.version}/open-metadata-packages/open-metadata-native-package/pom.xml
egeria-sources-${open.metadata.version}/open-metadata-packages/pom.xml
egeria-sources-${open.metadata.version}/pom.xml

DISTRIBUTION
The distribution file is open-metadata-assemblies-1.0-distribution.tar.gz . The first level directory was egeria-omag-1.0 - ie correct.
Within this we have a clients directory containing files - for example
➜  clients jar -tf asset-catalog-client-1.0.jar
META-INF/
META-INF/MANIFEST.MF
org/
org/odpi/
org/odpi/openmetadata/
org/odpi/openmetadata/accessservices/
org/odpi/openmetadata/accessservices/assetcatalog/
org/odpi/openmetadata/accessservices/assetcatalog/client/
org/odpi/openmetadata/accessservices/assetcatalog/AssetCatalogInterface.class
org/odpi/openmetadata/accessservices/assetcatalog/client/AssetCatalog.class
META-INF/maven/
META-INF/maven/org.odpi.egeria/
META-INF/maven/org.odpi.egeria/asset-catalog-client/
META-INF/maven/org.odpi.egeria/asset-catalog-client/pom.xml
META-INF/maven/org.odpi.egeria/asset-catalog-client/pom.properties

However by itself this isn't useable as there is no documentation for the dependencies, nor are they included in the jar archive
Note that the server (and UI) are built into composite jars, and these can be launched from the server directory in the above archive
Not checked conformance suite but note that it contains:
➜  conformance-suite ls -la
total 45144
drwxr-xr-x  5 jonesn  staff       160  6 Jun 08:35 .
drwxr-xr-x  8 jonesn  staff       256  6 Jun 08:30 ..
-rwxr-xr-x  1 jonesn  staff       552  5 Jun 17:24 README.md
-rwxr-xr-x  1 jonesn  staff  23036457  5 Jun 17:42 open-metadata-conformance-suite-1.0-jar-with-dependencies.jar
-rwxr-xr-x  1 jonesn  staff     66584  5 Jun 17:41 open-metadata-conformance-suite-1.0.jar

In a distribution we should probably only include the larger composite jar, though should likely rename the file.
OMAG
This contains only the server chassis (as expected) though we should probably name the top level directory in the archive something aligned with the name of the distribution rather than 'servers'
➜  Downloads gunzip -c open-metadata-assemblies-1.0-omag-server.tar.gz| tar -xvf -
x servers/omag-server-1.0/server-chassis-spring-1.0.jar
x servers/omag-server-1.0/resources/application.properties
x servers/omag-server-1.0/resources/banner.txt
x servers/omag-server-1.0/README.md
x servers/omag-server-1.0/LICENSE
x servers/omag-server-1.0/NOTICE

1.1-SNAPSHOT
If we then look at the current 1.1 build snapshot we see the same :
https://nexus.odpi.org/content/repositories/snapshots/org/odpi/egeria/open-metadata-assemblies/1.1-SNAPSHOT/
CONCLUSION
This is not an error with the 1.0 distribution so we will ship to maven central. Rather it applies to our distribution archives generally which need to be modified.
This isn't a significant issue currently since most users of egeria are also building it, or making use of maven artifacts to build connectors/adapters.

I suggest we use this issue to review & decide how we wish to distrubute assemblies for egeria (ie archives)

A package containing clients only?
SDK for these developing adapters
Including necessary dependencies?
Including more docs?
Verification/test of assemblies
another release mechanism other than embedded within a maven artifact - for example a binary on github (since maven is more developer focussed)


PHP debugging breakpoints broken

Issue Type: Bug
Ever since the last update, I am unable to select debugging breakpoints within any PHP file.  Breakpoints are working fine in other types of files.
VS Code version: Code 1.52.0 (940b5f4bb5fa47866a54529ed759d95d09ee80be, 2020-12-10T22:45:11.850Z)
OS version: Windows_NT x64 10.0.18362
Remote OS version: Windows_NT x64 6.3.9600

Please file this against your php debugging extension


Introduce a SQLConnectionDataSet

Description
Split from #879
Creates a new SQLConnectionDataSet class that allows users to loads a sqlalchemy Connection object using credentials, which they can then manipulate within a node. This can allow users to do significant amounts of data manipulation in SQL (e.g. on a remote server) without having to load the result into memory via Pandas.
Development notes

Created new class that only implements the _load method
Added tests in new tests/sql directory

Checklist

[x] Read the contributing guidelines
[x] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[x] Updated the documentation to reflect the code changes
[x] Added a description of this change and added my name to the list of supporting contributions in the RELEASE.md file
[x] Added tests to cover my changes

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Unfortunately I think need to close this for reasons outlined here.


fix service account is forbidden

fix podmonitor failed to list *v1.Pod: pods is forbidden
#2300

This change needs to be made in jsonnet and the yaml generated off the back of that. Also this change looks to wide open in terms of RBAC permissions to solve the reported issue. Should only need get list and watch on Pods and Endpoints.


Great Guidance!

Thank you for the great articles on multi-tenancy!

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

ID: 3dcf8c74-76ad-791a-f3ea-b32cea81a2cb
Version Independent ID: 2c6ad81c-6f0f-e056-17cc-37793c125277
Content: Azure SQL Database multitenant app example - Wingtip SaaS
Content Source: articles/sql-database/saas-dbpertenant-wingtip-app-overview.md
Service: sql-database
GitHub Login: @stevestein
Microsoft Alias: sstein

@DavidEaton Thank you so much for the positive feedback! I will let @stevestein know that he knocked it out of the park with this documentation. Regards, Mike


ROMS-Kauffman grid appears to be incorrectly stretched

ROMS-Kauffman-TwoDData.png.log
ROMS-Kauffman-TwoDData.png.vs3.zip

ROMS-Kauffman-Volume.png.log
ROMS-Kauffman-Volume.png.vs3.zip

@StasJ re-assigning this to you. If these data are loaded from the GUI and displayed with the default session everything looks correct. If I used the attached session file I get the same results are reported above.  In the session file you have attached the map projection string is set to:
+proj=eqc +ellps=WGS84 +lon_0=20.1187 +lat_0=46.1279
However, the default projection string computed by the GUI is
+proj=eqc +ellps=WGS84 +lon_0=196.769\+lat_0=46.1279
If the projection string is changed to the default calculated by the GUI everything looks ok. Not sure where the projection string in the offending session file is coming from.

So far I can't figure that out either but I don't think its related to the python API. I tried multiple build configurations on my mac and I cannot reproduce the issue in either the GUI or the Python API. When I run the mac weekly installer, however, the issue presents itself in the GUI. On CentOS if I build an installer, the GUI works, but the python api built with Conda does not.

I can't reproduce the problem with the Version: 3.6.1.b24d5b828 installer on my Mac. I wonder if this is related to #3220. There seems to an inconsistency in which libgeotiff libraries are being used. Perhaps we table this until @sgpearse sorts the issue out and we have the right libgeotiff library (1.7.1) installed everywhere.

So it turns out this was just a bug that was coincidentally fixed in the last week which explains why it was so difficult to reproduce :shrug:.


Discussions

In the interest of reducing clutter, can we enable discussions for this repo?  I’d like to talk about a webassembly co_await implementation.

This is great!

Moved to discussion
https://github.com/boostorg/beast/discussions/2271


Testing mindset written exercises

@locker1776 Looks good! If you could submit these as Github Gists in the future, that would be preferred. Thanks!


Exposing embeddings?

The cost to generate embeddings isn't too bad, however it can take an absolute age if your corpus is  large. It might be useful to expose the generated embedding data that is used via the API so that it can be shared.
Some use-case:

I want to quickly pull your polymath library on to my client and process it there.
I want to share it for research so that others don't have to spend the time generating
I want to use it permanently across sites (web.dev and developer.chrome.com could easily share the same corpus)

Potential solutions:

We just dump the raw libraries into a central place (huggingface?)
Expose an .rawData() on PolymathEndpoint that returns the data so each of our instances can export it (assuming egress is cheap...)

This is very close to @jkomoros's idea that libraries should be as close to just being a JSON file stored at a URL.


Add error message when input files are not found

@golaz suggested we should add an error message in the zppy ts task when the input files are not found. Currently, input.txt becomes empty and ncclimo returns an obscure message about an incorrect number of input files for climatology (because it reverts to climo instead of ts mode).

e.g., ncclimo: HINT Provide input filenames in multiples of 12


Support for requests that return gzip

Some requests, like salesReports API don't return json, but gzip - node-app-store-connect-api currently fails on these, as contentType is application/a-gzip, and so the control pass to this line: https://github.com/dfabulich/node-app-store-connect-api/blob/89e86820510b4573855050ec2dddd8a679cd0acb/index.mjs#L137
There, the gzip binary is returned as text, and in read function, the destructuring assigment doesn't find anything to destructure and returns undefined.

I've modified the code, like this:
import { gunzipSync } from 'node:zlib'

if (contentType === 'application/a-gzip') {
    const arrayBuffer = await response.arrayBuffer();
    const decoded = gunzipSync(new Buffer.from(arrayBuffer)).toString()
    text = decoded
} else {
    text = await response.text();
}

... and to my surprise, I found that the report is not json, but TSV (tab separated values).
So, the module will have to add another output mode, where it returns the TSV.


I2C Scanner not working

I2C Scanner not working
There is a missing initialization in the   I2CScannerClass::Run() function in the  I2CScanner.cpp  file.
In order to correct the bug, just add         Wire.begin(); after the line 5 : M5m.update();
@botofancalin

Tnx for reporting. Check the latest commit. I Added the wire initialization to I2C setup on M5StackMod class.


Add .end() API

This API should:

cleanup
stop advertising
disable the BLE device.

Based on discussion from #47.
cc/ @dakoner @linuxdevel

New end API added in 1c4c7563e61df4fe7a4acbb50f6b54db123a5d61.


added validation

@builderjer think you can look into #2 and maybe rebase this one on top?

I am merging this, and will add more for the production unit soon.  This at least allows detection for the dev unit.


When using OGM in project, ClassGraph class is not found

When using latest version of OGM, Creating a new session fails due to Caused by: java.lang.ClassNotFoundException: io.github.classgraph.ClassGraph
I checked the POM file under the JAR created for OGM-core and the Dependency does exists.
Any ideas?

Please share the dependencies part of your pom. Classgraph is a required dependency and apparently, it is missing in your project.

My mistake, working now. thanks!


Add .social parser

Add it, discovered here: https://github.com/sensu-plugins/sensu-plugins-network-checks/issues/61

Thanks @mpchadwick. I'm going to close this issue as there are several parsers missing, and it creating a ticket with a request for each of them is going to create a lot of noise in the issue tracker.
Feel free to provide a PR and I'll happily review it.


Decouple UnitOfWork from Hydrators

Q
A

Type
improvement

BC Break
no

Fixed issues

Summary
Hydrators currently get the UnitOfWork injected directly. This leads to a circular dependency, as the DocumentManager needs a HydratorFactory, but the HydratorFactory needs a UnitOfWork instance which can't exist without a DocumentManager. To resolve this, HydratorFactory no longer takes a UnitOfWork instance, and generated hydrators instead take the UnitOfWork instance exposed by the document manager.
This PR also moves a method from UnitOfWork to the DocumentManager as it's not tied to UnitOfWork.
Note that this PR is only the first of a few refactorings necessary to properly decouple things from UnitOfWork, with the goal of having UnitOfWork represent a single set of persistable document changes. Removing the circular dependency also allows us to make hydrator factories configurable, which is important to leverage the new codec infrastructure in the PHP driver and thus speed up a lot of hydration operations.

Are the shared cluster tests somehow relevant to this PR?

Are the failing shared cluster tests somehow relevant to this PR?

Nope, they have been failing for a while now and I haven't had a chance to dig into it and figure out what's causing them.


Update to v3.2.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Looks like the patch now applies:
Patch analysis gives:
[[ RA-MD1LOVE ]] - [[                             0001-Add-missing-defines-for-CentOS-6.patch ]]
[[ RA-MD1LOVE ]] - [[                 0002-Allow-relative-paths-for-system-config-files.patch ]]

...but then we run into:
+LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib
/home/conda/feedstock_root/build_artifacts/podman_1634789328980/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/ccePq6wF.o: in function `main':
:(.text.startup.main+0x8): undefined reference to `setns'
collect2: error: ld returned 1 exit status

The build seems to keep on going and wants to download podman and finally fails on:
make: Leaving directory '$SRC_DIR/src/github.com/containers/podman'
2021-10-21T04:15:02.7631109Z go: downloading github.com/containers/podman v1.9.3
2021-10-21T04:15:09.2986348Z go get<EMAIL_ADDRESS>updating to
2021-10-21T04:15:09.2987245Z<EMAIL_ADDRESS>parsing go.mod:
2021-10-21T04:15:09.2987776Z 	module declares its path as: github.com/containers/libpod
2021-10-21T04:15:09.2988345Z 	        but was required as: github.com/containers/podman

@conda-forge-admin, please rerender

Same error as previously, unfortunately:
make: Leaving directory '$SRC_DIR/src/github.com/containers/podman'
go: downloading github.com/containers/podman v1.9.3
go get<EMAIL_ADDRESS>updating to
<EMAIL_ADDRESS>parsing go.mod:
	module declares its path as: github.com/containers/libpod
	        but was required as: github.com/containers/podman

That seemed to work (the error was about the missing license), so it seems go-licenses is broken for this repo


Cancellable Requests

LSP reports cancelling requests.  I believe cancelling requests that have already been started would be difficult, but cancelling requests that have not been started yet shouldn't be too difficult. I this could be implemented with 2 threads and a queue.

Perhaps https://github.com/CodingCellist/idris2-buffered-channels would be useful if we modified it a bit


Initial commit making the lattice control folder a real provider

There are a couple of things in this PR, some subtle and some blunt.
The blunt thing is that the lattice-controller folder is now designed to be the single source of truth for the lattice control interface, which can in turn be used by either the lattice controller client library or capability providers/actors.
There are some things in here that are preparations for fast-follow features in the OTP runtime:

annotations - In order for the lattice controller/observer to work, annotations need to be able to be  pinned to instances of running entities like providers and actors. https://github.com/wasmCloud/wasmcloud-otp/issues/232.
provider configuration - the StartProviderCommand now takes a configuration field (optional) that will ultimately be used to supply base64-encoded JSON as per-provider configuration rather than per-actor (e.g. linkdef). https://github.com/wasmCloud/wasmcloud-otp/issues/219
the host inventory data shape has changed to properly represent running instances of a given actor

There has to be a suitable "a real boy" Pinocchio quote for this PR.


Add f-string

Fix bug in https://github.com/open-mmlab/mmdetection/issues/4042#issue-733933244 .

 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.


PyCon KE 2017

- title: PyCon Kenya 2017
  dir: pycon-ke-2017
  youtube_list:
    - https://www.youtube.com/playlist?list=PLGMI6pYdNJXcaKJ_ai89bmiqfU_aRh9yI
  related_urls:
  - label: Conference schedule
    url: https://web.archive.org/web/20180818151308/https://i2.wp.com/blog.leicunnstudio.com/wp-content/uploads/2017/11/pyconkeprog.png?ssl=1
  language: eng
  dates:
    begin: 2017-09-28
    end: 2017-09-28
    default: 2017-09-29
  issue: 380
  minimal_download: true
  tags:

Thanks to @mrmoje for telling us that the talks were filmed, videos are currently in production and they will add them to pyvideo once they materialize on youtube/vimeo

Now tracked in #579


Issue 49 - Game name fix + New JSDoc

🔄 Enhanced JavaScript Logic and Documentation

Revised the JavaScript code to automatically replace a non-existent game name with a dash for an improved user experience.
Updated the JSDoc documentation to align with the latest changes and improvements in the codebase.

This press release is related to #49. And this PR fixes it.

I like your js doc so ima add that but Ill be adding every score manually so we don't need that check. <3


I got an error when I was import angr

It gives me this:
Traceback (most recent call last):
File "E:\Document\porgram\科研项目\src\angr_other_learn\angr-utils\examples\myExample\test.py", line 1, in
import angr
File "D:\Program Files\Anaconda3\lib\site-packages\angr_init_.py", line 22, in
from .utils.formatting import setup_terminal
File "D:\Program Files\Anaconda3\lib\site-packages\angr\utils_init_.py", line 5, in
from . import enums_conv
File "D:\Program Files\Anaconda3\lib\site-packages\angr\utils\enums_conv.py", line 6, in
from ..protos.primitives_pb2 import Edge
File "D:\Program Files\Anaconda3\lib\site-packages\angr\protos_init_.py", line 10, in
from . import primitives_pb2
File "D:\Program Files\Anaconda3\lib\site-packages\angr\protos\primitives_pb2.py", line 5, in
from google.protobuf import descriptor as _descriptor
ImportError: cannot import name 'descriptor' from 'google.protobuf' (unknown location)
here is the sourse code
import angr
it gives me the error in the first line of the code.
I don't know what is going on, and I coudn't find effective solutions on Google. please help me

Hey. Sorry for my late response, I hope you could solve it in the meantime.
This repository is just a CFG visualization utility for 'angr', but except for the name, it has no relation to the 'angr' project at all.
You should try to ask for help on the official angr slack channel: https://angr.io/invite/

The only purpose of this utility is to visualize the control flow graphs, created by the 'angr' CFG analysis. If you see that the displayed CFG-s are not correct or complete, it has a high chance that the problem is with the CFG-s created by angr, and not with the visualization.
The error displayed above indicates that angr failed to resolve the jumptable correctly, because it doesn't know how to interpret the Iop_CasCmpNE64 VEX instruction. This will lead to inaccurate or partial CFGs, because it will not know on which addresses to continue the CFG recovery, so even a large portion of your control flow graph could be missing. To solve the error above, you would need to add handling of that instruction to angr or create a custom jump table resolver for your binary. Also, you can try to submit an issue to the angr project, and wait till someone picks it up, or ask for help about it on the slack channel, maybe someone already has a solution or help you where to start with it. They really have a supportive community.
I don't use angr since like 5-6 years, so I have no idea, what is the current status of the project in supporting various binaries.


Content packs not autoloading (docker compose)

Referring to https://github.com/Graylog2/graylog-docker/issues/32
I have the same issue but when using docker-compose.yml
Here is my stack:
  mongo:
    image: mongo:4.2
    restart: on-failure:3

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.0
    env_file: .env_elasticsearch
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      resources:
        limits:
          memory: 1g
    restart: on-failure:3

  graylog:
    image: graylog/graylog:4.0
    env_file: .env_graylog
    entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh
    depends_on:
      - mongo
      - elasticsearch
    ports:
      - 9999:9000
      - 12201:12201/udp
      - 12401:12401/udp
    restart: on-failure:3
    volumes:
      - ./graylog/contentpacks:/usr/share/graylog/data/contentpacks

content packs are linked with volume, the .env_graylog file contents are:
GRAYLOG_CONTENT_PACKS_AUTO_INSTALL=nginx.json
GRAYLOG_CONTENT_PACKS_DIR=data/contentpacks
GRAYLOG_CONTENT_PACKS_LOADER_ENABLED=true

When I log into graylog's panel I only see the nginx pack in the list of available packeges, but need to install it by clicking the button.
As you can see I have added depends_on to the yaml so graylog should start after mongo and elastic.
What else should I do?

@j4r3kb Thanks for the report. This is a bug in the auto-installer code which will be fixed in https://github.com/Graylog2/graylog2-server/pull/10216.


Scorecard output warns me about missing a plugin I didn't try to use

Bug Report
What did you do?
I ran operator-sdk scorecard --basic-tests --cr-manifest deploy/crds/name_v1alpha2_name_cr.yaml --csv-path deploy/olm-catalog/name-operator/0.0.2/name-operator.v0.0.2.clusterserviceversion.yaml --olm-deployed --namespace operators against my Ansible operator I deployed to our OpenShift 3.11 environment.
What did you expect to see?
I expected no external plugins to be attempted to run.
What did you see instead? Under which circumstances?
This bug is about the second line of the output.
INFO[0000] Using config file: /home/me/operator-name/name-operator/.osdk-scorecard.yaml
WARN[0000] Plugin directory not found; skipping external plugins: stat scorecard: no such file or directory
Basic Tests:
       Spec Block Exists: 1/1
       Status Block Exists: 1/1
        Writing into CRs has an effect: 0/1
OLM Tests:
        Provided APIs have validation: 0/2
        Owned CRDs have resources listed: 0/1
        CRs have at least 1 example: 1/1
        Spec fields with descriptors: 0/3
        Status fields with descriptors: 0/1

Total Score: 45%

Environment

operator-sdk version:
operator-sdk version: v0.10.0, commit: ff80b17737a6a0aade663e4827e8af3ab5a21170

go version:
go version go1.10.4 linux/amd64

Kubernetes version information:

Kubernetes cluster kind:

oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0                                                                                features: Basic-Auth GSSAPI Kerberos SPNEGO

openshift v3.11.135
kubernetes v1.11.0+d4cacc0

Are you writing your operator in ansible, helm, or go?
Ansible

I'm glad to test this within my abilities.

On the plus side, this seems to be resolved with operator-sdk 0.11.0.
On the negative, it may be because I can't run at all anymore as all those command options are no longer valid and I can't figure out how to duplicate them in the config. Any help with that?


Update readme to use Poser nuget package instead of Pose

@motcke I believe I updated the README. Did I miss a spot?

I'm talking about this

Oh. Yes. That should definitely be fixed. Thank you for pointing it out.


it's very laggy

I don't know if it's the problem with my machine.
When writing and deleting it will delay from a few hundred seconds to a few seconds to display the content.
Is there a way when writing, can write all the content and load the suggestion after stopping writing, and when deleting do nothing.
I'm a Fan of fast sublime text.
https://user-images.githubusercontent.com/33823245/125932176-ff3e66a1-8992-4a20-b7cb-9723cca90c01.mp4

Personaly I don't have the same problem here, but I have a cranked up Macbook Pro so I'm not a reference.

I cannot seem to reproduce this.
Can you provide the contents of your tailwind.config.js file?
Also, can you try with another project to see if the lag is happening there also?
Here is one tailwindcss project that works fine on my end:
git clone https://github.com/ParamagicDev/tailwind-example
cd tailwind-example
npm i
subl .

And just to confirm,
The lag is gone when you disable the LSP-tailwindcss plugin from the command palette with  Package Control: Disable Package?

I am sure that when I disable lsp-tailwind there is no delay anymore.
When I was still using sublime text 3 I installed tailwind CSS Autocomplete and also got a slight delay, I reinstalled sublime text 4 and installed lsp-tailwind and it felt so delayed that it was unusable.
Is it because my configuration is too weak, I only have 8Gb of ram.

I will close this, because I cannot reproduce it.
Feel free to reopen it, but please provide a repro repo.

In theory a large numbers of completions could trigger something like that. Happens something to me with typescript server when it's returning ~5000 of completions or more.

disable colors and components you don't need


Unable to use destroy cluster created using examples/hpc-cluster-small.yaml

Describe the bug
When destroying a cluster created using examples/hpc-cluster-small.yaml
terraform -chdir=<dir> destroy

everything works but the network is unable to be destroyed because it complains that the firewall is still using the network.
module.network1.module.vpc.module.vpc.google_compute_network.network: Destroying... [id=projects/climate-modeling-285614/global/networks/lopez-net]
module.network1.module.vpc.module.vpc.google_compute_network.network: Still destroying... [id=projects/climate-modeling-285614/global/networks/lopez-net, 10s elapsed]
╷
│ Error: Error waiting for Deleting Network: The network resource 'projects/climate-modeling-285614/global/networks/lopez-net' is already being used by 'projects/climate-modeling-285614/global/firewalls/lopez-net-iyvrmjzsszuzmmbd5kdofnu3-4'

Steps to reproduce
Steps to reproduce the behavior:

Create a cluster
Destroy the cluster

Expected behavior
Everything in the cluster should be destroyed and the destroy command should return without an error.
Actual behavior
As described above I get an error that the firewall is still using it. Using the console to delete the network manually works.
Version (ghpc --version)
[main] hpc-toolkit: ./ghpc --version
ghpc version v1.0.0

Blueprint
If applicable, attach or paste the blueprint YAML used to produce the bug.
blueprint_name: hpc-cluster-small

vars:
  project_id: climate-modeling-285614
  deployment_name: lopez
  region: us-central1
  zone: us-central1-c

deployment_groups:
- group: primary
  modules:
  # Source is an embedded module, denoted by "modules/*" without ./, ../, /
  # as a prefix. To refer to a local or community module, prefix with ./, ../ or /
  # Example - ./modules/network/vpc
  - source: modules/network/vpc
    kind: terraform
    id: network1

  - source: modules/file-system/filestore
    kind: terraform
    id: homefs
    use: [network1]
    settings:
      local_mount: /home

  - source: modules/compute/vm-instance
    kind: terraform
    id: compute
    use:
    - network1
    - homefs
    settings:
      instance_count: 8
      name_prefix: lopez-compute
      machine_type: c2-standard-60

Expanded Blueprint
If applicable, please attach or paste the expanded blueprint. The expanded blueprint can be obtained by running ghpc expand your-blueprint.yaml.
Disregard if the bug occurs when running ghpc expand ... as well.
blueprint_name: hpc-cluster-small
validators:
- validator: test_project_exists
  inputs:
    project_id: ((var.project_id))
- validator: test_region_exists
  inputs:
    project_id: ((var.project_id))
    region: ((var.region))
- validator: test_zone_exists
  inputs:
    project_id: ((var.project_id))
    zone: ((var.zone))
- validator: test_zone_in_region
  inputs:
    project_id: ((var.project_id))
    region: ((var.region))
    zone: ((var.zone))
validation_level: 1
vars:
  deployment_name: lopez
  labels:
    ghpc_blueprint: hpc-cluster-small
    ghpc_deployment: lopez
  project_id: climate-modeling-285614
  region: us-central1
  zone: us-central1-c
deployment_groups:
- group: primary
  terraform_backend:
    type: ""
    configuration: {}
  modules:
  - source: modules/network/vpc
    kind: terraform
    id: network1
    modulename: ""
    use: []
    wrapsettingswith: {}
    settings:
      deployment_name: ((var.deployment_name))
      project_id: ((var.project_id))
      region: ((var.region))
  - source: modules/file-system/filestore
    kind: terraform
    id: homefs
    modulename: ""
    use:
    - network1
    wrapsettingswith: {}
    settings:
      deployment_name: ((var.deployment_name))
      labels:
        ghpc_role: file-system
      local_mount: /home
      network_name: ((module.network1.network_name))
      project_id: ((var.project_id))
      region: ((var.region))
      zone: ((var.zone))
  - source: modules/compute/vm-instance
    kind: terraform
    id: compute
    modulename: ""
    use:
    - network1
    - homefs
    wrapsettingswith:
      network_storage:
      - flatten(
      - )
    settings:
      deployment_name: ((var.deployment_name))
      instance_count: 8
      labels:
        ghpc_role: compute
      machine_type: c2-standard-60
      name_prefix: lopez-compute
      network_self_link: ((module.network1.network_self_link))
      network_storage:
      - ((module.homefs.network_storage))
      project_id: ((var.project_id))
      subnetwork_self_link: ((module.network1.subnetwork_self_link))
      zone: ((var.zone))
  kind: terraform
terraform_backend_defaults:
  type: ""
  configuration: {}

Execution environment

OS: macOS
Shell: bash
go version: go version go1.18.3 darwin/arm64

Additional context
Add any other context about the problem here.

So the documentation indicates that this is because some resources were added outside terraform, but I did no such thing I just used the sample yaml file with some minor modifications. The slurm version has the same problem, so I am a bit confused about whether this is expected behaviour or not.

Hi Sameer,
Your organization may have automatically created firewall rules that were added to this network after the creation. We made a decision to not automate the deletion of resources created because it was impossible to guarantee we would not delete something important.
To list the firewall rules in the network you created by hpc-cluster-small:
gcloud compute firewall-rules list --filter network=hpc-small-net --project <your-project-id>

Once you made sure you want to delete these, you could automate the process by doing something like this:
FWRULES=$(gcloud compute firewall-rules list --filter network=hpc-small-net --project hpc-toolkit-demo --format 'csv[no-heading](name)')
for rule in $FWRULES; do gcloud compute firewall-rules delete $rule; done && terraform -chdir=hpc-small/primary destroy -auto-approve

Here I have automated so that gcloud will ask you before it deletes anything. However, it is possible that your organization policy restores the rules fast enough that the terraform delete may still fail. If that is the case, and you are absolutely sure you want to delete all the rules, then you can add the option --quiet to gcloud, which will accelerate the process.
Please let me know if this solves your problem.


RuntimeWarning: overflow when running ARIMA example

I'm trying to use PyFlux on a Windows 10 64-bit machine with Python 3.4 (Anaconda with NumPy 1.11.2 and SciPy 0.18.1). I installed PyFlux 0.4.0 using Christoph Gohlke's precompiled wheel. However when I run the ARIMA example from the documentation, when I fit the model, I get the following result:
C:\Anaconda3\lib\site-packages\scipy\stats\_continuous_distns.py:84: RuntimeWarning: overflow encountered in square
  return -x**2 / 2.0 - _norm_pdf_logC
ARIMA(4,0,4)
======================================================= ==================================================
Dependent Variable: sunspot.year                        Method: MLE
Start Date: 1704                                        Log Likelihood: -1180.5324
End Date: 1988                                          AIC: 2381.0648
Number of observations: 285                             BIC: 2417.5897
==========================================================================================================
Latent Variable                          Estimate   Std Error  z        P>|z|    95% C.I.
======================================== ========== ========== ======== ======== =========================
Constant                                 2.6396     1.0944     2.412    0.0159   (0.4947 | 4.7846)
AR(1)                                    1.8146     0.1035     17.5364  0.0      (1.6118 | 2.0174)
AR(2)                                    -0.606     0.2661     -2.2776  0.0227   (-1.1275 | -0.0845)
AR(3)                                    -0.8672    0.2707     -3.2031  0.0014   (-1.3979 | -0.3366)
AR(4)                                    0.6084     0.1074     5.6638   0.0      (0.3978 | 0.8189)
MA(1)                                    -0.6369    0.0958     -6.648   0.0      (-0.8246 | -0.4491)
MA(2)                                    -0.5629    0.1497     -3.7595  0.0002   (-0.8563 | -0.2694)
MA(3)                                    0.2923     0.1207     2.421    0.0155   (0.0557 | 0.5289)
MA(4)                                    0.2367     0.0684     3.4602   0.0005   (0.1026 | 0.3707)
Sigma                                    15.2314
==========================================================================================================

Do you have any thoughts on what could be going wrong and how it could be fixed?

Thanks for reporting. It looks like it returned the results okay; the problem seems to be that during optimization one of the squared terms (y-mean) become very large, hence why it raised the overflow warning. This may not actually be a major problem as the optimizer has dealt with it and escaped a bad likelihood region, but it ideally the models shouldn't hit these types of problem at all - I tend to experience overflow based issues most frequently with the GAS models.
As a resolution, I will look to do following in future versions:

Better starting optima for ARIMA models
Alternative coding of the log-likelihood to circumvent overround issues

But again, I stress that it looks like it may not actually be a problem in your case above.

Thank you!

Warnings have been temporarily suppressed - may want to unremove if more clever routines to avoid temporary overround and nan slice problems in optimization are avoided.


Support generating types for overloaded functions

LANDRegistry has two functions with the name exists but with different param types. Running yarn codegen produces this error:
ERROR TS2300: Duplicate identifier 'index/LANDRegistry#exists'.

   exists(assetId: U256): bool {
   ~~~~~~
 in index.ts(693,2)

This was fixed with #252.


transcribing things I didn't say

it thinks I'm saying "thank you" apparently when I talk it transcribes what I say but when I don't talk it transcribes endless "thank you"

    import Speech_rec as sr
    from RealtimeSTT import AudioToTextRecorder # has to be implemented in the main script

    if __name__ == '__main__':
        record = AudioToTextRecorder()
        wakeup = AudioToTextRecorder(wake_words="jarvis")
        listener = sr.listener(record, wakeup)

        listener.run()

    class listener:
        def __init__(self, recorder, wakeup):
            self.recorder = recorder
            self.recorder.stop()
            self.sleep = True
            self.wakeup = wakeup

        def listen(self):
            rec = ""
            rec = self.recorder.text()
            return rec

        def sleep_mode(self):
            self.sleep = True
            print("Sleep mode enabled")
            self.recorder.stop()

        def run(self):
            print("Wait until it says 'speak now'")
            if not self.sleep:
                self.recorder.start()
                command = self.listen()
                print(f"Command:. {command}")
                if'sleep' in command.lower():
                    self.sleep_mode()
                    return None
                else:
                    return command.lower()
            elif self.sleep:
                self.wakeup.start()
                print("Wake up command ('jarvis')")
                command = self.wakeup.text()
                if command != None:
                    self.wakeup.stop()
                    self.sleep = False
                    print(command)
                    print("good morning")
                   self.recorder.start()

this is my whole code (oh it also wakes up on it's own)

Use only one recorder. Creating two recorders is overkill because you load the transciption models 2x into your VRAM.
Leave out self.recorder.start(). Just to recorder.text(), it will detect when you start speaking. You get "thank you" etc. because recorder.start() initiates recording immediately, then everything you say and also what you NOT say gets transmitted to whisper. And for the parts where you say nothing whisper tends to hallucinate ("thank you" is a common whisper hallucination).
So you should call only the recorder.text() method, then voice activity will detect when to start recording and it will hallucinate way less. If you really want to call recorder.start() you want to make sure you start talking immediately after that.


Define project goals

As this project is being restarted/reinvigorated I wanted to publicly discuss what I see as the overarching goals of the project. These are not items to tackle in a single PR or anything like that but every PR should be somehow supporting one of the goals. These are based on things I saw, both good and bad, as I read through and started tinkering with the current codebase.

Improve the coverage of the public Ceph API. This work can be considered complete
when all of the current, non-deprecated, Ceph APIs are usable through go-ceph.
Maintain that API coverage if and when the Ceph API is updated.
Aim for 100% test coverage (according to golang native coverage tool)
Convert highly non-idiomatic APIs to more idiomatic equivalents and deprecate
the non idiomatic versions
Document the API for all public types and functions.
Work on testing/tooling to ensure no memory leaks when translating between
the Ceph API and Go.
Handle both new and deprecated APIs such that the bindings can be used
with a (reasonable) set of Ceph versions.
Define a release cycle and release process

Depending on how the discussion goes we might want to put this in a document or something like that. Are there any goals you think I'm missing? Disagree with any of the above? etc.

Including @nixpanic and @ansiwen as you've expressed interest in the project in other channels.

A release process and some planning would be good to have. #75 and #92 are related to that. What would be needed to get an initial version tagged/branched?

I like the plan outlined by Noah in #92 as well as his suggested version. I feel the code coverage is simply too low to consider the project in anything but a "0.x" state.
I think a library like this would benefit from a time based release. As long as there are no major regressions or test failures on master declaring a release should be simple. I'm thinking something like a 3 month cycle too.
However, I also want to review the plan mentioned above to make sure it is compatible with go modules, which is something else I think the project should aim at supporting.

For reference:

Go modules blog series: https://blog.golang.org/using-go-modules
Go wiki: https://github.com/golang/go/wiki/Modules
Note that I'm not advocating doing modules immediately, just that I want to make sure we don't do anything incompatible that would make the transition to modules harder.

I see nothing with the branching & tagging strategy previously proposed that's an issue but I'm even more strongly for starting at v0 because modules really really wants v1 to have a fully backwards compatible api and I think we need time to go over some of the more "hairy" apis and decide if we want to lock them in or not.

Since I'm already kind of using this issue as a kind of project meta-thread....
@nixpanic @ansiwen are you both OK with becoming proper reviewers for this project? I keep feeling funny having to merge my own stuff with the force flag even after getting a proper approving review. :-)

Sure, I’m ok with that.
John Mulligan<EMAIL_ADDRESS>schrieb am Mi. 11. Dez. 2019 um
20:51:

Since I'm already kind of using this issue as a kind of project
meta-thread....
@nixpanic https://github.com/nixpanic @ansiwen
https://github.com/ansiwen are you both OK with becoming proper
reviewers for this project? I keep feeling funny having to merge my own
stuff with the force flag even after getting a proper approving review. :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ceph/go-ceph/issues/112?email_source=notifications&email_token=AB3OQHIPXKDZI3C2AFJLDL3QYFAB3A5CNFSM4JT6EGFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGULLSI#issuecomment-564704713,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3OQHLWC2JWPQCSYQYS3H3QYFAB3ANCNFSM4JT6EGFA
.

I'm happy to help out with reviewing, and other maintenance tasks for this repo. Thanks!

I created a note for a missin statement here.
At the moment it's just a brain dump from me and I deliberately didn't read anything here before, because I wanted to see what I come up with without "influence". :-) Now we can add the stuff that has been mentioned here already and we still want to have in it.


[SPARK-4948] Use pssh.

Replace some bash-isms with calls to pssh to neatly parallelize cluster operations.
Remove unnecessary code to pre-approve SSH keys.
Decrease questionably high sleep times.

Pinging @pwendell about making branch-1.3 the default branch per the discussion above.

Done, thanks guys.
On Tue, Jan 13, 2015 at 6:28 PM, Nicholas Chammas<EMAIL_ADDRESS>wrote:

Pinging @pwendell https://github.com/pwendell about making branch-1.3
the default branch per the discussion above.
—
Reply to this email directly or view it on GitHub
https://github.com/mesos/spark-ec2/pull/85#issuecomment-69859799.


Incorrect tuple type narrowing

TypeScript Version:  2.8.1
Search Terms: Strict tuple, stricter tuples, tuple type narrowing, tuple union type, conditional tuple
Code
type x = [string]
type y = [string, number]
type z = x | y

function f(arg: z) {
	if (arg[1] !== undefined) {
		const result = arg      // z; should be y
		const first = result[1] // string | number; should be number
		return first
	} else {
		return undefined
	}
}

Expected behavior:
I would expect the type system to narrow the types based on unions of tuples.
Actual behavior:
Doesn't happen.
Playground Link:
http://www.typescriptlang.org/play/#src=type x %3D [string]
type y %3D [string%2C number]
type z %3D x | y

function f(arg%3A z) {
	if (arg[1] !%3D%3D undefined) {
		const result %3D arg      %2F%2F z%3B should be y
		const first %3D result[1] %2F%2F string | number%3B should be number
		return first
	} else {
		return undefined
	}
}
Related Issues:

I should also mention that this also doesn't work for "tagged" tuple unions either.
type x = ["x"]
type y = ["y", number]
type z = x | y

function f(arg: z) {
	if (arg[0] === "x") {
		const result = arg      // z; should be y
		const first = result[1] // string | number; should be number
		return first
	} else {
		return undefined
	}
}

I'm creating some functions to work around this issue and I'm getting some issues using function overloads as well.
type w = ["w", string]
type x = ["x"]
type y = ["y", number]
type z = w | x | y

function f(arg: w): string
function f(arg: x): undefined
function f(arg: y): number
function f(arg: z): string | number | undefined {
	if (arg[1] !== undefined) {
		return arg[1]
	}
}

const a = f(["w", "hello"])
const b = f(["x"])
const c = f(["y", 10])

let value: z | undefined
if (value) {
	const data = f(value) // Doesn't work.
}

Similar issue, but this is more precisely the one I'm dealing with in my code.

Types of property 'length' are incompatible.

type w = ["w", string]
type x = [string]
type z = w | x

function f(arg: w): string
function f(arg: x): undefined
function f(arg: z): string | number | undefined {
	if (arg[1] !== undefined) {
		return arg[1]
	}
}

const a = f(["w", "hello"])
const b = f(["x"])

let value: z | undefined
if (value) {
	const data = f(value) // Doesn't work.
}

You can do this now by testing for arg.length === 2
We could potentially add e.g. arr[7] === undefined as a special type guard for tuples. Is checking the length instead a good solution for you?

Nice, but that won't cover a situation where you have multiple tuples of the same length. It also doesn't work with a simply typeof check.
type w = [number, string]
type x = [string]
type y = [string, number]
type z = x | y

function f(arg: z) {
	if (typeof arg[1] === "number") {
		const result = arg      // z; should be y
		const first = result[1] // string | number; should be number
		return first
	} else {
		return undefined
	}
}

playground

Actually #26424 should fix this

Yeah the posted example works as long as you don't introduce the CFA-defeating result indirection on the second line in the if body

#10530

I have a silimar related issue. Is there any reason TS cannot narrow the tuple types in this case?
type S = [string];
type N = [number];

function fn(param: S | N) {
  if (typeof param[0] === 'number') {
    param; // S | N; expected N
  } else {
    param; // S | N; expected S
  }
}

Tested in playground's "Nightly" compiler.


SPARK-11258 Remove quadratic runtime complexity for converting a Spark DataFrame into an R data.frame

https://issues.apache.org/jira/browse/SPARK-11258
I was not able to locate an existing unit test for this function so I wrote one.

Can one of the admins verify this patch?

Instead of creating a new testsuite in Scala, you can add a new test case in R, using
callJStatic to invoke "dfToCols" on the Scala side.

Thanks for the reply.

Instead of creating a new testsuite in Scala, you can add a new test case in R, using callJStatic to invoke "dfToCols" on the Scala side.

What would be the advantage of this? I think it is good practice to have unit tests for all public methods. Using callJStatic seems like tackling this in a roundabout way.
Where can I find the test cases in R?

dfToCols is meant to be called from R side, it makes sense to test it in R. Having a test case  in R for it can test not only the logic in Scala, but also helps to test other R Scala brige logic including serde. There is no test case in Scala for SparkR for now, of course, we will add if really needed
test cases in R are at R/pkg/inst/tests

Do you have benchmark numbers for this change?

@felixcheung the ticket is mentioning two numbers (https://issues.apache.org/jira/browse/SPARK-11258#) in the description. For a small data frame it is already a speedup of 4. But anyway - quadratic complexity is the problem as you run into issues with increasing number of columns quickly. We were not even able to load one of our data frames (> 1 Million rows, several hundred of columns) with the old method but it ran through with the new one.
I can provide some more benchmarks later today.

@sun-rui so there is an existing R test case for this method? In the end I just did a refactoring so existing tests should not break.
The idea of unit tests however is to test one thing. A unit test for a method should test exactly what this method is doing and not other related things like serde. If serde breaks, you still want to test for this method to succeed, because it is working. And since it is public API, anyone using Spark can use it.

@felixcheung it is strange. When I did some performance checks today, the run time did not seem to be quadradic. Is it maybe because the map transformation in the original code is lazy and only executed when you actually access the data?
I can tell you that the original implementation did not succeed on our file while mine did. I will investigate a bit more. Maybe someone else has an opinion?

The problem might be related to GC as a current implementation of dfToCols allocates memory for the map result and the array while @FRosner implementation only allocates memory for the array.

Jenkins, ok to test

Merged build triggered.

Merged build started.

Test build #44262 has started for PR 9222 at commit f857546.

Test build #44262 has finished for PR 9222 at commit f857546.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44262/
Test FAILed.

Merged build finished. Test FAILed.

@FRosner, there is no test case dedicated for dfToCols in R now. I am still reluctant to add a new test case in Scala simply for dfToCols. I'd like to leave the decision to other's comments.

@FRosner, it seems that you are investigating why the performance of the old implementation does not behave as you expect? No matter the investigation result, your new version does have better performance. If we can't find a better one than you, let's have it merged first:)

@sun-rui thanks for your comments. You should not hesitate to add unit tests for functions that are not tested, yet. Tests help other developers (like me) to change stuff in the code without the immediate fear of unforseen consequences. They also document the API. As this function is public, it should have a test.
I will look into the build failure reason now @shivaram. I was not able to run all tests locally as I got out of memory problems, although I changed the maven settings as indicated in the documentation.

@shivaram I added the missing license header. Sorry for missing this one.

Merged build triggered.

Merged build started.

Test build #44293 has started for PR 9222 at commit 7e34d30.

Test build #44293 has finished for PR 9222 at commit 7e34d30.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44293/
Test PASSed.

@FRosner, dfToCols is not a public API, and is now only a helper function for SparkR. Could you add a private modifier for it?

@sun-rui I am not sure how callJStatic works but I can imagine that making a method private does not allow it to be called - neither from the test, nor from R. Why would you not want to have a unit test. Test driven development is a good invention and helps developers (especially in OSS) to trust the code and make changes much easier.

@FRosner, I am not denying a unit test:). My point is that it seems not necessary to add a Scala unit case for dfToCols, which is dedicated for SparkR now and its logic is simple. Adding a R test case is fine for me, but it is a plus but not compelling, as its functionality is covered by existing test cases for collect().
As for private modifier, I could be wrong, forget it:)

The class is already private[r] so it should be fine.
@FRosner Is the change good to go or are you doing any more perf tests ?

@FRosner I assume this is faster than the original implementation?

In my opinion we are good to go if there are no objections from your side.
Sent from my phone. Please excuse my brevity.
Shivaram Venkataraman<EMAIL_ADDRESS>wrote:
The class is already private[r] so it should be fine.
@FRosner Is the change good to go or are you doing any more perf tests ?
—
Reply to this email directly or view it on GitHub.

@felixcheung the runtime performance tests I conducted came to the result that the performance gain is minimal if there is enough RAM available. It was faster all the time but only a few per cent. However when we tried to load a huge parquet file (70 GB uncompressed), we ran into problems with the old implementation. As @Gerrrr indicated it might be related to the map and then .toArray, which causes memory overhead. I think when it comes to collecting data to the driver we should ensure that we have a small memory consumption.

Ok I see -- we used to make a Seq[Array[Any]] and then call toArray on it before and now we just have Array[Array[Any]]. Alright change LGTM. Merging this


Running App gives error

Hi,
This project looks interesting.
When I build and run in WebStorm I get this error
Uncaught TypeError: Cannot set property 'topGenresChart' of undefined
(anonymous function)
(anonymous function)
Exception from Tracker afterFlush function:
TypeError: Cannot read property 'chart' of null
at win.HighchartsAdapter.win.HighchartsAdapter.$.init.$.fn.highcharts (http://localhost:3000/packages/maazalik_highcharts.js?63886d2fa45cba023ed261d763e5628418c655fb:1021:30)
at Template.highchartsHelper.rendered (http://localhost:3000/packages/maazalik_highcharts.js?63886d2fa45cba023ed261d763e5628418c655fb:21473:29)
at http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3155:22
at Function.Template._withTemplateInstanceFunc (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3476:12)
at fireCallbacks (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3151:12)
at null. (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3244:5)
at http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1778:14
at Object.Blaze._withCurrentView (http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197:12)
at http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1777:15
at Object.Tracker._runFlush (http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:501:11)
I get the same error when I build and run jhuenges highcharts-demo project.
I hope this report is useful.
Cheers,
Steve

The readme example is kind of outdated. Use this instead
Template.myTemplate.helpers({
  topGenresChart: function() {
    return {
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: this.username + "'s top genres"
        },
        tooltip: {
            pointFormat: '{point.percentage:.1f}%'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '{point.name}: {point.percentage:.1f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    },
                    connectorColor: 'silver'
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'genre',
            data: [
                ['Adventure',   45.0],
                ['Action',       26.8],
                ['Ecchi',   12.8],
                ['Comedy',    8.5],
                ['Yuri',     6.2]
            ]
        }]
    };
  };
});

Hi,
Thanks for your reply.  I've fussed for 30 minutes but can't get the code to build in meteor.  WebStorm gives a silly "unexpected ;" error which I can't seem to solve.  (I'm not yet a javascript expert - the more I try to fix it the worse it gets :) )  I've added the package maazalik:highcharts.
I'll probably figure it out eventually.  I just wanted to reply and thank you.
Cheers,
Steve

On 14 Apr 15, at 1:00am, Maaz Ali<EMAIL_ADDRESS>wrote:
The readme example is kind of outdated. Use this instead
Template.myTemplate.helpers({
topGenresChart: function() {
return {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: this.username + "'s top genres"
},
tooltip: {
pointFormat: '{point.percentage:.1f}%'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '{point.name}: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
},
connectorColor: 'silver'
}
}
},
series: [{
type: 'pie',
name: 'genre',
data: [
['Adventure',   45.0],
['Action',       26.8],
['Ecchi',   12.8],
['Comedy',    8.5],
['Yuri',     6.2]
]
}]
};
};
});
—
Reply to this email directly or view it on GitHub.

Hi again Maaz Ali
I just wanted you to know that your meteor example site builds perfectly in WebStorm so I can use that as a starting point.  I'll be presenting HighCharts as a solution to a new client this afternoon.
Thanks again for your help.
Cheers,
Steve

That's great, you can use the example site as your demos. I'll update the readme with the updated code.


Hyperlink detector does not support multiline steps

I'm evaluating using JBehave with this plugin and this is one of the features that is a must have for my team.  Is this something that you are addressing in your upcoming <IP_ADDRESS> release?


how to modify config that get from url, and post it back to url

I can get config through request.get, the  body is the config file。I need to modify the the config file and post it back to url, How can I achieve it?
function get_config(){
var option= {
url:’http://XXXXXXXX’,
headers:{
"Content-Type":"application/xml",
"Accept":"application/xml",
}
};
request.get(
option,
function(error, response, body){
if(response.statusCode ==200){
console.log(body);
…
request.post(

option,
function(error, response, body){
…
} )
}
else{
console.log(response.statusCode);
}

    }

)
}

Find out what the server expects, probably you should use the form option with the POST request.


[DOCS] Bad link to documentation on https://www.islandora.ca/docs

On https://www.islandora.ca/docs, the Documentation link to "Learn More" circles back to /docs, rather than (I assume) https://islandora.github.io/documentation/ per the footer link to Documentation.
Also the link uses target="_blank" that should also have rel="noreferrer noopener" as only more recent browsers have default protection against window.opener API exploitation attacks https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#security_and_privacy

Hello! Thank you so much for reporting. I just tried to fix it. Did it work?

Hello! Thank you so much for reporting. I just tried to fix it. Did it work?

Yep, link works now, thanks. Where is the codebase for the site? Next time I can contribute a PR.

That's a kind thought and I wish it worked that way - we are using this hosted online product called WebFlow. On the plus side, it's pretty easy for people to go in and make changes, so feel free to report anything additional and @ me.


NO-ISSUE: do not pass templateVersion during sync

During sync is the expectation that the templateVersion is empty to receive the latest?
cc @avishayt

This would not make sense as it would be very inefficient to ask for latest every time.


Cargo.toml: Update rand and rand_core to 0.8 and 0.6

See rand changelog and rand_core changelog.
Thanks for maintaining snow!

Thanks!

Thanks @mcginty for merging this pull request, updating all remaining outdated dependencies and cutting a release.
As far as I can tell v0.7.3 includes breaking changes and should thus not have been a patch release, but a minor release (v0.8.0). More specifically this crate exposes parts of rand on its public API. rand introduced breaking changes between v0.7 and v0.8 and thus snow introduces breaking changes between v0.7.2 and v0.7.3. The v0.7.3 snow release thus breaks any builds directly depending on both snow and rand, e.g. the rust-libp2p project.
@mcginty could you yank v0.7.3 and instead release the same source code as v0.8.0?

@mxinden oh wow, yep. Yanked. I'll hold these changes until v0.8.0 along with these last few open PRs.
Sorry if that caused any annoyances in your project.

Yanked

Thank you for the swift resolution.

I'll hold these changes until v0.8.0 along with these last few open PRs.

Sounds good to me.


Blank screen on Kedei 3.5" version 6.3

No matter what I do with this it seems that the display remains white and unchanging. I am able to output to the screen just fine with https://github.com/lzto/RaspberryPi_KeDei_35_lcd_v62 for a test to make sure the display does actually work.
Running latest Raspbian Stretch on a Pi 3 Model B+.
I've tried compiling and running with and without DMA transfers and at various SPI_BUS_CLOCK_DIVISOR settings - 10, 12, 24, 40, 100, 200, (cleaning out build/ each time), with and without SPI enabled. Verified no dtoverlay settings in boot/config.txt
Sample compilation command:
cmake -DSPI_BUS_CLOCK_DIVISOR=24 -DKEDEI_V63_MPI3501=ON -DUSE_DMA_TRANSFERS=OFF ..

Running with:
sudo ./fbcp-ili9341

Which spits out:
bcm_host_get_peripheral_address: 0x3f000000, bcm_host_get_peripheral_size: 16777216, bcm_host_get_sdram_address: 0xc0000000
BCM core speed: current: 250000000hz, max turbo: 400000000hz. SPI CDIV: 24, SPI max frequency: 16666667hz
Initializing display
Creating SPI task thread
InitSPI done
DISPLAY_FLIP_ORIENTATION_IN_SOFTWARE: Swapping width/height to update display in portrait mode to minimize tearing.
Relevant source display area size with overscan cropped away: 1080x1920.
Source GPU display is 1080x1920. Output SPI display is 320x480 with a drawable area of 320x480. Applying scaling factor horiz=0.25x & vert=0.25x, xOffset: 25, yOffset: 0, scaledWidth: 270, scaledHeight: 480
Creating dispmanX resource of size 270x480 (aspect ratio=0.562500).
GPU grab rectangle is offset x=0,y=0, size w=270xh=480, aspect ratio=0.562500
All initialized, now running main loop...

Any thoughts?

Yes, so I'm seeing the same behaviour. I did notice some change however.  With project https://github.com/lzto/RaspberryPi_KeDei_35_lcd_v62.git, this does work on my '6.3' display.  Firstly, SPI overlay must be enabled for it t work. Then, when it executes .. you see the screen that you should see with juj's driver before it gets painted over.  This suggests to me that there is an issue with the initialization on this driver right now.  Thought I'd try to transpose that code's initialization to this driver but .. it looks daunting.  I need more background understanding to do this.
Here is what  I see .. the working initialization ...
They are pretty comparable but not exactly sure what is happening
lcd_cmd() and lcd_data() are sent separately and SPI_TRANSFER() is interlacing data and commands?
void lcd_init(void)
{
//reset display
lcd_rst();
//kedei 6.2
lcd_cmd(0x00);
delayms(10);
lcd_cmd(0xFF); lcd_cmd(0xFF);
delayms(10);
lcd_cmd(0xFF); lcd_cmd(0xFF); lcd_cmd(0xFF); lcd_cmd(0xFF);
delayms(15);
lcd_cmd(0x11);
delayms(150);
lcd_cmd(0xB0); lcd_data(0x00);
lcd_cmd(0xB3); lcd_data(0x02); lcd_data(0x00); lcd_data(0x00); lcd_data(0x00);
lcd_cmd(0xB9); lcd_data(0x01); lcd_data(0x00); lcd_data(0x0F); lcd_data(0x0F);
lcd_cmd(0xC0); lcd_data(0x13); lcd_data(0x3B); lcd_data(0x00); lcd_data(0x02);
               lcd_data(0x00); lcd_data(0x01); lcd_data(0x00); lcd_data(0x43);
lcd_cmd(0xC1); lcd_data(0x08); lcd_data(0x0F); lcd_data(0x08); lcd_data(0x08);
lcd_cmd(0xC4); lcd_data(0x11); lcd_data(0x07); lcd_data(0x03); lcd_data(0x04);
lcd_cmd(0xC6); lcd_data(0x00);
lcd_cmd(0xC8); lcd_data(0x03); lcd_data(0x03); lcd_data(0x13); lcd_data(0x5C);
               lcd_data(0x03); lcd_data(0x07); lcd_data(0x14); lcd_data(0x08);
               lcd_data(0x00); lcd_data(0x21); lcd_data(0x08); lcd_data(0x14);
               lcd_data(0x07); lcd_data(0x53); lcd_data(0x0C); lcd_data(0x13);
               lcd_data(0x03); lcd_data(0x03); lcd_data(0x21); lcd_data(0x00);
lcd_cmd(0x35); lcd_data(0x00);
lcd_cmd(0x36); lcd_data(0x60);
lcd_cmd(0x3A); lcd_data(0x55);
lcd_cmd(0x44); lcd_data(0x00); lcd_data(0x01);
lcd_cmd(0xD0); lcd_data(0x07); lcd_data(0x07); lcd_data(0x1D); lcd_data(0x03);
lcd_cmd(0xD1); lcd_data(0x03); lcd_data(0x30); lcd_data(0x10);
lcd_cmd(0xD2); lcd_data(0x03); lcd_data(0x14); lcd_data(0x04);
lcd_cmd(0x29);

delayms(30);

lcd_cmd(0x2A); lcd_data(0x00); lcd_data(0x00); lcd_data(0x01); lcd_data(0x3F);
lcd_cmd(0x2B); lcd_data(0x00); lcd_data(0x00); lcd_data(0x01); lcd_data(0xE0);
lcd_cmd(0xB4); lcd_data(0x00);

lcd_cmd(0x2C);

delayms(10);
lcd_setrotation(0);

}
The init that isn't working in juj's  driver :
BEGIN_SPI_COMMUNICATION();
{
CLEAR_GPIO(GPIO_SPI0_CE0); // Enable Touch
CLEAR_GPIO(GPIO_SPI0_CE1); // Enable Display
BEGIN_SPI_COMMUNICATION();

usleep(25*1000);

SET_GPIO(GPIO_SPI0_CE0); // Disable Touch
usleep(25*1000);

SPI_TRANSFER(0x00000000); // This command seems to be Reset
usleep(120*1000);

SPI_TRANSFER(0x00ffffff);
usleep(50*1000);
SPI_TRANSFER(0xffffff11);
usleep(60*1000);

SPI_TRANSFER(0xB9001100, 0x00, 0xFF, 0x00, 0x83, 0x00, 0x57);
usleep(5*1000);

SPI_TRANSFER(0xB6001100, 0x00, 0x2C);
SPI_TRANSFER(0x11001100/*Sleep Out*/);
usleep(150*1000);

SPI_TRANSFER(0x3A001100/*Interface Pixel Format*/, 0x00, 0x55);
SPI_TRANSFER(0xB0001100, 0x00, 0x68);
SPI_TRANSFER(0xCC001100, 0x00, 0x09);
SPI_TRANSFER(0xB3001100, 0x00, 0x43, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06);
SPI_TRANSFER(0xB1001100, 0x00, 0x00, 0x00, 0x15, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x83, 0x00, 0x44);
SPI_TRANSFER(0xC0001100, 0x00, 0x24, 0x00, 0x24, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x08);
SPI_TRANSFER(0xB4001100, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x0D, 0x00, 0x4F);
SPI_TRANSFER(0xE0001100, 0x00, 0x02, 0x00, 0x08, 0x00, 0x11, 0x00, 0x23, 0x00, 0x2C, 0x00, 0x40, 0x00, 0x4A, 0x00, 0x52, 0x00, 0x48, 0x00, 0x41, 0x00, 0x3C, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x28, 0x00, 0x27, 0x00, 0x1B, 0x00, 0x02, 0x00, 0x08, 0x00, 0x11, 0x00, 0x23, 0x00, 0x2C, 0x00, 0x40, 0x00, 0x4A, 0x00, 0x52, 0x00, 0x48, 0x00, 0x41, 0x00, 0x3C, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x28, 0x00, 0x27, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x01);

#define MADCTL_BGR_PIXEL_ORDER (1<<3)
#define MADCTL_ROW_COLUMN_EXCHANGE (1<<5)
#define MADCTL_COLUMN_ADDRESS_ORDER_SWAP (1<<6)
#define MADCTL_ROW_ADDRESS_ORDER_SWAP (1<<7)

Yes, I had started to change the init part a bit already .. with this..
diff --git a/mpi3501.cpp b/mpi3501.cpp
index 67178a1..bb51fe4 100644
--- a/mpi3501.cpp
+++ b/mpi3501.cpp
@@ -56,9 +56,9 @@ void InitKeDeiV63()
SPI_TRANSFER(0x00000000); // This command seems to be Reset
usleep(120*1000);

SPI_TRANSFER(0x00000100);

SPI_TRANSFER(0x00ffffff);^M
usleep(50*1000);

SPI_TRANSFER(0x00001100);

SPI_TRANSFER(0xffffff11);^M
usleep(60*1000);
SPI_TRANSFER(0xB9001100, 0x00, 0xFF, 0x00, 0x83, 0x00, 0x57);

Hey, I'm having problem when run it start normally then craches giving a segmentation fault error?

thanks @kpishere, your fork works for me with
 -DSPI_BUS_CLOCK_DIVISOR=16 -DKEDEI_V63_MPI3501=ON -DUSE_DMA_TRANSFERS=OFF
hoping that your fork can make it back into this, and along with #90 to make it possible to have separate framebuffer this would be awsome!
(I too am so disappointed that kedei only provides entire black-box kernel/images, which is super scary. I just want a slow framebuffer I can make it a simple status display and control panel.)

@zerog2k No worries.  Glad it works.  I'm just getting back into this after a summer break, hope to have pen calibration utility in there too.

hi @kpishere any updates on this? do you need any help testing?

@zerog2k It is essentially complete.  The device does not support screen blanking but pen calibration works well.  Screen works well too.  Slower than the others, but OK for largely static gui displays.  no good for gaming. Don't know when/if @juj will ever merge the pull request.

Thanks! I'm happy with low fps - just trying to use for alarm panel/status display for Home Assistant!

Closing out old issues, not sure if there is an issue with KeDei still, feel free to reopen if you are still actively struggling on it.


CamelCasePropertyNamesContractResolver camel-cases dictionary keys.

When serializing a Dictionary<string, T> using a CamelCasePropertyNamesContractResolver, all keys in the dictionary are camel-cased. This might be what someone wants sometimes, but I think it is far more common to not want this behavior, as it will make the dictionary after deserialization different to what it was before serialization.
Is this possible to either change (maybe not for compatibility reasons) or to have a switch for it?

It can't change for compatibility reasons. I've added a new method to override it.
https://github.com/JamesNK/Newtonsoft.Json/commit/0929c2b4c3349ae1fb3d22c522504fbf57c8268e


Impossible to set database port

Problem
Installation script does not provide possibility to set port for the database.
Also, "Database connection failed!" is not a very helpful error message. Is it Login that failed? Host not reachable? What exactly?
Technical Details

Pagekit version: 1.0.2
Webserver: built-in
Database: MySQL

Im getting the same "Database connection failed!" on installation. Im currently trying to figure out how to debug to see what the real problem is. Im using the same credentials for magento and phpMyAdmin, so I know that the credentials are correct.


auth-mailchimp-sync - Use PUT to insert or update

Moved from https://github.com/firebase/extensions/issues/453

As mentioned in linked thread, acceptable solution is to have a better log message when an existing entry is already in the list.
This has been resolved in https://github.com/mailchimp/Firebase/pull/10, so closing this issue.


dont be strict with gems

this will help reduce the breakages in factory

So I would wait for that.

@jordimassaguerpla we could also add it later, i think we are not really blocked by this. what do you think?
also i've disabled rubocop on darix's script, at some point it'll go to https://github.com/openSUSE/ruby-packaging and we can then just fetch it from there
i've built successfully now for SLE and Tumbleweed, with some preferences in the prjconf

 (5) Relaxing the requirements

@jordimassaguerpla @ereslibre btw having a patch to comment out the dev/test gems during rpmbuild is effectively the same as if we would re-add the PACKAGING env. nevertheless i think it's more "elegant" and visible ... (it's not really elegant in the first place i know, but there's no better way unfortunately as we discussed)

@MaximilianMeister : Having a patch means having to review it everytime there is an update in the Gemfile. Parsing the Gemfile with the bundler libs or having an env variable will remove the need to review the patch.

I think instead of patching the Gemfile to remove the development and test groups, we could try to write a ruby script that uses the bundler gem to get that list and write a new Gemfile from it.

@jordimassaguerpla makes sense, i'll give it a try. but tbh i think rebasing this patch is not a big deal. a rebase in this case is really quickly done (much better than rebasing Gemfile.lock). and we'd have it the same way as in hawk2, so at one point when we have a better rails packaging we are already on the same level for those 2 projects... but nevertheless i'll try sth with the bundler lib.

@jordimassaguerpla @ereslibre btw having a patch to comment out the dev/test gems during rpmbuild is effectively the same as if we would re-add the PACKAGING env. nevertheless i think it's more "elegant" and visible ... (it's not really elegant in the first place i know, but there's no better way unfortunately as we discussed)

Yes, in the end our Gemfile.lock does not reflect the reality as the real gem dependencies willl be sorted out by IBS/OBS, so the dependency tree changes will exist between development and production, unless we also fix the development environment and we start to use the gems in the images (so at least we develop to the closest form), instead of running a bundle install that will get gems from rubygems.
We'd have to do some tricks as we are vendoring the gems inside /srv/velum/vendor inside the container, and we mount /srv/velum to develop with the code in our machines, so if we could somehow just vendor somewhere else (/var/lib/velum or something similar) we would be developing with the same set of gems that will be used in production (sort of).


In post its Postgres but in Github its Faunadb.

Hi,
In Your post, you have used Postgres but in this git repo you are using faunadb, how do we use Postgres?
Just curious what was the reason to move to fauna?

One way to use Postgres is through Prisma. You can use NextAuth's Prisma adapter to setup authentication with Prisma. Check out their documentation here. You just have to set the DATABASE_URL env variable to your Postgres DB URL. You can also follow this blog post for setting it up with Postgres.
Another way is to go back to the commit where I shifted to Fauna from Postgres. Go to this URL, instead of cloning the repo in that link, download the zip and you should be good to go. If you end up following this method, you might want to also add the changes in https://github.com/pbteja1998/nextjs-starter/commit/6efe5ced0fd00ff07a165fe10ba88dcc9e574ff8 which have the best practices for loading the web fonts.
Going forward, I will try to publish releases so that it would be easy to go back to whatever version that anyone wants and also publish the changelog.
I will also add another branch that uses Prisma + Postgres instead of Fauna DB.

Check out the tweets at here and here to know the reason why I shifted to Fauna DB. This starter repo is the exact one I use for any new applications that I build with Next.js. And because of that, this repo continues to evolve as I build more and more applications. I want this starter to be an end-to-end solution that you can use to deploy scalable applications to production. We are a long way from that, but we will gradually be getting there.


Missing guidance on supported scenarios for SSL offloading

We usually configure services so that the asp.net core app itself doesnt handle ssl termination, its handled by a load balancer or some reverse proxy. This means that altho the server listens for http (unencrypted) traffic, a client might still send requests on https (encrypted).
So:
client (https) --> rev proxy (https to http) --> server (http)
Most modern proxies will then send the X-Forwarded-Proto as an indication of the original protocol which the application (asp.net) can then use for whatever.
This is a super-common scenario, as it (among other) removes the administrative burden of placing ssl certs inside the container running the server app. It would be good if this page documented whether or not this is a supported scenario. It seems to me that it is assumed that the server "knows" the protocol, and imho that is rarely the case.

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

ID: c730b5f9-031e-beab-b838-6e2f8befde30
Version Independent ID: 84ddcb67-03be-655c-470a-f43a5152606f
Content: Troubleshoot gRPC on .NET Core
Content Source: aspnetcore/grpc/troubleshoot.md
Product: aspnet-core
Technology: aspnetcore-grpc
GitHub Login: @JamesNK
Microsoft Alias: jamesnk

That's beyond the scope of these gRPC docs. However, I'll mention TLS termination in the security doc.


fix: typo fix in the autoware installation documentation

Description

This PR is to fix a minor typo
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kenji-miyake Hello. I am new guy here. I am not sure how to ask for the reviewers. If you dont mind, can you help ?

@sezan92 Hello, thank you for fixing it. Sure, I'll merge this!


Using 'as' inside Interface for additional and only local checks, so it doesn't change anything.

Suggestion
Using 'as' inside Interface for additional and only local checks, so it doesn't change anything.
Use Cases
Can help to ensure that Interfaces written correctly especially if they are big and use imported types from other places.
Examples
In this Example we check if keys matches
interface Person {
    setup:{
        first_name:string
        secondName:string // Error: The property 'secondName' does not exist
        pin:number
    } as Record<'first_name'|'second_name'|'pin', any>
}

The strategy here seems to be “if I write the keys the same way multiple times, it’s more likely to be correct,” which is... hard to argue with, but doesn’t seem particularly valuable. The idea of a type system feature whose only purpose is to assert that a block of code is free of typos by writing more code that can also contain typos seems highly implausible. More importantly, this would be a really confusing overload of the as keyword.


[Polymetis] Building Polymetis From Source

When building from source, during the lib franka building part, you get permission errors. Here's what my terminal outputs:
Submodule 'droidlet/lowlevel/minecraft/client/lib/rapidjson' (https://github.com/Tencent/rapidjson.git) registered for path '../../../../../../../droidlet/lowlevel/minecraft/client/lib/rapidjson'
Submodule 'droidlet/lowlevel/minecraft/client/pybind11' (https://github.com/pybind/pybind11.git) registered for path '../../../../../../../droidlet/lowlevel/minecraft/client/pybind11'
Submodule 'droidlet/lowlevel/minecraft/logging/lib/argparse' (https://github.com/jonathathan/argparse.git) registered for path '../../../../../../../droidlet/lowlevel/minecraft/logging/lib/argparse'
Submodule 'droidlet/lowlevel/minecraft/server/cuberite' (https://github.com/cuberite/cuberite.git) registered for path '../../../../../../../droidlet/lowlevel/minecraft/server/cuberite'
Submodule 'droidlet/lowlevel/minecraft/server/cuberite_plugins/lib/lua-struct' (https://github.com/iryont/lua-struct.git) registered for path '../../../../../../../droidlet/lowlevel/minecraft/server/cuberite_plugins/lib/lua-struct'
Submodule 'perception/sandbox/polygrasp/third_party/UnseenObjectClustering' (git@github.com:1heart/UnseenObjectClustering.git) registered for path '../../../../../../../perception/sandbox/polygrasp/third_party/UnseenObjectClustering'
Submodule 'perception/sandbox/polygrasp/third_party/graspnet-baseline' (git@github.com:1heart/graspnet-baseline.git) registered for path '../../../../../../../perception/sandbox/polygrasp/third_party/graspnet-baseline'
Submodule 'polymetis/polymetis/python/polymetis/robot_drivers/psyonic_gripper/ability-hand-api' (git@github.com:1heart/ability-hand-api.git) registered for path '../../../../../python/polymetis/robot_drivers/psyonic_gripper/ability-hand-api'
Submodule 'polymetis/polymetis/src/clients/franka_panda_client/third_party/libfranka' (https://github.com/frankaemika/libfranka.git) registered for path './'
Submodule 'polymetis/polymetis/tests/cpp/fake_clock' (https://github.com/korfuri/fake_clock) registered for path '../../../../../tests/cpp/fake_clock'
Cloning into '/home/sasha/fairo/droidlet/lowlevel/minecraft/client/lib/rapidjson'...
Cloning into '/home/sasha/fairo/droidlet/lowlevel/minecraft/client/pybind11'...
Cloning into '/home/sasha/fairo/droidlet/lowlevel/minecraft/logging/lib/argparse'...
Cloning into '/home/sasha/fairo/droidlet/lowlevel/minecraft/server/cuberite'...
Cloning into '/home/sasha/fairo/droidlet/lowlevel/minecraft/server/cuberite_plugins/lib/lua-struct'...
Cloning into '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/UnseenObjectClustering'...
Warning: Permanently added the ECDSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:1heart/UnseenObjectClustering.git' into submodule path '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/UnseenObjectClustering' failed
Failed to clone 'perception/sandbox/polygrasp/third_party/UnseenObjectClustering'. Retry scheduled
Cloning into '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/graspnet-baseline'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:1heart/graspnet-baseline.git' into submodule path '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/graspnet-baseline' failed
Failed to clone 'perception/sandbox/polygrasp/third_party/graspnet-baseline'. Retry scheduled
Cloning into '/home/sasha/fairo/polymetis/polymetis/python/polymetis/robot_drivers/psyonic_gripper/ability-hand-api'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:1heart/ability-hand-api.git' into submodule path '/home/sasha/fairo/polymetis/polymetis/python/polymetis/robot_drivers/psyonic_gripper/ability-hand-api' failed
Failed to clone 'polymetis/polymetis/python/polymetis/robot_drivers/psyonic_gripper/ability-hand-api'. Retry scheduled
Cloning into '/home/sasha/fairo/polymetis/polymetis/src/clients/franka_panda_client/third_party/libfranka'...
Cloning into '/home/sasha/fairo/polymetis/polymetis/tests/cpp/fake_clock'...
Cloning into '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/UnseenObjectClustering'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:1heart/UnseenObjectClustering.git' into submodule path '/home/sasha/fairo/perception/sandbox/polygrasp/third_party/UnseenObjectClustering' failed
Failed to clone 'perception/sandbox/polygrasp/third_party/UnseenObjectClustering' a second time, aborting
/home/sasha/fairo/polymetis
Building libfranka at /home/sasha/fairo/polymetis/polymetis/src/clients/franka_panda_client/third_party/libfranka/build
CMake Warning:
Ignoring extra path from command line:
".."
CMake Error: The source directory "/home/sasha/fairo/polymetis/polymetis/src/clients/franka_panda_client/third_party/libfranka" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
Error: could not load cache
/home/sasha/fairo/polymetis

Does git cloning of libfranka (or any repo) work? It looks like you're just not using SSH keys for git.

Closing issue, please reopen if the problem persists.

Yes, so sorry I had just never seen this before and thought it was a private repo or something. My bad!


refactor cookbook for etcd 2.0

I made some changes on my own fork to run etcd 2.0 and realised that the vast amount of config changes might warrant a refactor of the cookbook.
Im wondering if we move to LWRP's or just move the cluster cookbook logic into the library?
I feel like LWRP's would be a cleaner implementation however.
Thoughts?

I had to do the same here, but it's not what I'd call "code complete" to match all new options available and removed in 2.0+.
LWRPs seem like the way to go to turn options on/off, since there's a lot of flags you'd not want as default in 2.0, like the '-name' option.

@willejs yes moving the HWRP / LWRP more in the spirit of what Sean has done on the httpd cookbook makes sense to me. This is what I would like to see, and what makes sense.

@willejs I've added you as collaborator on the repo. I think just starting work on a branch on this repo towards the L/HWRP ends makes sense.

@spheromak thanks. I am currently migrating to 2.0 in production.
Apparently they are working on better migration documentation this week which may shed more light on the subject. However, it looks as if bootstrapping new nodes to the cluster is now slightly more involved, and im unsure how to automate this so far.

Yea It's one reason I haven't tackled this yet. Haven't gone through it in prod. Also I've started a new job which is eating up a lot of time.

@willejs, is your master branch the latest work on this topic?  We're looking at moving to 2.0, but I don't want to re-invent the wheel if you've got something that's working.

@anoldguy it works but is pretty shonky.im using it in production but adding new nodes you need to do different steps, and I can't think of an elegant way to automate this all...

Anyone come up with any ideas?

there are a number of etcd cookbooks to be found here on github.
with this one as the source_url for https://supermarket.chef.io/cookbooks/etcd
a new etcd-v2 cookbook has recently emerged
https://github.com/rapid7/chef-etcd
https://supermarket.chef.io/cookbooks/etcd-v2
could they be combined for the benefit of the many who have now downloaded them both?

@MikeTLive  I offered to hand that namespace over to whoever wants to actively maintain.

Well, I'm game if no one else wants to take it on. I need an etcd cookbook and would rather see unity than forking.

On Jun 24, 2015, at 4:20 PM, Jesse Nelson<EMAIL_ADDRESS>wrote:
@MikeTLive I offered to hand that namespace over to whoever wants to actively maintain.
—
Reply to this email directly or view it on GitHub.

I'm not sure that there's any benefit in trying to merge rapid7/chef-etcd with this codebase as the interface is completely different. You're more likely to introduce breaking changes to consumers without version locking IMO. Rather, if @spheromak is no longer interested in maintaining this repo, he could deprecate it in favor of the etcd-v2 cookbook (see https://supermarket.chef.io/cookbooks/kafka).

@MikeTLive @jmanero-r7  who wants to take it over ? I am happy to hand it off.  Or to mark it deprecated.  Just need to know what the best course of action is here.

Going to hand this over to the chef-brigade repo. Anyone interested can take up maintainership there.

@MikeTLive @jmanero-r7  It's moved. If you or anyone else is interested in working on this thing. Join the chef-brigade! also moved the cook in supermarket to the brigade.


Call upgrade if something was passed to update

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

This pull request calls brew upgrade <formula> if was mistakenly called as brew update <formula>. If there is an obvious and single solution to user's mistake, why wouldn't homebrew fix it itself?
I didn't add any tests, because I'm not sure how to test this change.

upgrade and update are two different things, so as a user I wouldn't expect to be redirected to upgrade.

@reitermarkus: when you are aware of difference between upgrade и update, you would not call update with formula as argument anyway, as explained by error message. What's the case where user experiences this message and her next action is not to call brew upgrade with same arguments?
I use npm more often, where npm update is an alias to upgrade, and therefore I use update <pkg> automatically, so I had seen this message at least a few times.

I use npm more often, where npm update is an alias to upgrade, and therefore I use update  automatically, so I had seen this message at least a few times.

Thanks for the PR! I appreciate this explanation and if others feel the same way: please chime in on this PR but I'd like to hear from a lot more people before we add this.

While it might be convenient to be able to be able to use brew update foo and brew up foo, it seems like it would be surprising for brew update (without additional arguments) and brew upgrade (without additional arguments) to do wildly different things.

it seems like it would be surprising for brew update (without additional arguments) and brew upgrade (without additional arguments) to do wildly different things.

Agreed. It seems like someone would get used to update (because it’s always automatically corrected) and always use it, then be surprised when it acts differently from expected when used with no arguments.
Now that I think about it, since update is now called automatically, there’s little reason to ever call it on purpose. So if a user gets used to always calling upgrade instead, they also do not need to care about the difference and the issue will be solved.

Maybe then not call brew upgrade immediately, but instead print You probably meant 'brew upgrade whatever' instead of <formula>. Then it's easier to copy and paste.
But I do not see a problem that people would rely on this behaviour constantly and would be surprised when they'd try brew update without arguments. The error message is still here, notifying the user that this is not the intended usage of update, yet taking the most logical step immediately. This tidbit would improve UX of using brew a little without hurting anyone else.

Maybe then not call brew upgrade immediately, but instead print You probably meant 'brew upgrade whatever' instead of . Then it's easier to copy and paste.

This is something we'd merge if you change it to output the full arguments for update.sh (not update-reset.sh). I'm now 👎 on making this run brew upgrade given the conversation above.

@MikeMcQuaid: I've updated pull request to only display message without running brew upgrade.

Rebased on current master.
Summary: after applying this change brew upgrade would not be called automagically, it only changes message to copy-paste ready one.

Thanks for your first contribution to Homebrew, @marinintim!  You rock!


api: refine the staff listing methods

Move /department/staff to /staff as it lists all staff regardless of department.
Rename GetDepartment to ListDepartmentStaff as it is much more descriptive and correct
add subdepartments parameter to ListDepartmentStaff to list staff in sub-departments of that department (division) is requested

This looks good - I verified with some limited testing locally while the server was spun up and it gave me the results I expected. When passing a department ID that represented a division and setting the query param, I was getting all division staff as expected.
When passing a department ID that represented a department it was getting the department staff as expected. I also tried to play with the query param here and continued to get the expected results.
Thanks!


enable other plugins

check which other plugins should be enabled by default & put them in our cloned caddy repo
our instructions should build them by default as well

e.g. https://henriquedias.com/filemanager/caddy/ needs to be in

@hamdy now is writing a script to be used for building caddy from the source repo with all plugins needed. Will we still in a need for the forked repo?
Something like this one which I was using for testing. I put all needed plugins in a file called plugins and all directives in a file calles directives then run this script:
#!/usr/bin/env bash
GOPATH=${GOPATH:-~/go}
caddy_path=$GOPATH/src/github.com/mholt/caddy

echo "[+] Downloading Caddy ..."
go get github.com/mholt/caddy

echo "[+] Downloading Plugins ..."
while IFS= read -r plugin; do
    if ! grep --quiet ${plugin} ${caddy_path}/caddy/caddymain/run.go; then
        echo "  [+] Plugin $plugin"
        go get ${plugin}
        sed -i "/other plugins/a _ \"$plugin\"" ${caddy_path}/caddy/caddymain/run.go
    fi
done < plugins

echo "[+] Adding Directives ..."
while IFS= read -r directive; do
    if ! grep --quiet ${directive} ${caddy_path}/caddyhttp/httpserver/plugin.go; then
        echo "  [+] Directive ${directive}"
        sed -i "/other directives/a \"$directive\"," ${caddy_path}/caddyhttp/httpserver/plugin.go
    fi
done < directives

# Formatting Files
gofmt -w ${caddy_path}/caddy/caddymain/run.go
gofmt -w ${caddy_path}/caddyhttp/httpserver/plugin.go

echo "[+] Building Caddy ..."
rm -f $GOPATH/bin/caddy
cd $GOPATH/src/github.com/itsyouonline/caddy/caddy/
bash build.bash
cp caddy $GOPATH/bin
echo "Done"

@Hamdy has created caddyman


CI to execute test & lint on PRs

we need a CI environment with :

latest rust toolchain ( currently rustc 1.69 )
clippy installed ( might be provided by default, but worth a check )
any linux environment

Any kind of CI can be set up, but a recommended option is simply to use Github Actions as it's free and integrated.
When a developer submit a PR, it should run a pipeline executing two cargo commands :

cargo test ( to run small / medium tests )
cargo clippy ( to verify lint )

if one of those commands fail the pipeline should fail ( and prevent the PR to be merged )

Additionally it would help achieving #22