c/call_python.c:267: error: ‘stderr’ undeclared (first use in this function)
In file included from c/_cffi_backend.c:7370:
c/cffi1_module.c: At top level:
c/cffi1_module.c:23: error: expected ‘)’ before ‘’ token
c/cffi1_module.c:80: error: expected declaration specifiers or ‘...’ before ‘PyObject’
c/cffi1_module.c:81: error: expected declaration specifiers or ‘...’ before ‘PyObject’
c/cffi1_module.c: In function ‘make_included_tuples’:
c/cffi1_module.c:83: error: ‘Py_ssize_t’ undeclared (first use in this function)
c/cffi1_module.c:83: warning: statement with no effect
c/cffi1_module.c:83: error: expected ‘;’ before ‘num’
c/cffi1_module.c:90: error: ‘num’ undeclared (first use in this function)
c/cffi1_module.c:90: error: lvalue required as increment operand
c/cffi1_module.c:90: warning: statement with no effect
c/cffi1_module.c:92: error: ‘included_ffis’ undeclared (first use in this function)
c/cffi1_module.c:92: warning: assignment makes pointer from integer without a cast
c/cffi1_module.c:93: error: ‘included_libs’ undeclared (first use in this function)
c/cffi1_module.c:93: warning: assignment makes pointer from integer without a cast
c/cffi1_module.c:97: warning: statement with no effect
c/cffi1_module.c:99: error: ‘PyObject’ undeclared (first use in this function)
c/cffi1_module.c:99: error: ‘included_ffi’ undeclared (first use in this function)
c/cffi1_module.c:99: error: invalid operands to binary * (have ‘void **’ and ‘void **’)
c/cffi1_module.c:99: error: ‘included_lib’ undeclared (first use in this function)
c/cffi1_module.c:99: warning: left-hand operand of comma expression has no effect
c/cffi1_module.c:99: warning: statement with no effect
c/cffi1_module.c:100: error: ‘m’ undeclared (first use in this function)
c/cffi1_module.c:100: error: invalid operands to binary * (have ‘void **’ and ‘void **’)
c/cffi1_module.c:100: warning: implicit declaration of function ‘PyImport_ImportModule’
c/cffi1_module.c:100: warning: statement with no effect
c/cffi1_module.c:104: warning: implicit declaration of function ‘PyObject_GetAttrString’
c/cffi1_module.c:104: warning: statement with no effect
c/cffi1_module.c:108: warning: pointer/integer type mismatch in conditional expression
c/cffi1_module.c:108: warning: statement with no effect
c/cffi1_module.c:115: warning: implicit declaration of function ‘PyObject_TypeCheck’
c/cffi1_module.c:115: error: ‘FFI_Type’ undeclared (first use in this function)
c/cffi1_module.c:116: error: ‘Lib_Type’ undeclared (first use in this function)
c/cffi1_module.c:116: warning: comparison between pointer and integer
c/cffi1_module.c:118: error: lvalue required as increment operand
c/cffi1_module.c:118: warning: statement with no effect
c/cffi1_module.c:123: error: ‘PyExc_ImportError’ undeclared (first use in this function)
c/cffi1_module.c: At top level:
c/cffi1_module.c:132: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘’ token
c/cffi1_module.c:154: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘’ token
c/_cffi_backend.c:7391: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘init_cffi_backend’
compiling '_configtest.c':
__thread int some_threadlocal_variable_42;
compiling '_configtest.c':
int main(void) { __sync_synchronize(); return 0; }
Traceback (most recent call last):
File "", line 20, in
File "/tmp/pip-build-UTwpW8/pynacl/setup.py", line 251, in
"Programming Language :: Python :: 3.6",
File "/usr/lib64/python2.6/distutils/core.py", line 113, in setup
_setup_distribution = dist = klass(attrs)
File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 269, in init
File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 313, in fetch_build_eggs
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 827, in resolve
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 1072, in best_match
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line 1084, in obtain
File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 380, in fetch_build_egg
File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 640, in easy_install
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 670, in install_item

  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 853, in install_eggs

  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1081, in build_and_install

  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1069, in run_setup

distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-UTwpW8/pynacl

You are using pip version 7.1.0.
Please follow the following steps on docs-cn.
# yum -y install epel-release git curl sshpass
# yum -y install python-pip
$ pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)


MM-53705: Update metrics docs

Summary
I tried to automate generating a list with all metrics registered, but that ended up being quite cumbersome, so this is the result of a semi-automated generation plus some manual post-processing.
My idea was to use the Gather function in the registry and write a script that simply called that. However, it's not as easy:

The go_sql_* metrics need to be registered explicitly. This is doable, it's just those ones.
The *Vec metrics need to be observed at least once so that those metrics are reported back by Gather. This is error-prone, there are multiple ones, and doing this manually it's terrible

You can see the test I wrote in this commit. That prints the metrics in the same order we had in the docs, so that it was easy to compare if my test was missing some registered metrics (i.e., if there were some *Vec metrics whose Observe/Increment/Decrement functions I had not called). That happened quite a lot, so it was a very manual process, and we'd need to maintain that list of calls to the Observe/Increment/Decrement functions. Not good.
If we want to really automate this, I see two alternatives:

Use custom functions wrapping the prometheus.New* and MustRegister, so that we can collect the names and descriptions in a list we can later export.
Use reflect to inspect the calls to MustRegister and collect the names and descriptions of the passed arguments.

Ticket Link
https://mattermost.atlassian.net/browse/MM-53705

My idea was to use the Gather function in the registry and write a script that simply called that. However, it's not as easy:

The go_sql_* metrics need to be registered explicitly. This is doable, it's just those ones.
The *Vec metrics need to be observed at least once so that those metrics are reported back by Gather. This is error-prone, there are multiple ones, and doing this manually it's terrible

You can see the test I wrote in this commit. That prints the metrics in the same order we had in the docs, so that it was easy to compare if my test was missing some registered metrics (i.e., if there were some *Vec metrics whose Observe/Increment/Decrement functions I had not called). That happened quite a lot, so it was a very manual process, and we'd need to maintain that list of calls to the Observe/Increment/Decrement functions. Not good.
If we want to really automate this, I see two alternatives:

Use custom functions wrapping the prometheus.New* and MustRegister, so that we can collect the names and descriptions in a list we can later export.
Use reflect to inspect the calls to MustRegister and collect the names and descriptions of the passed arguments.

Both solutions look fine to me. If you wanted to open an HW ticket on this, please feel free!


[Epic]: Ensure all exception blocks in Tier 1 Beam IOs are safe

What needs to happen?
This issue serves as a parent tracker to fix:
For both Python and Java,
Inspect all exception blocks in IOs, and ensure that they either properly handle the exception, or they rethrow the exception to be handled by the runner.
There may be rare cases where it is appropriate to not do either of the above, but those should be heavily scrutinized.
Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components

[X] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[X] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue

@damondouglas can we close this, or is there still work to do?


Image URLs showing as undefined

After uploading images to the source bucket, I can see that it successfully generates resized images and rebuilds the site.
However, the images won't display... On the main page, all of the image src attributes show undefined where the filename would typically be. And on an individual picture page, the image looks like it is missing altogether.
Any ideas?

I think I found out the issue. I think everything should be in a folder in the bucket. I just uploaded images to the bucket.
I'm curious how many levels of folders this can have and how awspics will handle it.

Also, if I remove images from the source bucket, will something be smart enough to recognize that and clean up the site?

My folder structure on my source website is
pics/
  original/
    Album Title 1/
      1.jpg
      2.jpg
      3.jpg
    Album Title 2/
      1.jpg
      2.jpg
      3.jpg
    Album Title 3/
      1.jpg
      2.jpg
      3.jpg

I'm curious how many levels of folders this can have and how awspics will handle it.

If I recall correctly, this is the only structure supported by the site as-is.

Also, if I remove images from the source bucket, will something be smart enough to recognize that and clean up the site?

Again if I recall correctly, no there's no clean up in place.

Should there be a clean up in place? I'm happy to build the lambda funcs.

It'd be great to have cleanup funcs, if you want to contribute them! Thanks for suggesting :)

From my own testing, with making this publically accessible. The folder structure for the origin bucket must be as below, else the orignal copies link doesn't work either. I've also noticed it seems the site-builder creates false links to a "pics" album, which doesn't exist. I can only assume its being pulled from the below structure and not being sanitized correctly? Sadly I don't know JS :-/
pics/
  original/
    Album Title 1/
      1.jpg
      2.jpg
      3.jpg


[Mobile] No carousel for "our work" section

In mobile, the "our work" section does not have a carousel. It should work as in the desktop version but sliding horizontally.
So having 1 column with 3 rows and slides horizontally by showing another column with 3 rows

@christianvari There's no carousel in figma as well. They are all stacked on top of each other.

@christianvari - This is not how carousel works. Having three items in a column means user will skip items as all 3 items may not be in the viewport. It can have 1 item at a time.

Ok, let's close this for now


docs(a15): migration #4822

closes #4822

v14.7.0 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Automated Package Upgrade

:tada: This PR is included in version 25.4.84 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Work around bugs in os_user_facts (3.0.x)

The contents of the auth dict get marked as no_log, which apparently
transforms the value of the data returned by os_user_facts. By moving
the 'admin' words out of the auth dict, the correct values come through.
In addition, the attribute where the name is found is "name" not
"username". Finally, it's a fact module so the facts are integrated
directly into the host facts, so we can access them without a register.
Change-Id: I9e28aa566c76372c31e16d4c0c138dc77fc2b146
(cherry picked from commit f49bf2f12ec1aaf3f9e82e065c2cf679bc065ada)

👍 LGTM

👍 lgtm


HHVM usage broken

Started getting this error on our Travis builds, first seen today:
Fatal error: Parameter $functions is variadic and has a type constraint (callable); variadic params with type constraints are not supported in /home/travis/build/equip/assist/vendor/lstrojny/functional-php/src/Functional/Compose.php on line 54

Full build is here https://travis-ci.org/equip/assist/jobs/141634731

cc @ameech @elazar @dolfelt

Potentially related: facebook/hhvm#4858 and facebook/hhvm#6954

Just to note this works on the 1.2.0 branch but not on 1.2.1.

Looks like b09b096ecc15758991fa3d99488b036d8fcf60f6 was the offending commit.

From what I can gather, the check for use of typehints with variadic functions is determined at compile time by HHVM. As such, the runtime check currently present in src/Functional/Compose.php has no effect.


0.7.0 with react: Unknown browser query dead

I setup some tailwind react projects according to this guide: https://itnext.io/how-to-use-tailwind-css-with-react-16e9d478b8b
This worked great everytime with version 0.6.*
Since version 0.7.0 following the same setup led to following error:
Building ... tailwind.src.css
BrowerslistError: Unknown browser query 'dead'

Should be fixed in v0.7.1 👍 Needed to update our autoprefixer dependency.


Request to make a Currency Exchange Rate function external

Before logging a new issue please make sure to:

Read the FAQ
Search if there is an existing issue for what you want to log. If it's closed you can reopen it and add your comments.
Use the latest Developer Preview release both the server part and the AL Language extension in VS Code (listed on the repository home page)
If you're not using the latest released version (or are using a private build drop that is newer) please provide the version number in the issue

To help us reproduce the issue and find the root please try to:
A) Attach a minimal set of AL code that causes the issue
B) If the error occurs on the server - copy/paste the server stack trace from the Event Viewer

Make global and external the function ExchangeRateFactorFRS21 of table 330 Currency Exchange Rate, so that it can be used from an extension.


Support trailing slash when base path set

Description
When using a base path, an url with trailing slash results in 404 as the path for routing in server.py becomes empty string and not single slash. This can be confusing.
MAGE_BASE_PATH=mage ./scripts/dev.sh dummy_project

http://localhost:6789/mage - works
http://localhost:6789/mage/ - does not work

How Has This Been Tested?
MAGE_BASE_PATH=mage ./scripts/dev.sh dummy_project

http://localhost:6789/mage - works
http://localhost:6789/mage/ - also works

Checklist

[ ] The PR is tagged with proper labels (bug, enhancement, feature, documentation)
[x] I have performed a self-review of my own code
[ ] I have added unit tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

cc: @dy46 could you help review it?


fix: make probes configurable

this change gives the user the option to overwrite values for probes for example
helm template . --set probes.readiness.timeout=5s -s templates/solaceStatefulSet.yaml | grep -A 6 "readinessProbe:"
        readinessProbe:
          exec:
            command:
            - /mnt/disks/solace/readiness_check.sh
          initialDelaySeconds: 30
          periodSeconds: 5
          timeout: 5s

closes #137

@bczoma could you take a look?

@karlderkaefer thanks for the proposal. Solace is adding this to the list of upcoming features and will include it in a release, together with documentation.


time update in void LincolnController::SecurityDogThreadFunc()

After running canbus from the console, I am getting the following error msg quite often:
"Too much time consumption in LincolnController looping process:"
Traced the relevant code a bit, it might be caused by the updates of start variable. Here is the related code:
void LincolnController::SecurityDogThreadFunc() {
...
  std::chrono::duration<double, std::micro> default_period{50000};

// the start time is initialized here before entering the loop.
  int64_t start =
      common::time::AsInt64<common::time::micros>(common::time::Clock::Now());

  int32_t speed_ctrl_fail = 0;
  int32_t steer_ctrl_fail = 0;

  while (can_sender_->IsRunning()) {

// check responses
...

// here is the end time
    int64_t end =
        common::time::AsInt64<common::time::micros>(common::time::Clock::Now());

// here is the duration to finish the checking
    std::chrono::duration<double, std::micro> elapsed{end - start};

// check whether to sleep a bit before next loop
    if (elapsed < default_period) {
      std::this_thread::sleep_for(default_period - elapsed);

// I believe the issue is caused by the following line.
      start += (default_period - elapsed).count();

// the start time should be set to the current time as the following
// start = common::time::AsInt64<common::time::micros>(common::time::Clock::Now());

    } else {
      AERROR_EVERY(100)
          << "Too much time consumption in LincolnController looping process:"
          << elapsed.count();
      start = end;
    }
  }
}

The following simple picture might show the problem of the code
 start += (default_period - elapsed).count();
       <------------------- default_period----------------->
     start                          end
       <--------elapsed--------------><----sleep------------>

The error msg is not longer triggered after the code is modified.

@jilinzhou Thanks Jilin, I think you are right, do you mind create a PR for this? Thanks.

@capri2014: I will make a PR.


Responsive table

Please consider this a possibility for making the statusboard work on smaller screens.
This uses the react-super-responsive-table library, with some tweaks to the CSS to make the breakpoint break earlier and a few other changes.
Because the existing column filtering is built into react-table, we can't make the existing table header responsive, so I created a different text filter that works similar to the existing filters that use the URL query string.
Now that I've done this I wonder if we would also consider removing the per-column filters on large screens, because the more I think about it, the more I struggle to imagine a use case where someone would only want to filter by one column? (For example, if I want to see "police" projects I don't care if the description or project name has police in it, I'm probably interested if there's a match in either column.)
Just a thought!

Perhaps it would be possible to add an additional border on top for /brigade when the header disappears?

Sorry, not 100% sure what you suggest here, do you mean above every project? Should be doable in CSS if so..

Perhaps it would be possible to add an additional border on top for /brigade when the header disappears?

Sorry, not 100% sure what you suggest here, do you mean above every project? Should be doable in CSS if so..

Looking at it again, I think we can ignore this.
I meant the separation between the map and the projects list when the list is displayed below the map,

but it isn't a big deal.
It would also have to be separated from when the list is displayed as "cards" but to the side

OK, this is almost there, I think. I've removed the hacky "global search" option that displays on small screens in favor of keeping the existing column filters, and tweaked the CSS so that it looks pretty good (I think) on small screens.
There is one issue which is that on projects we want to hide the topics column at the 800px breakpoint and below, since one can't sort or filter by topics. I accomplished this by setting nth-of-type(3) to not display. But on brigades which uses the same stylesheet with a different column configuration, we want all three columns to display, and right now, the changes cause the 3rd column to be hidden.
I can't think of how to do this elegantly.
Option 1: set an inline style on the columns on brigades to override the style in ProjectsTable.scss - As we've discussed, inline styles are not great
Option 2: create a separate stylesheet for brigades that replaces ProjectsTable.scss -- results in a ton of duplication
Option 3: create a separate stylesheet for brigades that adds on to ProjectsTable.scss -- probably the best option but feels messy
I know SCSS lets us use some conditionals, but I'm not super up on them to know whether it's possible to set a rule based on, essentially, the number of columns in the table.
Happy to hear anyone's thoughts!

I am actually not sure :P
My first instinct is to try to add an extra div in /projects and try to get the scss selector to only pick the th when that div is present. For some reason I can't get that to work.
Say we add a (very poorly named) <div className="testTableScss"> that wraps the
<ProjectsTable
      options={options}
      plugins={hooks}
      setRowCounter={setRowCounter}
/>

in Projects.tsx
and
.testTableScss {
  .projects-table {
    @media screen and (max-width: 800px) {
      th:nth-of-type(3) {
        display: none;
      }
    }
  }
}

This can probably be done better. I feel like I really need to spend some more time with SCSS 🤣
Perhaps there is something that is possible to do with SCSS partials but it feels like that would result in a lot of rewriting as well.

Possible an option are scss modules that I seem 100% unable to get working
https://esausilva.com/2020/07/23/how-to-use-sass-and-css-modules-with-create-react-app-cra/


build error

I use "pip install sru[cuda]" to install the sru, but when I import SRU, This error is occured。
Please help me , thanks.

import sru
/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py:252: UserWarning:

                           !! WARNING !!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Your compiler (c++) is not compatible with the compiler Pytorch was
built with for this platform, which is g++ on linux. Please
use g++ to to compile your extension. Alternatively, you may
compile PyTorch from source using c++, and then you can also use
c++ to compile your extension.
See https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md for help
with compiling PyTorch from source.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                          !! WARNING !!

platform=sys.platform))
Traceback (most recent call last):
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1515, in _run_ninja_build
env=env)
File "/opt/conda/lib/python3.7/subprocess.py", line 487, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/opt/conda/lib/python3.7/site-packages/sru/init.py", line 8, in
from sru.modules import SRU, SRUCell  # noqa: F401
File "/opt/conda/lib/python3.7/site-packages/sru/modules.py", line 11, in
from sru.ops import (elementwise_recurrence_cpu,
File "/opt/conda/lib/python3.7/site-packages/sru/ops.py", line 17, in
verbose=False
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 974, in load
keep_intermediates=keep_intermediates)
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1179, in _jit_compile
with_cuda=with_cuda)
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1279, in _write_ninja_file_and_build_library
error_prefix="Error building extension '{}'".format(name))
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1529, in _run_ninja_build
raise RuntimeError(message)
RuntimeError: Error building extension 'sru_cpu': [1/2] c++ -MMD -MF sru_cpu_impl.o.d -DTORCH_EXTENSION_NAME=sru_cpu -DTORCH_API_INCLUDE_EXTENSION_H -isystem /opt/conda/lib/python3.7/site-packages/torch/include -isystem /opt/conda/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.7/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.7/site-packages/torch/include/THC -isystem /opt/conda/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -c /opt/conda/lib/python3.7/site-packages/sru/csrc/sru_cpu_impl.cpp -o sru_cpu_impl.o
FAILED: sru_cpu_impl.o
c++ -MMD -MF sru_cpu_impl.o.d -DTORCH_EXTENSION_NAME=sru_cpu -DTORCH_API_INCLUDE_EXTENSION_H -isystem /opt/conda/lib/python3.7/site-packages/torch/include -isystem /opt/conda/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.7/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.7/site-packages/torch/include/THC -isystem /opt/conda/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -c /opt/conda/lib/python3.7/site-packages/sru/csrc/sru_cpu_impl.cpp -o sru_cpu_impl.o
c++: error: unrecognized command line option ‘-std=c++14’
ninja: build stopped: subcommand failed.

i have same issue, did you have solved it?

Hi Xianyu,
Nope. I did not.
Regards
Venkatesh
On Sat, Nov 6, 2021 at 7:16 AM xianyu-123 @.***> wrote:

i have same issue, did you have solved it?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/asappresearch/sru/issues/154#issuecomment-962458204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM45YZVOTCTCZBMHKNEHK73UKU2FJANCNFSM4V2FYEUQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Change RowDataSnapshot interface for more convenient usage. #136

Note that it waits for jems release (uses jjitpack now).

I have problems building it locally now, not sure why, this is my last error I get:
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

Maybe it reached the dex limit, but let's just wait for new jems and check then.
So I missed some places that needs to updated, I've updated them now.

You're probably importing the same library twice from two different sources. E.g. if a dependency depends on a jems version from maven and you're importing it from jitpack. For Gradle these are two different dependencies providing the same classes. You can see the actual reason when you build on the command line with --stacktrace.

Reverted to use jems 1.14 from maven and made local, deprecated copies of the yet to be released classes. Builds now successfully.
Squash-rebased, ready for review.

lets wait for jems 1.15 before merging this

Updated to jems 1.15, ready for check and merge.


Implement DSIGNAlgorithm instance for BIP32-Ed25519

@intricate Can you clarify what the requirement for this is? We don't use this in Shelley, and I'm somewhat loathe to introduce the dependency on cardano-crypto, which was until this point relegated to Byron

@nc6: The cardano-crypto BIP32-Ed25519 extended key implementation (XPub, XPrv, etc.) is actually used by a few projects, even in the Shelley era, e.g. cardano-api, cardano-wallet, and cardano-addresses all support these kinds of extended keys for Shelley.
The reason for wanting a DSIGNAlgorithm implementation in cardano-base would be for providing a common, familiar interface for other Cardano-related project to utilize. For example, at the moment, when working with extended keys in cardano-api, we have to explicitly make calls to cardano-crypto rather than utilizing the same DSIGNAlgorithm interface that we already use for regular Ed25519 crypto operations.
This implementation would also be useful in helping us standardize the binary serialization formats for BIP32-Ed25519 keys. For example, in the cardano-crypto implementation, BIP32-Ed25519 extended signing keys (XPrv) are serialized to a 128-byte binary representation whereas other projects utilize a more compact 96-byte representation (Jörmungandr, cardano-addresses, etc.).
Going forward, we actually want to use the 96-byte representation throughout the Cardano ecosystem. In light of that, it seemed that it'd make sense to have it supported in cardano-base alongside the other crypto implementations rather than requiring the other projects to directly use the cardano-crypto types and provide their own potentially error-prone serialization and conversion functions.

@nc6: After re-reading your comment, I think I agree that we shouldn't introduce a dependency on cardano-crypto here. I'm going to probably end up moving this instance into cardano-api.


text_on_image Creator - Web design #67

https://images01.nicepagecdn.com/page/36/01/html-template-3601637.jpg Design a text_on_image like the above image
Create a file "text_on_image_NUM_by_(YourName).html" in the modules/text_on_image folder.
Use simple HTML and CSS and JAVASCRIPT to create the text_on_image animation. You can use the interface development https://kwickerhub.com/ (This project) or you can write the lines of code yourself.
Step by Step Guide.
Fork this project(Use the 'fork' button in the top right corner) and Clone your Fork.
git clone https://github.com/YOUR_USERNAME/frontend
Open your code Editor and Create a file "text_on_image_NUM_YOUR_NAME_.html" in the "modules/text_on_image" folder of this project you just cloned. No need to create head, title and body tags, Just Add a div tag with some embedded style(i.e use the style tag) and the script tag where necessary.
If you want to add an image resource, please add it in the folder ••
"modules/text_on_image/images_and_icons"
We recommend you use an svg for your image/icon.
Push your Code: You need to push your recent changes back to the cloud. Use the command below in the main directory of this Repository
git push origin dev
or use a GUI tool to avoid mistakes or complexity. LOL.
Then make you Pull Request...
Below is a example of the code structure we need:
<div>
    <!---YOUR CODE---->
</div>

<style>
    /* YOUR STYLE */
</style>

<script>
    // YOUR SCRIPT if any
</script>

The goal of this issue is to create modules that other people/dev/designers can use or easily import into their projects. Avoid the desire to style all elements in the page by using codes like:
<style>

*{

}
/* OR */

div, a, h1, pre{

}

</style>

use classes or id to style the elements to avoid a collision of styles.
Remember to make your module usable across different screens(Make your design responsive).
For more examples:
modules->buttons
modules->cards
for examples of contributions or Pull request accepted in to the project.
And please do not wait for this issue to be assigned to you as we have limited hands but have a lot to do/cover. Please send in your PR.
Good-luck and thank you.

I am working on this and will push code today

I am currently working on this issue

#796

@NtemKenyor @MaverickDe
Can you please look into the resolved issue and merge it.
Thanks & Regards,
Anvitha


Add a main header for app context and share button

Overview
This adds a main header for the app context and the share button. This means that the UI for smaller screens without a sidebar have a lot more context

Looks great! I'm not sure the publish button needs to be that big on mobile though.
Is it "sticky" as you scroll down or no? I'm not actually sure which is better, I guess in this case I'd lean toward not sticky since there's not an important control on the header, it's more just helping to frame the page.

@pchiusano there will be a menu there to bring forth the sidebar in the near future.
I agree that the button should be downplayed on mobile. Here's the mock we're moving towards:


Start jpype from Java if only to improve the workflow

When developing with jpype and you are working on both sides of the fence, having the Python side start the JVM each time is nice in the way that both resync at the same time to new versions of code.  But, it is bad in terms of workflow because it requires all the Java code to be packaged up each build (into a JAR), and the classpath to be known (already is active on the Java side) which means extracting that from a Maven or Gradle build to avoid hard coding it.
The overall workflow of the Java code becomes tiresome in this model.  Starting jpype from the Java side and using the existing JVM fixes this and removes both the packaging and classpath issues.
Is this on the radar for anytime soon, I see it mentioned in the FAQ of course.

Yes, it is on the work flow.   The general plan is to start Python form within Java like you would any other scripting engine.   There are a few items that are on the work plan that were considered to be prerequisites.

[ ] Export the Python API to Java.   This is a task of just wrapping everything from the Python Object API as a JNI call.  Mostly autogenerated code.  (I have done a bit of this in a test branch, but nothing ready to ship)
[ ] Remove the bootstrap loader and instead install org.jpype.jar with the internal module shared library.  The concept of using the thunks was a good way to help with packaging but it has its limits.  Since the JPype jar is not exposed it is hard to make it useable from the outside.  This is more a bit of packaging magic rather than coding.
[ ] Construct the attach point for the module.   For some odd reason we have had an attach to JVM command in here since the beginning, but there was never any way to execute it.   The whole code surrounding it was just broken do it have been excised.   A suitable replacement needs to be added, but as it is only called from JVM side it doesn't need to be in the Python API.
[ ] Last deal with module portability.  With Python as the script engine, you can start multiple interpreters, which means the central module has to be written in a particular fashion (avoiding globals and the like.)   I have been tried this twice before, but each time I have had to back off because it prevents progress for the overall core rewrite.   However, that rewrite is now complete so it can likely once again advance.  The good news is I have plenty of abandoned copies of this to pull from, but until the other piece are in place it won't do much good.

I have been hoping that Project Panama would be included in the JVM which would make this task much simpler but appears still to be on the horizon far out of reach.  Thus I am just going to have to bite the bullet and got at it with JNI.
The current plan is to attack each of these in order until full support is complete.  So it is definitely on the radar likely sometime after the next release.

(there is some similarity to our development and that of insect wings.

There are limited versions of the approach that could work:
Don't bite off all of the JSR scripting engine support at once, like line by line evaluation.  You can get it to work as a direct API, and wrap as a script engine later.  (We did this with Kotlin as a scripting engine)
Don't worry about more than one instance in a VM on day 1, if people need this, maybe they can live with one instance of Python (I can for example).  Later they can get multiple instances.  With threads and separation into different class instances, not sure what you could not find a way to workaround.
You know your codebase way better than me, I know the JVM, but things outside and native libraries I haven't touched in forever (I used JNI the first years it existed and not since).
You have a good library, keep it up!  If I can contribute, I will, but this particular area is a bit outside of what would be productive for me.

I made a good push on this one last week.   I resolved about 80% of the issues for setting a up a reverse bridge and even managed to get an IPython console running from within Java.   But the magnitude of typing that would be required for integrated code at least 2 months out and well past the 0.8 release.   I will post a task list for this once I have finished the 0.8 release.

This topic came up today for me, and I'm curious if you've made any further progress on it @Thrameos? It would indeed be very interesting to start a CPython interpreter from within the JVM.

There is a "mostly" working copy of this on the epypj fork of my repo.   Unfortunately it is a "shit-ton" of typing to get every module of Python tested.
Current state:

reverse bridge starting of an interactive shell WORKS
automatic building of Python class wrappers WORKS
FFI calling mechanism WORKS but still some random crashes on bad entry points that need to be resolved.
Testing framework is in place but not connected to CI, many tests need to be added and then debugged.
Still need to resolve future proofing issues.   How do we expose whole modules like numpy beyond simple objects?  How should exceptions be creatable from within Java (stack frame merging issues)  How do we avoid memory loops on complex structures?

I have been putting about 2 days in each month towards this.  But the size of the work is pretty large and unless my boss at work says I can perform the work during day hours (or some nice user wants to help me push it forward ) it will be another few months.
If the third and fourth item are resolved it would be usable though I really need a lot of user input in terms of review and documentation.   The complicating factor is which jpype is production quality, this fork is closer to alpha.  Getting to the same level will take time.   I debated putting epypj as a project fork which exists just for testing purposes until I get enough feedback to push it to the same quality level prior to merging it back in, but the path is very unclear.

Hello from December 2022. I'm also very interested in this feature. Has there been any further progress?

I'm curious what the difference is between this feature request and "JPype for Android". Specifically, shouldn't we be able to launch Java then (somehow) invoke Python code that accepts a reference to the existing JVM?

There is certainly a difference.   In JPype for android we are just making access to the existing JVM which was started by the system.   The request here is for Java to launch Python which means locating Python, creating the Python kernel then transferring control.


Deployment

Deployment
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website using the URL
THEN I can access my website from any browser

Site deployed successfully after some debugging.


MsnMondeBridge: empty

Bridge MsnMondeBridge returns no content: source address has moved.

maintainer: pit-fgfjiudghdf


Data Science Workspace Disclaimer missing

Issue in ./help/xdm/home.md morespecifically issue here: https://experienceleague.adobe.com/en/docs/experience-platform/xdm/home#:~:text=for more information.-,Data Science Workspace,-Adobe Experience Platform
As Adobe is no longer selling Datascience Workspace I would suggest adding a disclaimer stating, "Data Science Workspace is no longer available for purchase. This documentation is intended for existing customers with prior entitlements to Data Science Workspace."

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-212879.

We've updated the documentation with the disclaimer suggestion. Closing this issue.


Touch drag-n-drop not working on android

Is this because we switched the CourseElement to be wrapped in <button> and not <div>?


RNN's flaw

The RNN requires any image to be in Greyscale, such that any character with a white background and black text in the foreground is prone to error. Unlike the CNN, which works on any combination of colors of the image at hand. I'll leave it to be this way, to then have a n API, in place for giving inputs as the rnn expects.

This issue has been addressed under commit: 711ea57
The RNN now uses a middleware for usage: hindi_ocr.RNN that actually transforms any image into the expected input (both color mode and channel wise.)


2FA Screens: Reset password

Implement the new design for "Reset Password" - Figma Design here.
Tasks

[ ] Add translation keys
[ ] Refactor/Add screens
[ ] Refactor/Add error handling
[ ] Do some basic accessibility and "multi-screen" testing
[ ] look for ways to simplify the code

@samsadasivan can you update or validate the link to the screens works
I now only see:

@thiessenp-cds thinking we should replace this issue with
https://github.com/cds-snc/platform-forms-client/issues/2401


Use TS type predicates for $isXNode checks

Uses TypeScript type predicates for $isXNode and $isXSelection checks in the .d.ts files. Looks like this is already happening in flow.

You may need to run npm run prettier:fix locally to get that integrity check to pass.

Thanks!


Declaration of idstodelete in ENdeletenode

In ENdeletenode idstodeleteis declared as:
char *idstodelete[20][32];
This causes some compilation warnings as this array is not compatible with strcpy and with ENgetlinkindex at line 3629.
I wonder if we could go with char *idstodelete[20];?

Yes that should be possible, but my C knowledge is still basic at best, so I didn't found a better way to implement it yet. Likewise, the semi-randomly chosen limit of 20 should be removed as well.

Instead of tracking ids, I think we can just directly delete links in reverse-index order, right?

No that does not work! Because deleting links changes the links array we risk skipping over one!
For example, say we have node 'a' with links 'l1' with index 4 and 'l2' with index 5. If we delete link 'l1', the index of 'l2' becomes 4, which we'll skip by incrementing i, which becomes 5..
A simpler solution might be simply decrement variable i with 1. That should work as well I guess?

my suggestion was (to use your example):
first delete 'l2'(idx 5), then delete 'l1'(idx 4). maybe that is what you are also saying?
this line does what I describe: https://github.com/OpenWaterAnalytics/EPANET/commit/df00b49ea03801a1e5fc50b2ce38e425ac57afdc#diff-38a911bd86983e691fa46711d21ba3b6R3642

My bad, I missed the reversed-index-order part of your commit. This should work as well of course.


get_keyword_conditions() should be documented

I was trying to use LIKE in the conditions of a query, and I stumbled  upon the handy get_keyword_conditions() function which is public but is not documented anywhere in the documentation that I could find.
It would be great to document this so others don't have to browse the wp-mvc source code just to do a LIKE.

Thanks @jeffslofish -- we are indeed way behind in documentation. If you'd be interested in working on improving the documentation we can request access for you from @tombenner


Access GPS IFD, and capture/store some basic attributes

All of the following attributes, are located within the GPS IFD, which is pointed to by an offset from the TIFF header. The offset can be found in the 0th IFD, under an attribute with the tag 0x8825.

[ ] "GPSVersionID" attribute (0x00)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSLatitudeRef" attribute (0x01)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSLatitude" attribute (0x02)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSLongitudeRef" attribute (0x03)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSLongitude" attribute (0x04)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSAltitudeRef" attribute (0x05)

[ ] Is captured
[ ] Is available in attribute container

[ ] "GPSAltitude" attribute (0x06)

[ ] Is captured
[ ] Is available in attribute container

Starting in https://github.com/Gigabyte-Giant/JPEG-Meta-Extractor/commit/2ec820c4135018b2280790342bba17f2fe598784, I'm able to capture some of these, but only partially.

As of https://github.com/Gigabyte-Giant/JPEG-Meta-Extractor/commit/ce20d6624c9e4f20e7773178d77e2d25624c92df, these attributes are captured properly.


Making this since #46 didnt get any comments

I get error “modulenotfounderror: module named ‘joydance’ not found”
Windows 10 22H2
Python 3.10
Joydance latest version

... but now it's a duplicate?
Most issues here don't get replies because redphx isn't active.

... but now it's a duplicate?
Most issues here don't get replies because redphx isn't active.

oh


Remove unused Gitlab CI configuration

We haven't been running tests in Gitlab for a long time.

@bdunne why the backport labels?

@bdunne why the backport labels?

It's something that we haven't used in a long time, so I thought we might want to backport it to avoid confusion.  We can remove the labels if you don't want to backport it.


Updated monitor service details in README.md

Description
Added `Steam Game Server' to the monitor service list.
Fixes #(issue)
Type of change

This change requires a documentation update

Checklist
NA
Screenshots (if any)

Added monitor type option list for 1. HTTP{s} Keyword Search and 2. Steam Game Server.


Fix documentation for FQDN based policies which use Service DNS names

FQDN based policies cannot be used with "normal" (non headless Services)
as the DNS records point to the ClusterIP, yet policies are enforced
after AntreaProxy LB.
Reported by @GraysonWu
Signed-off-by: Antonin Bas<EMAIL_ADDRESS>

/skip-all


Could not build opendis6 library as shared

What version of Open DIS C++ is running?
0.1.0
What platform is your computer?
Darwin 23.3.0 arm64 arm
What steps can reproduce the bug?
$ wget https://github.com/crhowell3/opendis6/archive/refs/tags/0.1.0.tar.gz
$ tar zxf 0.1.0.tar.gz
$ cd opendis6-0.1.0
$ cmake -S . -B build -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON
$ cmake --build build

What is the expected behavior?
I would expect building it as shared library. It works fine when building as static library.
What do you see instead?
Github does not allow my log here because it passes the size limit. I copied it to a public gist instead: https://gist.github.com/uilianries/2f96dbaef771a8c3d09b1b5d609415fd
Additional information
I'm using Mac M1 with Clang 15:
clang --version
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>.5)
Target: arm64-apple-darwin23.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Any suggestions with that? I may not be able to support MacOS with this library

Let me build and check here. One thing that you could do is adding a Github actions to build your library, so you could always validate in Linux, Mac and Windows for free.

@crhowell3 An extra build log: https://github.com/conan-io/conan-center-index/pull/22646#issuecomment-1930311584
The CI used Linux Ubuntu to build that configuration. You can see the full log in a link, in the same comment.
In case you have Docker, you can try:
docker run --rm -ti --platform=linux/amd64 conanio/gcc7
# In the container
$ wget https://github.com/crhowell3/opendis6/archive/refs/tags/0.1.0.tar.gz
$ tar zxf 0.1.0.tar.gz
$ cd opendis6-0.1.0
$ cmake -S . -B build -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON
$ cmake --build build

The second image was with GCC 11, the docker image is conanio/gcc11-ubuntu16.04:2.0.17

I figured out the problem! Will push changes shortly and re-release 0.1.0. This should fix the linking issues.

Amazing! Thank you!


mytomcat_docker

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

No information provided - Closing


Conflict with bom support in Gradle 5.2

Hit when upgrading https://github.com/yschimke/okurl
$ ./gradlew wrapper --gradle-version 5.2
$ ./gradlew test --info

> Task :compileKotlin FAILED
:compileKotlin (Thread[Execution worker for ':',5,main]) completed. Took 0.586 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileKotlin'.
> Could not resolve all dependencies for configuration ':compileClasspath'.
   > Cannot choose between com.fasterxml.jackson:jackson-bom:2.9.8 variant compile and com.fasterxml.jackson:jackson-bom:2.9.8 variant platform-compile because they provide the same capability: com.fasterxml.jackson:jackson-bom:2.9.8

There are two distinct issues here. First of all, the message isn't helpful, because even if you run:
./gradlew dependencyInsight --configuration compileClasspath --dependency jackson-bom

Gradle will fail the same way and not give you the offending path. This needs to be fixed.
So I debugged and identified the problem:

you have a first level dependency of type platform on jackson-bom, which is the right thing to do
however, there is also a dependency on com.baulsupp:oksocial-output:4.25.0 which brings a transitive dependency to jackson-bom too. This one is a regular Maven dependency (not a platform one). Given that jackson-bom is a real platform and that there are no dependencies in here, this dependency is redundant and brings nothing, so it's an error of oksocial-output.

So what can we do here? First, platform is a way to accommodate this problem that when we see a Maven published component we need to make the difference between the "platform" and the "library" aspects of it. In 5.2, we made it an error to depend on two variants of components which provide the same capability, which is exactly what you have here: one is asking for the "platform" (your direct dependency), the other one is asking for the "library". However, in reality we're playing gods here, and the "things" published at the same coordinates (jackson-bom library and jackson-bom platform) are really two different components. So I think we could workaround the problem by assigning a different implicit capability to the platform component.
Note that it would fix your problem, but it wouldn't change the fact that you depend on 2 different things, it would just make it less visible.
A good way to fix, immediately, is to create a component metadata rule to fix the dependencies of oksocial-output:
dependencies {
   components.all {
      run {
         if (id.group == "com.baulsupp" && id.name == "oksocial-output") {
             allVariants {
                withDependencies {
                   removeAll { it.name == "jackson-bom" }
                }
             }
         }
     }
   }
}

Filed #8428 to follow up on the error handling as it is too big a change for 5.2.1
And closing since the PR defining a different capability for the platform component has been merged.


Fix code scanning alert - Warn when a line feed at the end of a file is missing.

Tracking issue for:

[ ] https://github.com/sebastianjnuwu/KellyWorld/security/code-scanning/1323

Sla


Manage Current Bridge

Hi all,
is there any way to Edit/Delete currently configured bridges?

Hi @martinorob !
For editing bridges - use your favorite text editor.
For deleting bridges - delete bridge file.
Further reading https://github.com/RSS-Bridge/rss-bridge/wiki

Sorry, wrong question.. I'm talking about how to edit the RSS feed url in use with for example Facebook bridge.
I have a working RSS feed that grap a Facebook page posts and give me result as RSS feed. Is there any way to list and then edit/delete that configuration of the Facebook bridge?
Thanks
(I'm using Docker)


iOS 9 Compatibility

Hi
Any specific reason you are dropping iOS 9 compatibility?
01939c7a12e10222c3a44d5602a3a129151dc6cb
As far as I know, Swift 4 is still compatible with iOS 7 and above. Please re-add iOS 9 support in the next release if posible. Thank you very much!

#5

Hello @simonlinj ,
Thank you for reaching us with this case! I'm happy to report that we have re-established the support of iOS 9 in our LiveChat iOS widget – we apologize for the inconvenience!
In case of any additional questions, please don't hesitate to ask.


The runnerName in the config file will not change the generated RUNNER_NAME

In the cilicon.yml config file I specify the runner name, but that will change nothing in the generated RUNNER_NAME file.

Hi Ruben, good catch. Will push a fix soon!

Just saw and merged your PR. Will create a new release soon!


Wrong phrasing in bloodmagic for undead bloodline (pf2)

The undead bloodline Pathfinder 2e/core/class/sorcerer/bloodline/sorcerer-bloodline-undead
indicates Either gain temporary hit points or deal necromantic damage.
Since necromantic damage is not a thing, should be corrected to negative damage

see https://github.com/dyslexic-charactersheets/lib-charactersheets/pull/9

see https://github.com/dyslexic-charactersheets/lib-charactersheets/pull/9


Added synonym substitution transformation

Hey @Nickeilf and @aadesh11 ! Thanks a lot for the detailed review. I have updated the code and replied to the comments. Could you take a look and let me know how you think about these changes?


Add content editor for the non-geeks

Problem
Editing content with HTML markup is not nice for most users.
Proposal
Would be awesome to add a WYSIWYG editor.
References
You'll find tons of front-end js editors out there.
We used CKEditor for a project and worked like a charm.

We'll use Quill, but before we have to:

[ ] Make it componentjs compliant
[ ] Add support for video embedding (maybe via a module or quicker approach).

@slifszyc Quill supposedly supports/outputs HTML. I guess tables won't be a need for 95%+ of use cases so I wouldn't mind having that 5% rely on an external helper for tables. Let's worry about that once we get there for the 95%.
The link supplied by @jfresco provides useful information. I guess we can make separate issues out of this:

Integrate vanilla quill.js as the editor in admin (by componentizing it; we'd get a DemocracyOS/quilljs fork - we can even PR it back to them)
Make a quill.js custom module for each custom need of ours; these being:
Add images via URL (probably already exists)
Add video via URL (probably using embedresponsively)

I sent a PR with the basic functionality just to start to give it flight hours.
Pending stuff:

[ ] Make styles more similar to the rest of the form controls
[ ] Add video embed support


Add mounts to dispatch run

parse build mounts RUN --mount=...
the RUN command can take flags from the dockerfile.
needed for https://github.com/containers/buildah/issues/1684
Signed-off-by: Ashley Cui<EMAIL_ADDRESS>

/ok-to-test
LGTM, thanks!

/approve

LGTM

/lgtm


Defining Example objects

Is there any way to generate example objects of operation responses, as foreseen by the specification?
From @rsuter: Solved: Read this blog: https://blog.rsuter.com/nswag-tutorial-implement-a-custom-operation-processor-to-define-redoc-code-samples/
Update: See https://github.com/RicoSuter/NJsonSchema/wiki/XML-Documentation#define-examples

Move to NJsonSchema

See https://github.com/RicoSuter/NJsonSchema/wiki/XML-Documentation#define-examples

Task: Use GenerateExample() for responses/requests

In .NET Core 2.2, how can we programatically add example response data? Previous versions of SwaggerResponse had an Examples property, and I was able to write an IOperationProcessor that would populate that property based on data generated at build time. From your above link to the NJsonSchema wiki, it will add any <example /> XMLDOC comments, but to be honest, creating example code in XML comments does not scale well, and worse, doesn't give compile time errors when the schema changes and you forget to update the documentation.
In OpenAPI schema, the examples are children of the media type (when using $ref to reference the schema) - is that easily supported in NSwag/NSwagSchema?

Have you tried the example xml docs?

Ah, I figured out what I was doing wrong - I was referencing the wrong NSwag libraries in my IOperationProcessor - the NuGet package descriptions give no clues, but the NSwag readme.md does give adequate information to work out which ones I wanted. Now, if only the Swagger UI could handle the examples in OpenAPI format a bit better...
Regarding the use of the <example /> XMLDOC comments, I didn't try it and it wouldn't meet my requirements, really - the main issue is keeping the example in sync with the model (both addition/removal of fields, and type-safety of data), which is much easier to do with programatically generated code.
My solution is a little long to include here, so I'll try to write it up in a wiki and post the link, it might be useful for others in the same situation.

@davidkeaveny have you managed to document your solution?
I'm missing Swashbuckle's way to define the examples programmatically, would appreciate if someone could share a solution using NSwag.

@leon99 did you check out this blog post: https://blog.rsuter.com/nswag-tutorial-implement-a-custom-operation-processor-to-define-redoc-code-samples/

Thanks @RicoSuter, I did check that post. It's a good start, but it only tells half of the story since it suggests specifying the source code as a string, while I, just like @davidkeaveny, am looking for a way to pass an object and have it appear as an example of the model in the doc. That, I guess, would involve generating the code by using reflection over the provided object. Swashbuckle allows that out of the box.

@davidkeaveny

My solution is a little long to include here, so I'll try to write it up in a wiki and post the link, it might be useful for others in the same situation.

As I understand, you didn't manage to write some instructions, but maybe you can just share some info regarding your solution?

Sorry it's been so long for me to post on this - I've now moved on to a .NET Core 3.1 project, and to be honest, I find it much easier now to use the <example> XMLDOC field to provide sample data. For instance, the following DTO:
/// <summary>
/// A calendar event that should be rendered as part of a leave calendar.
/// </summary>
public class CalendarEvent
{
    /// <summary>
    /// The date of the calendar event, expressed as an offset from January 1st; so 0 would represent January 1st, and 364 would represent December 31st in a non-leap year.
    /// </summary>
    /// <example>0</example>
    public int CalDate { get; set; }

    /// <summary>
    /// The background colour that should be used when rendering the event, expressed as the integer representation of the RGB hexadecimal colour codes.
    /// </summary>
    /// <example>3058159</example>
    public int CalBackColour { get; set; }

    /// <summary>
    /// The foreground colour that should be used when rendering the event; 0 represents black and -1 represents white.
    /// </summary>
    /// <example>-1</example>
    public int CalForeColour { get; set; }

    /// <summary>
    /// The type of the calendar event.
    /// </summary>
    /// <example>Public Holiday</example>
    public string CalType { get; set; }

    /// <summary>
    /// The text that should be displayed in a tooltip when rendering the event.
    /// </summary>
    /// <example>New Year's Day</example>
    public string CalTooltipText { get; set; }
}

then gets rendered (here using ReDoc) as:

It works nicely with the multiple response types; its only problem so far is that in my case, the 400 and 500 responses return the same object, which means they get the same example; but that's really a very minor complaint.
The approach I used of creating my own attribute (similar to ProducesResponse) and then my own operation processor to handle that attribute now feels a lot like overkill.
I am really happy with the way NSwag is working for me, so two huge thumbs-up from me to @RicoSuter

@Leon99 @baltika10 @davidkeaveny I have solved this and put together a solution to programmatically define response examples, check it out NSwag.Examples


Change time format

Changing log message time format from raw seconds since epoch to something human-readable.

@joelarmstrong Does this break anything? Or can you merge it?

Sorry, yes, I'll merge it now. Not used to the pull requests, usually people push first and ask questions later :). This should be fine. No one's parsing the output, and if they are, they shouldn't be.


When undo / redo actions Subscription / SMV plugin, lists are not refreshed

When undo / redo an action in the GOOSE or SMV plugin, the action is done but the lists are not being refreshed so it looks like the undo / redo didn't work.

Does this relates to https://github.com/openscd/open-scd/issues/659?

The problem is caused by the global variable "localState" used in "subscriber-ied-list-goose.ts".
This is probably done because the elements are re-created often.
Maybe a idea is to make "loaclState" a local variable again. And solve it in "publisher-goose-list.ts" by saving the Goose Element selected as global, like in the IED and SLD Editors is done. When the element is created a GooseEvent is fired to also recreated "localState" again. And maybe also handle "null" values in this event to reset and solve #659 also.
When a Document is loaded the global variable can be resetted in "publisher-goose-list.ts".


Problem importing profile

Testing #172034
I exported a profile and imported it again. While importing I got the error:
Error while importing profile: Unable to resolve nonexistent file '/home/martin/.vscode-insiders/extensions/ms-toolsai.jupyter-keymap-1.0.0'
It seems that as a result the import missed extensions

I wanted to attach my profile here, but it's big and I can't tell if it contains personal info due to the double encoding.
Please make it regular JSON...

Can you please share your profile via slack or email?

I tried to reproduce the issue and was not able to. Closing


Related to something new CFX

Is your command request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe what command you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

What do you mean?
I did not quite understand

Seems like you opened another issue. Hence closing this

yeah close this one check the latest one


Added AI World Barcelona Conference

Is there anything else that we should do to allow you to review this change?

Thanks for contributing!


How to run test / train code

Hi,
Thanks for sharing this paper and code. I am also researching for 3d reconstruction and segmentation. and I think your idea is very great. now I am trying to run  run_complete_scans_hierarchical.sh with below parameters but it doesn't work very well. Can you tell me how to run this code (how to fill test directory paths or other else) Thank you !

I had struggled with the same problem. The thing is that pre-trained model does not contain checkpoint file. So tensorflow complains about pre-trained weight paths... i.e. you need to create checkpoint files for each pre-trained weight.
From command line, type
vim checkpoint

Then add followings:
model_checkpoint_path: "your/path/to/pretrained/model"
all_model_checkpoint_paths: "your/path/to/pretrained/model"

Hi,
I am trying to run run_complete_scans_hierarchical.sh with below parameters too, but it doesn't work very well. I want to know if you have found a solution? Another question is how to convert tfrecords files into point cloud data? Thank you!

@dalianKJR  can you send me the model and test data,and some scipts. because the model，test data and some script were deleted.


feat: update controller runtime to v0.9.5

What does this PR do?
This PR is the rebased version of https://github.com/devfile/devworkspace-operator/pull/540. I tried to avoid overriding that one just in case something messed up.
What issues does this PR fix or reference?
https://github.com/devfile/devworkspace-operator/issues/516
Is it tested? How?

Not yet so I'm leaving at WIP for now
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v7-devworkspaces-operator-e2e, v7-devworkspace-happy-path to trigger)

[ ] v7-devworkspaces-operator-e2e: DevWorkspace e2e test
[ ] v7-devworkspace-happy-path: DevWorkspace e2e test

/test v7-devworkspaces-operator-e2e

/test v7-devworkspaces-operator-e2e

/test v7-devworkspaces-operator-e2e

I expect https://github.com/openshift/release/pull/21509 to fix the e2e tests

/test v8-devworkspaces-operator-e2e

e2e test still fails with
github.com/devfile/devworkspace-operator/controllers/controller/devworkspacerouting/solvers imports
sigs.k8s.io/controller-runtime/pkg/builder tested by
sigs.k8s.io/controller-runtime/pkg/builder.test imports
sigs.k8s.io/controller-runtime/pkg/internal/testing/addr imports
io/fs: package io/fs is not in GOROOT (/usr/local/go/src/io/fs)

/test v8-devworkspaces-operator-e2e


Hot to show a 'typing bubble' & send 'messages with a delay' to the end-user

Hi,

While I am fetching data from DB, I want to show a 'typing bubble' to the user.
So how to implement this please suggest.

How to send messages with a bit of delay so that it feels more of a human chat?

@afficionado, depending on what channel you use, you can use the "typing" ActivityType to communicate to the user that you're typing.  Which channel are you working on?

Facebook messenger.
On Tue, Sep 13, 2016 at 7:35 PM, jameslew<EMAIL_ADDRESS>wrote:

@afficionado, depending on what channel you use, you can use the "typing"
ActivityType to communicate to the user that you're typing. Which channel
are you working on?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/BotBuilder/issues/1221#issuecomment-246692161,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQanCcXYET8Vn7LSZ0FPfhzUyFCt1-2ks5qpq20gaJpZM4J7SiW
.

Hi @afficionaddo, please use the Typing activity to send this notification.


Should manufacture be a property of component, rather than metadata?

The majority of fields under metadata refer to the BOM itself.
However, metadata.manufacture technically refers to metadata.component:
https://github.com/CycloneDX/specification/blob/299209abd9531d808e0cc4235e77a7c4b1b53d96/schema/bom-1.5.schema.json#L263-L267
This can cause confusion because, as mentioned, everything else refers to the BOM, not metadata.component.
Should manufacture be a property of component instead, to make the association more clear?

IMO, we should likely add manufacturer to component and update the description of manufacture in the metadata section to reflect the BOM. Thoughts @jkowalleck @coderpatros

I agree with that

add manufacturer to component

we already have component.group for that, right?

The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.

update the description of manufacture in the metadata section to reflect the BOM

Though this would not change the schema, it still would be a change of the meaning of an element. Which would be a breaking change.

Is this something we want to address for v1.6?

IMO, we should likely add manufacturer to component and update the description of manufacture in the metadata section to reflect the BOM. Thoughts @jkowalleck @coderpatros

sounds good
will open a pullrequest adding the component manufacturer to components.


Create a Home Assistant add-on

+1
Or at least document the registry for use in Portainer or the like.

@omayhemo I got it up and running through portainer a little bit ago. Pretty straight forward:
In Portainer select Containers in the left pane > +Add Container
Name: Enter in a name you want to use
Registry: DockerHub
Image docker.io: dchesterton/amcrest2mqtt:latest
Always pull the image: toggle on
Skip Network ports configuration section
Advanced container settings
Network: I set the network to my home assistant instance, user preferences may vary here.
Env: Environment Variables - this is the critical section. The settings below are what I used to get it working with home assistant.

Click the +add environment variable button for the amount of variables you want to enter. I only needed to add the section outlined in red. The rest were added automatically when I deployed the container.
Restart Policy: Set to unless stopped
Go back up to Actions: Click Deploy this container

If it's not too much work, could we get an arm7 build so we can run this on a raspberry pi please?

I've added support for arm7 builds (and other platforms while I was working on it) so you can use my image if you want :)

@omayhemo I got it up and running through portainer a little bit ago. Pretty straight forward:
In Portainer select Containers in the left pane > +Add Container
Name: Enter in a name you want to use
Registry: DockerHub
Image docker.io: dchesterton/amcrest2mqtt:latest
Always pull the image: toggle on
Skip Network ports configuration section
Advanced container settings
Network: I set the network to my home assistant instance, user preferences may vary here.
Env: Environment Variables - this is the critical section. The settings below are what I used to get it working with home assistant.

Click the +add environment variable button for the amount of variables you want to enter. I only needed to add the section outlined in red. The rest were added automatically when I deployed the container.
Restart Policy: Set to unless stopped
Go back up to Actions: Click Deploy this container

I already have Portainer running on my HA. I added a Container with all required specifications. The container was deployed and it is now running.
What do I have to do next? What do I have to add to my configuration.yaml file to watch the events?

I already have Portainer running on my HA. I added a Container with all required specifications. The container was deployed and it is now running.
What do I have to do next? What do I have to add to my configuration.yaml file to watch the events?

I was working through this myself tonight.  If you haven't already figured it out, you'll need to setup an MQTT broker (in my case I setup as another docker container).  You'll then need to setup the MQTT integration in HA.  Assuming you enabled auto discovery, HA will automatically discover your Amcrest and prompt you to add it to a room.  It will also add the appropriate entities which you can then add to the HA GUI via the Entity card.
Good luck!

If you want, I can create a PR for this issue. But I'd like to get some idea of how you would like this to be implemented. Since I believe that the hassio image shouldn't wrap your original container, so it would replace it but that would make your image hassio specific. Wrapping seems to be an option too but in that case I wouldn't know how to get the addon configuration options in.

I'd like it to be obfuscated.  Install the Add-On, use the configuration screen to apply the variables, Log screen for trace.  No additional containers.  You'll get much larger adoption I have little doubt.

Thanks, I'd welcome a PR if you have time 🙂 I definitely don't want the image to be hassio specific. I think it should be possible to pass the configuration options in as environment variables but I haven't looked into it in detail.

Totally agree on that, but it makes it harder because hassio has base images with everything pre-installed. But I'll look into putting what I need in the wrapping image.

FYI, I have a working local addon now. I'll wrap it in a repo and give you the option to fork/copy it. I'll try to do that later today.

Here you go: https://github.com/robsonke/hassio-addons
Main page:

Configuration:

Startup log:

Do whatever you want with it, my goal is to just have this in Hassio together with all other add-ons. Copy/fork/refer my repo, change the descriptions (they're still very brief), add icons (that would be nice).

Rob's amcrest2mqtt addon installed easily and is working fine for me... (installed on RasPi4).

Works for me also. Thanks Rob! Would be nice to see this pulled in to the main repo or even added to the Community Addon section.

Thanks very much for doing this Rob. I will look to merge it into the main repo when I can but I'm snowed under at the moment so it won't be for a while.

Awesome, just got my Amcrest 410 and used this method vs my own docker.   One small issue is that the doorbell side doesnt seem to be working.   I see sensor updates for the motion and human but when i press the doorbell that sensor doesnt update.   They all got picked up by MQTT integration no problem and 2 of them update just not the "button" press

Thanks Rob -- I appreciate having it tied to my HA instance for backup purposes and having everything in one place
Thanks dchesterton for the extensive work on creating the app and sharing with everyone

Thanks Rob! I've been running yours for awhile on my HA instance, and it's been stable. @dchesterton any chance of getting it centralized/merged in here so we don't have to daisy-chain repos? No rush, just curious how you're schedule's looking :P

While I greatly appreciated having amcrest2mqtt supported as an add-on initially, I'm no longer using it.
If the only thing you are using MQTT for is to fetch events from Amcrest or Dahua cameras/doorbell please be advised that it's really no longer necessary.   Both the core Amcrest integration and the custom Dahua integration now handle event passing directly in HASS automations.
The ability to access doorbell press events, any motion event, etc., is all now available without requiring MQTT.  The custom Dahua integration even has the option to automatically create binary sensors. for selected events.

While I greatly appreciated having amcrest2mqtt supported as an add-on initially, I'm no longer using it.
If the only thing you are using MQTT for is to fetch events from Amcrest or Dahua cameras/doorbell please be advised that it's really no longer necessary. Both the core Amcrest integration and the custom Dahua integration now handle event passing directly in HASS automations.
The ability to access doorbell press events, any motion event, etc., is all now available without requiring MQTT. The custom Dahua integration even has the option to automatically create binary sensors for selected events.
I should add that I had zero problems with amcrest2mqtt, and when it was the only game in town for event handling, it was great.

That's not necessarily true for all amcrest cameras. I run an ad110 doorbell camera and neither the AMCREST (cant get doorbell ring events) or DAHUA (motion notification come through every 30 seconds, video feed not working) integrations work well for me. Could be I have not invested the time on it but anything more then 30 minutes is more time then I have. The amcrest2mqtt add-on has been fairly flawless and easy to setup for me.
back to the subject of this thread it would be great though to have it all in one repo, though i have it installed and working so it will be of little benefit to me :).

The purpose of amcrest2mqtt was to expose all amcrest/dahua events since the camera integrations did not have this support built in.   Now they do.   My point was that  you can use the updated camera integrations event capability natively and simplify things a bit.
Your issue with the Amcrest integration not supporting doorbell events is no longer the case.   You check for the CallNoAnswered event in the same way as you do with amcrest2mqtt, just without needing MQTT .   And as to motion events occurring far too much,  that could be due to checking for VideoMotion events from the AD110.   This is the default for the Amcrest integration's motion binary sensor.    On the AD110, ook for the "AlarmLocal/Start/Stop" events instead in your automations.

If the only thing you are using MQTT for is to fetch events from Amcrest or Dahua cameras/doorbell please be advised that it's really no longer necessary. Both the core Amcrest integration and the custom Dahua integration now handle event passing directly in HASS automations.
The ability to access doorbell press events, any motion event, etc., is all now available without requiring MQTT. The custom Dahua integration even has the option to automatically create binary sensors for selected events.

Is AI data available via the Amcrest integration? E.g., I use "human" from my AD410 doorbell cam.

Sure - not just "AI Data", but just like amcrest2mqtt, the Amcrest and Dahua integrations enable ALL events.  This definitely includes AD410 human motion events.
See https://community.home-assistant.io/t/amcrest-video-doorbell-ad110-initial-impressions/171290/301?u=garyokie for examples.
And of course if you are happy with the way your setup is now, then "if ain't broke..."

Sure - not just "AI Data", but just like amcrest2mqtt, the HASS Amcrest and Dahua integrations enable ALL events. This definitely includes AD410 human motion events.
See https://community.home-assistant.io/t/amcrest-video-doorbell-ad110-initial-impressions/171290/301?u=garyokie for examples.
And of course if you are happy with the way your setup is now, then "if ain't broke..."

Thank you for the reply and link.

The purpose of amcrest2mqtt was to expose all amcrest/dahua events since the camera integrations did not have this support built in. Now they do. My point was that you can use the updated camera integrations event capability natively and simplify things a bit.
Your issue with the Amcrest integration not supporting doorbell events is no longer the case. You check for the CallNoAnswered event in the same way as you do with amcrest2mqtt, just without needing MQTT . And as to motion events occurring far too much, that could be due to checking for VideoMotion events from the AD110. This is the default for the Amcrest integration's motion binary sensor. On the AD110, look for the "AlarmLocal/Start/Stop" events instead in your automations.

not to deviate too much from this thread but the documentation for either integration does not list any information on the type of events you need to monitor for or link to where you can get more information. Like I said I expected this information to be available somewhere just didn't get the time to look it up.
While technically there might not be a need for the add-on as the functionality is already there in integrations, the add-on makes the process transparent from an end user perspective. Not needing to monitor event logs to find the exact one I need or having to write event triggers simplifies things and allows more people to use it.

It's worth noting that the add-on exposes all events to the amcrest2mqtt/XXX/event topic too so if the built in sensors don't work for you for whatever reason, you can also use them :)
Personally I prefer to abstract functionality out of Home Assistant and use MQTT as the communication layer between. But I can understand that some prefer the functionality to be built-in. It's good that we have options though!

You're absolutely right  briodan - the docs for both integrations don't provide much detail at all on how to set up event triggers.   Much of this info had to be found haphazardly in the forum.    However, the custom Dahua integration does provide the abstraction capability to create binary sensors for doorbell press, etc., using the HASS configuration manager to select the events you want to trigger on.
Daniel - if a HASS user is using a different camera integration, such as ffmpeg or generic, then I fully agree that using MQTT is  the best approach to provide the necessary event handling communications.  Before your great work providing this, some of us were using python script hacks.    But now that amcrest/dahua integrations are transmitting ALL camera events to the HASS bus, there is a duplication of   subscribing to these events when using amcrest2mqtt in conjunction.   (Core Amcrest is using python-amcrest to subscribe as does amcrest2mqtt, the other integration uses Dahua-VTO library).
The need to handle events with numerous cameras  was also a major factor in using the core Amcrest integration in a HASS OS build.
It definitely is good to have these options, and have very much appreciated all your work in this.

First, I really do appreciate your helpfulness and trying to help people solve for their individual setups @GaryOkie, more people on the internet should be like you, and many of the solutions you pointed out are great for many situations!
But also, when someone asks for an update on if a feature-request will be moved to the primary repo, I am sure you can see that a list of reasons why they should stop using this project and use others is probably not what I was hoping for. That said, I appreciate your recommendations, but this might not be the appropriate venue.

@mr-ramsel - I actually agree with you that this was not an appropriate place to provide awareness of alternative event handling.   I've regretted making these post here.
My apologies to all.

And another Addon made by someone else... @ikifar2012  https://github.com/ikifar2012
https://github.com/ikifar2012/amcrest2mqtt-addon/blob/master/README.md


Cholesky decomposition was not successful. The input might not be valid. [Reoccurring problem]

The problem is that cholesky is failing of clearly positive definite kernels.
This problem seems to come back whenever TF cholesky is involved.
In numpy based GP code the problem doesn't occur, and if it does, it can be solved by conditioning the matrix or using psuedo inverses/determinants.
This is an unsolved issue similar to closed issue #78 . In that case to user was able to constrain his domain to a sub-domain where it was solved. Here in the MVCE I show that this doesn't work.
MVCE
https://gist.github.com/Joshuaalbert/e34f71c65b28263161ae09f5b9a6f3be
The data provides an easy to solve problem, yet TF cholesky often fails.
I know that this timeseries has a lengthscale around 200 which is where it is initialized.
I also added an untrainable white kernel of very high variance, and it still fails.
It also fails with and without a mean function.
It also fails with and without the logstic tranform.
Back to the problem
There is a serious problem here guys and gals.
Because of this same issue in my own code, for the exact same problem actually, I've asked that TF provide dynamic exception catching (https://github.com/tensorflow/tensorflow/issues/10332).
In a pythonic solution one would do:
try:
    #method using Cholesky
except:
    #method using svd and pseudo inv/det

This is how I solved this problem in my numpy code dealing with GPs.
The problem is that TF requires doing something like below which can be tedious to code in an elegant way.
def _no_cho_version(...):
    #using svd
def _cho_version(...):
   #using cho as preferable
tf.cond(did_cholesky_fail, _no_cho_version, _cho_version)

try:
    feed_dict[did_cholesky_fail] = False
    sess.run(..., feed_dict=feed_dict)
except:
    feed_dict[did_cholesky_fail] = True
    sess.run(..., feed_dict=feed_dict)

Matrix conditioning might be a solution (but it can fail if the minimum eigen values are set too close to machine precision)
For example the below code would take a non pos-def matrix and make it pos-def.
Kf = (Kf + tf.transpose(Kf,perm=[0,2,1]))/2.
e,v = tf.self_adjoint_eig(Kf)
e = tf.where(e > 1e-14, e, 1e-14*tf.ones_like(e))
Kf_pos_def = tf.matmul(tf.matmul(v,tf.matrix_diag(e),transpose_a=True),v)

Note that cholesky should work for pos-semi-def where there are some zero eigen values. You can test this yourself. So in theory I should be able to replace line e = tf.where(e > 1e-14, e, 1e-14*tf.ones_like(e)) with e = tf.where(e > 0, e, tf.zeros_like(e))
Conditioning the matrix also fails sometimes, because TF has a buggy eigen code.
It only fails when you ask for gradient though; the forward calculation work then.

Also can people please try:
import tensorflow as tf

I = tf.eye(2, dtype=tf.float32)
X = 2 * tf.eye(2, dtype=tf.float32)
X_inv = tf.matrix_inverse(X)
X_solve = tf.matrix_solve(X, I)
X_chol_solve = tf.cholesky_solve(tf.cholesky(X), I)

with tf.Session() as sess:
    for x in [X_inv, X_solve, X_chol_solve]:
        print('{}:\n{}'.format(x.name, sess.run(x)))
        print

The result should be I/2 however I get:
MatrixInverse:0:
[[ 0.5  0. ]
 [ 0.   0.5]]
MatrixSolve:0:
[[ 0.5  0. ]
 [ 0.   0.5]]
cholesky_solve/MatrixTriangularSolve_1:0:
[[ 0.49999997  0.        ]
 [ 0.          0.49999997]]

This issue is noted in https://github.com/tensorflow/tensorflow/issues/10265.

Questions like this have been asked before, and generally the problem has been to do with poor input scaling, hyperparameter misspecification, overly aggressive optimization, or NaNs coming through from the Matern kernel. Things should be stable if you start in a numerically ok part of the space and optimize cautiously.

@hughsalimbeni This raises a good point:  Are there good references for hyperparameter initialization for the Matern Kernel?

I agree with Hugh. It's generally not a bad problem with good initialisation. I do agree with @Joshuaalbert that we need better ways of dealing with numerical instability than "just" adding jitter. It needs to be done correctly in proportion to other eigenvalues. However, I'm hesitant of simple eigenvalue clipping as it loses the nice interpretation of adding uniform likelihood noise.
People have mentioned before that it would be nice to get a proper numerical analyst to explain these things in relation to GPs :)

If you add a diagonal term equal to the maximum negative eigen value then you will achieve pos-def-ness. This then maintains the uniform likelihood noise property.
However, there may be stability issues also with computing the gradient of eigen vals.

I've just noticed above that you've used e,v = tf.self_adjoint_eig(Kf). I've had problems with this before. The gradient of tf.self_adjoint_eig will give NaNs if any of the evals are all the same. This is the correct gradient (not a stability problem) as the columns are not determinable when there are repeated eigenvalues. The problem I had was that I was taking the eigenvalues of a matrix initialized to the identity. My solution was to add a small random jitter to break the symmetry.

@hughsalimbeni thanks for this info. That makes sense. I am modifying compute_K_symm by setting all negative eigen values to zero then adding a random jitter to all degenerate eigen values. I will report...

This does make a significant different since at least there is not longer a Cholesky failure, however the optimizer stops after 2 iterations and fails to converge even if it starts very close to the optimal solution. Even if it's a stiff problem it shouldn't terminate so quickly. Also with numpy based GPy it solves.

Just out of interest, have you tried scaling your inputs to have zero mean and unit variance? Currently, your inputs are in the range of 1e9. When you subtract large values (as will happen when calculating the covariance matrix), you lose numerical precision. This doesn't actually change the problem at all if you correctly scale the corresponding hyperparameters.

The problem is completely solved by centering the data.  I added these lines to the script:
X = (X - X.mean()) / X.std()
Y = (Y - Y.mean()) / Y.std()

, removed the constraints on the lengthscales, and got this:

Yes, you're right. It is a problem with numerical precision in the end. I'll close this then.

Adding "fast=False" was worked for me
z = tf.matrix_solve_ls(x,screen_points, fast=False)

After centering the data, the problem still occurs.

Hi,
I also come across the cholesky decomposition error. I really appreciate if someone could help. Thank you very much, and the details are as following:
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 900, in run
run_metadata_ptr)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1316, in _do_run
run_metadata)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cholesky decomposition was not successful. The input might not be valid.
[[Node: Cholesky = CholeskyT=DT_COMPLEX128, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
[[Node: mean_squared_error/value/_69 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_799_mean_squared_error/value", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
Caused by op 'Cholesky', defined at:
File "tf_graph.py", line 118, in
l = tf.cholesky(noise_psd)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/ops/gen_linalg_ops.py", line 711, in cholesky
"Cholesky", input=input, name=name)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3392, in create_op
op_def=op_def)
File "/miniconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1718, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Cholesky decomposition was not successful. The input might not be valid.
[[Node: Cholesky = CholeskyT=DT_COMPLEX128, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
[[Node: mean_squared_error/value/_69 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_799_mean_squared_error/value", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

Yes, you're right. It is a problem with numerical precision in the end. I'll close this then.

The problem is completely solved by centering the data. I added these lines to the script:
X = (X - X.mean()) / X.std()
Y = (Y - Y.mean()) / Y.std()

, removed the constraints on the lengthscales, and got this:

how it is helping in resolving the issue?

Centering (and 'whitening' i.e. unit standard deviation) is equivalent to changing the hyperparameter settings. If you whiten the data then the gpflow defaults are probably going to be ok, but if you don't whiten they the hyperparameters can be grossly misspecified and you may have an ill-conditioned problem. If you do not whiten the data then you need to be more careful about hyperparameter initialization.
A second, related, issue is that if you use optimize the hyperparameters (especially with a first order method like gradient descent) then extreme parameter scaling can cause problems. For example, if the lengthscale needs to move from 10^4 to 10^3 then this will take a very long time using an optimizer like adam. Whitening mitigates this problem to an extent.

Thank you for explaining. Centring does work.
On Sun, 16 Sep 2018 at 21:27, Hugh Salimbeni<EMAIL_ADDRESS>wrote:

Centering (and 'whitening' i.e. unit standard deviation) is equivalent to
changing the hyperparameter settings. If you whiten the data then the
gpflow defaults are probably going to be ok, but if you don't whiten they
the hyperparameters can be grossly misspecified and you may have an
ill-conditioned problem. If you do not whiten the data then you need to be
more careful about hyperparameter initialization.
A second, related, issue is that if you use optimize the hyperparameters
(especially with a first order method like gradient descent) then extreme
parameter scaling can cause problems. For example, if the lengthscale needs
to move from 10^4 to 10^3 then this will take a very long time using an
optimizer like adam. Whitening mitigates this problem to an extent.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GPflow/GPflow/issues/553#issuecomment-421749007, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ae_ue4Whl6r5U9gT7Wjf0DahZe9M1pafks5ubjWYgaJpZM4Qbzz0
.

--
Cheers,
Aili Shen

Kf = (Kf + tf.transpose(Kf,perm=[0,2,1]))/2.
e,v = tf.self_adjoint_eig(Kf)
e = tf.where(e > 1e-14, e, 1e-14*tf.ones_like(e))
Kf_pos_def = tf.matmul(tf.matmul(v,tf.matrix_diag(e),transpose_a=True),v)

In my case, this solved the problem. Thanks!

Adding "fast=False" was worked for me
z = tf.matrix_solve_ls(x,screen_points, fast=False)

I get "gradient not defined for fast=false" when I use this. What is the solution?


Line Plot Y-range incorrect when series has multiple points with same x-value

Description
When plotting a line chart, the y-axis range is not correct if the series has multiple points with the same x value and one of those points is outside of the range of all other points in the series.
From my testing, it appears that this occurs when there are more than two points that share the same x value. Only the first two points are used to calculate the range. All others seem to be discarded.
Steps to Reproduce

Create a line plot with at-least three points that have the same x value. Ensure the last point has a y value that is greater than any other y value in the series.

Expected Behavior
Y-axis range for axis is calculated from absolute range of series
Actual Behavior
Y-axis range axis range is not calculated correctly when multiple points in a series have the same x value.
Screenshots

Reproduction Link
https://codepen.io/Alan-Kalbfleisch/pen/KKLorJe

The same issue occurs with scatter plots. This is actually more concerning for scatter plots as a scatter plot should definitely be able to plot multiple points with the same x-values without breaking. I can somewhat understand why this may break for line charts as there could be an assumption that line charts should be for results from well-defined functions.

@rosco54 can you take a look at this one? This seems to be broken after v3.46.0

@junedchhipa Working on it.


Restricted User  - Add host button should be disabled

Relevant issue: #1992
v0.47.0-rc1
Local Authentication is enabled with a restricted user in an environment.
When logged in as restricted user, the add button for hosts should be disabled.
Currently we are allowed to launch the add page and once the user attempts to create the objects , we get a "Method not allowed" message.
It would be better to disable these add options.

Basically the same as https://github.com/rancher/rancher/issues/1990, but different kind of user.


No API to delete or edit Workflows

I'm trying to create a workflow for my specific task but have noticed that I need to edit or change it through a series of trial and error until it runs correctly.
There is no API to call a delete function on a workflow to remove it so it can be re-uploaded. In the same fashion, there is no call to PUT on a certain :id to allow manipulation of that ID.
This is requiring me kill the vagrant environment and start over.
In addition, I cannot PUT a new Workflow with a different injectable and friendly name if it has most of the same parameters as the existing one.

@brianparry ^^ are you tracking for any specific APIs to help with this in the V2 API work you're doing?

@kacole2 as a workaround until the API has the functionality you need, you could just edit the files in on-taskgraph/lib/graphs and restart on-taskgraph, OR directly change them in mongo mongo pxe; db.graphdefinitions.remove({injectableName: <workflowName>}) instead of killing the whole environment (much faster turnaround this way).

@kacole2 @heckj I think this https://github.com/RackHD/on-http/pull/194 will cover most of what your looking for.  The 2.0 API separates workflows and graphs (definitions) into two sets of routes.  I think PUT and DELETE /workflows/graphs will do what you want.  We've also added support for DELETE /workflows/:id, so that old workflows can be deleted from the history.

@brianparry nice! thanks!

@kacole2 I marked that PR as resolving this issue, assuming you agree with that.


APTrust profile with BagIt-Version 1.0 generates mismatched manifest algorithms.

I haven't tried this with the 2.0.1 version mentioned here but when playing with DART I noticed that if I use the APTrust BagIt profile and switch the BagIt-Version to 1.0 I get this bag.
[/Users/whikloj/.dart/bags]
> ll An\ Example\ Bag
total 40
-rw-r--r--  1 whikloj  staff   77 26 Feb 14:58 aptrust-info.txt
-rw-r--r--  1 whikloj  staff  350 26 Feb 14:58 bag-info.txt
-rw-r--r--  1 whikloj  staff   54 26 Feb 14:58 bagit.txt
drwxr-xr-x  3 whikloj  staff   96 26 Feb 14:58 data
-rw-r--r--  1 whikloj  staff   46 26 Feb 14:58 manifest-md5.txt
-rw-r--r--  1 whikloj  staff  317 26 Feb 14:58 tagmanifest-sha256.txt

I think the inclusion of manifest-md5.txt as the default seems like an error, especially due to the inclusion of tagmanifest-sha256.txt.
I was trying to fix this as a lesson for myself in Node and DART, but it could take me a while. So thought I should bring it to your attention.

Thanks @whikloj. I actually know what's causing that. I'll work on a fix in the next few days.

This should be fixed in version 2.0.2. Download links are here.

Fixed in v2.0.2 and later.