Experiment: Make image_transport_plugins_tests work with clang

❯ bazel test //ros2/test/image_common:image_transport_plugins_tests
C++ exception with description "MultiLibraryClassLoader: Could not create object of class type image_transport::RawSubscriber as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()" thrown in the test body.
Full log, failing test
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //ros2/test/image_common:image_transport_plugins_tests
-----------------------------------------------------------------------------
Running main() from gmock_main.cc
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from TestImageTransportPlugins
[ RUN      ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsurePublisherPluginCanBeLoaded
unknown file: Failure
C++ exception with description "MultiLibraryClassLoader: Could not create object of class type image_transport::RawPublisher as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()" thrown in the test body.
[  FAILED  ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsurePublisherPluginCanBeLoaded (10 ms)
[ RUN      ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsureSubscriberPluginCanBeLoaded
unknown file: Failure
C++ exception with description "MultiLibraryClassLoader: Could not create object of class type image_transport::RawSubscriber as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()" thrown in the test body.
[  FAILED  ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsureSubscriberPluginCanBeLoaded (10 ms)
[----------] 2 tests from TestImageTransportPlugins (20 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (20 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 2 tests, listed below:
[  FAILED  ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsurePublisherPluginCanBeLoaded
[  FAILED  ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsureSubscriberPluginCanBeLoaded

 2 FAILED TESTS

Full log, fixed test
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //ros2/test/image_common:image_transport_plugins_tests
-----------------------------------------------------------------------------
Running main() from gmock_main.cc
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from TestImageTransportPlugins
[ RUN      ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsurePublisherPluginCanBeLoaded
[       OK ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsurePublisherPluginCanBeLoaded (11 ms)
[ RUN      ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsureSubscriberPluginCanBeLoaded
[       OK ] TestImageTransportPlugins.WhenRawPluginsAvailable_EnsureSubscriberPluginCanBeLoaded (0 ms)
[----------] 2 tests from TestImageTransportPlugins (11 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (11 ms total)
[  PASSED  ] 2 tests.

//ros2/test/image_common:image_transport_plugins_tests                   PASSED in 0.1s
Some other tests still fail with clang, but the image_transport plugin workaround is working.

Thanks, we can close this PR now and some doc will be in #78.


Details are missing for "Create and deploy custom XAML workflows"

It looks like the details are missing for "Create and deploy custom XAML workflows".

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

ID: 2e7369fa-7732-f7c3-16c4-9655bfaf2390
Version Independent ID: dedf786d-aba1-a471-dda1-766f3fb8c541
Content: Choose your development style for Dynamics 365 Customer Engagement (Developer Guide for Dynamics 365 Customer Engagement)
Content Source: ce/developer/choose-development-style.md
Service: crm-online
GitHub Login: @JimDaly
Microsoft Alias: jdaly

Thanks. I think I see the problem.
The diagram refers to them.
There is a bullet point that mentions them in the topic:

Create and deploy custom XAML workflows: Dynamics 365 on-premises and IFD supports the ability to create custom XAML workflows. Using the Microsoft Visual Studio Workflow Designer, you can create custom XAML workflows, also called declarative workflows, by dragging workflow activities from the toolbox onto the design surface, creating variables, and setting properties of these activities to implement the workflow' functionality. You can use built-in Windows Workflow Foundation activities or the process activities that are specific to Dynamics 365. More information:

But the link for More information is missing.
This documentation is for v9, which until recently didn't have an on-premises release.
For this version, we removed the content about XAML workflows since they are only supported for on-premises.
Now that we have an on-premises release, seems like we ought to pull this from the v8 content XAML workflows
AFAIK, the XAML workflows feature never really took off and might depend on old versions of Visual Studio. Before we migrate this over, let's see if it is still something people will want to and be able to do.
I'll fix the More information link in the short term

Thanks for all the info. I haven't really used this feature before. I just found something got lost while I was reading the article.


[Feature Request] Ability to disable and clear the Find/Replace history

From a privacy perspective, it would be great if there was an option in the preferences user interface to disable and adjust the number of items saved in the Find/Replace history.
This could be similar to the existing option in the preferences user interface which allows the user to set the number of recent documents.
Additionally, it would be helpful if there was some way of clearing the Find/Replace history in the UI (as opposed to having to run a "defaults delete" command from the Terminal).

Agreed.
Proposed minimal solution: add a clear history entry to the recent searches submenu. Maybe even just put a tickmarked entry there for disabling or adjusting the amount as this doesn't seem like it should be a big preference item or a per mode item.

Excellent - thank you!
That's a good idea to place it in the recent searches submenu, which is also consistent with where TextEdit places it.
So perhaps just two menu items are needed, something like:
"Clear Recent Searches" (which is again consistent with TextEdit)
"Remember Recent Searches" (with checkmark to select/indicate if it is enabled/disabled)


Scripted testing hit 50 limit, need to remove soft limit on account.

We are a dev team and hit the 50 limit, we are testing multiple dev/test subscription creations how can we remove the limit of 50 subscriptions per account so we don't have to use the Account Center.  We are scripting installation so we need to be able to keep automating subscriptions using a scripted approach so need the limit removed.

This relates to https://docs.microsoft.com/en-us/azure/azure-resource-manager/programmatically-create-subscription?tabs=azure-powershell#create-subscriptions-under-a-specific-enrollment-account

Thanks for the question! We are investigating and will update you shortly.

@egondalia to lift any limits on your subscription you need to open a ticket to the Subscription and Billing team. You can do this via the portal. These are free tickets to open. Once opened, they can confirm if you are hitting a hard or a soft limit and address it as needed.


Direct Routing and LBR for Conferencing

Document needs update to add expected behavior of Location-Based Routing for Conferencing in Teams Direct Routing.
Scenario to address.
Customer has Direct Routing enabled. He organized a meeting and invited external participant into the meeting.
This external participant has LBR enabled in her/his home tenant.
Now if anyone in the meeting use the Dial Out option by adding PSTN number, then the Dial Out does not work and it gives the message in Teams "Call not allowed due to organization's settings"
However, if the external LBR enabled participant leaves the meeting and then all user rejoins the meeting again except external participant, then the Dial Out to PSTN number would work fine.
The tenant who organized the Teams meeting, they have no LBR enabled. Issue only arises when external participant who has LBR enabled joins the meeting.
Expected as LBR enabled participant can't speak over the phone with someone on PSTN without bypassing PSTN tolls (regardless of who tries to invite the PSTN user).
This is addressed in the LBR for Conferencing for Skype for Business Server documentation here https://docs.microsoft.com/en-us/skypeforbusiness/plan-your-deployment/enterprise-voice-solution/lbr-for-conferencing but not the Direct Routing documentation.

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

ID: 5e427e0b-ef18-6947-27a6-eb75ddbdead7
Version Independent ID: baf34a47-7d43-8291-7792-dd0b5dac1931
Content: Plan Location-Based Routing for Direct Routing - Microsoft Teams
Content Source: Teams/location-based-routing-plan.md
Service: msteams
GitHub Login: @cichur
Microsoft Alias: v-cichur

@greganth1 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@greganth1 Did the user join via VOIP or PSTN?


How can I receive data per 0.2sec?

I'd like to receive the data when I want.
If it is possible, I want to receive ther data per 0.2 sec.
Kindly check and give me the feedback.
Many thanks,
Jangmi

Hi @rosebaek,
You cannot say that you want to receive new data from the device exactly per 0.2 sec. Actual response time from the device varies in time(based on the device speed itself, noise).
You could say that you want to execute read command every 0.2 sec and this could be done with Observable.interval operator.

I don't know Observable.interval....
I'm sorry that detailed tell to me

Here you could find the docs:
http://reactivex.io/documentation/operators/interval.html
Basically, you're giving it the time interval and it emits elements in given period after subscribe.
You could find some usages here: https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md

Hi, any progress on this?

no...I'm trying to solve this problem....
However,  I need to upgrade the rxBluetoothKit after installing ios11 and Xcode upgrade.

If you have any further questions — please feel free to reopen the issue.


In Contact Us adding a pop-up message when the details are submitted.

Describe the feature
Hello PA,
In contact Us page we don't know whether form submitted or not So I will add a pop-up message when the click on submit button a pop-up message will display .
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Please assign me this.


fixes from rneafie's peer review

Increased the version of vizlab used, but that will actually depend on https://github.com/USGS-VIZLAB/vizlab/pull/343 being merged.

Merged into a separate branch for now. https://github.com/USGS-VIZLAB/vizlab/pull/345

@mwernimont to use: devtools::install_github("USGS-VIZLAB/vizlab", ref="gdp-viz-css-update")


New term - supergroup (in GeologicalContext)

Definition as for other lithostratrigraphic terms, e.g. The full name of the lithostratigraphic supergroup from which the cataloged item was collected. Examples: Karoo, Cape. It's standard practice to reference supergroups here in South Africa. I'm not sure about the rest of the world. Specify also supports supergroup as a standard lithographic term, and this may be the case in other specimen databases too. It would be nice to have it in DwC for completeness.

Closing for lack of evidence of demand.


Add a definition next to each user role in wagtail admin

Description
Add a definition next to each user role in the WagTail admin

@fourthletter can you please add the text for each of the labels in the issue description please?

@wes-otf - here are definitions here. We could shorten the terms to fit on the Wagtail interface.
Staff view and edit all submissions, submit reviews, send determinations, and set up applications (this means creating Forms, Funds, and Rounds, and give other users (e.g. Reviewers or other Staff) access to applications/submissions.
Reviewer has their own dashboard and can submit reviews. Advisory Council Members are typically assigned the 'Reviewer' role.
Applicant can access their own application and send communication in the communication/comment tab.
Partner could view, edit, and comment on a specific application they are assigned to.
Contracting could review and approve the PAF and access documents associated with contracting.
Finance could review and approve the PAF, access documents associated with contracting, and access invoices approved by Staff.
Approver is not a standalone role. This role has to be assigned in tandem with Staff, Contracting, or Finance. This role could review and approve PAF, and could access compliance documents.

@fourthletter Great! Thanks a ton.

@wes-otf - I forgot to add definitions for staff admin and community reviewer
Staff Admin view and edit all submissions, submit reviews, send determinations, and set up applications. Can disable 2FA, archive submissions, and other components not accessible to other roles.
Community Reviewer is an applicant with access to other applications for the Request with community review (peer review) workflow.


Issue: I seem to have my layout wrapped in my layout trying to override App.vue...

So, maybe not a bug, probably me, but not sure...
Trying to override App.vue to add route transitions, but I'm getting a double layout situation going on...I'm going off of the tutorial that you just published, but it does not seem to be working properly. Here is a screen shot:

...and you can see that my layout has another layout inside of it, and I don't know how to remedy this situation.
Here is my code. First, the App.vue file:
<template>
  <MainLayout>
    <transition name="fade">
      <router-view />
    </transition>
  </MainLayout>
</template>

<static-query>
query App {
  metadata {
    siteName
    siteDescription
  }
}
</static-query>

...and my layout file, which is called Main.vue:
<template>

      <g-link class="nav__link" to="/">Home</g-link>
      <g-link class="nav__link" to="/about/">About</g-link>

    <slot />

Hello People

</template>

Any thoughts or pointers would be much appreciated. Thank you :-)

You should not import any layout to App.vue :) You should use it as a wrapper for all other layouts. So the stuff you have in Main.vue should go in App.vue if you want it on all pages.

hmmmm...I’m following this tutorial, and it didn’t mention that, so maybe it should be altered?
https://gridsome.org/docs/overriding-app/

@rchrdnsh The src/pages/Index.vue file is probably also wrapped in a layout component.

ahhhh, that got rid of the issue :-) Thank you both! 🤗

Mind if update the docs with some of this additional info?


Fitting model failed for all genes

Hi,
I am very interested in using Pando to aid in the analysis of my paired snATAC-seq & snRNA-seq of the same samples. I am trying to follow along with the tutorial using my own data. However I am running into an issue when I run the infer_grn function where the model fails to fit on all genes.
Briefly, I have processed my snATAC-seq data using Signac, my snRNA-seq data using LIGER + Seurat. I integrated the data using Seurat's integration platform, and used the anchors to impute gene expression for the variable genes in the snATAC-seq data, so I have a Seurat object containing a peaks accessibility matrix & gene expression, which I believe is a suitable pre-requisite for running Pando.
Before running Pando, I subset my seurat object to contain only one major cell lineage that I am interested in investigating further (31,557 cells total). I ran the initiate_grn function, and then the find_motifs function as suggested.
I am wondering if you might have any idea why the model would fail for all genes? Below is some relevant code.

library(Pando)
library(BSgenome.Mmusculus.UCSC.mm10)
data(motifs)

seurat_celltype <- initiate_grn(
  seurat_celltype,
  peak_assay = 'peaks',
  rna_assay = 'RNA',
  exclude_exons = FALSE
)

seurat_celltype <- find_motifs(
    seurat_celltype ,
    pfm = motifs,
    genome = BSgenome.Mmusculus.UCSC.mm10
)

# this one fails for all genes!!
seurat_celltype <- infer_grn(
    seurat_celltype,
    peak_to_gene_method = 'Signac',
    method = 'glm',
    prallel=TRUE
)

Output:
Selecting candidate regulatory regions near genes
Preparing model input
Fitting models for 3087 target genes
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=12m 33s
Warning: Fitting model failed for all genes.

I am using exclude_exons = FALSE as it gives an error if I don't do that. However I think it is a problem separate from Pando, because a small handful of my peaks actually overlap each other, the length of "regions" and "peaks" end up different after the  initiate_grn step.
I would greatly appreciate your help in trying to solve this issue!
Sam

Dear Sam,
sorry for the late reply. If you set verbose=2 in infer_grn(), it should print the actual errors of the fitting functions. It seems like I should make this the default. Maybe try this and see what you get.
Also, not quite sure if this is the cause of your problem, but there is a typo in you arguments to infer_grn(): prallel should be parallel.
To your second point, what is the error you see when setting exclude_exons = FALSE?
Cheers,
Jonas

Hi Sam, thanks for the update.
Concerning the first issue, infer_grn() has an argument tf_cor, where the default is 0.1 to prefilter TFs with some correlation to the target genes expression. You could set that to 0 and see what you get. If the messages persist, we might have to do some troubleshooting.
As for the second issue, it's quite possible that your diagnosis is right. I did not really have overlapping peaks in mind when I wrote it, but I'll look into it :)

Okay I tried using tf_cor = 0, but I am still getting this at the end: Warning: Fitting model failed for all genes. So looking at line 202 of grn.R makes me think that all of the correlations are 0 somehow?

Ah thanks for the info, I think I have a suspicion what could have gone wrong. The function find_motifs() takes an optional argument motif_tfs where one can provide a dataframe mapping motifs to their respective TFs. If left empty, the function simply defaults to a manually curated one for human TFs that is provided with Pando. However since your dataset is mouse, none of the TFs will be found in the dataset and the resulting matrix will be empty. This then leads to the Warning: No correlating TFs found for ... warning, because I did not consider that the matrix could already be empty before filtering by correlation. I added a new error to check for this earlier.
To fix it, you can try to get a motif and TF set for mouse, for instance from JASPAR. find_motifs() takes as pfm a PFMatrixList as returned e.g. by the TFBSTools function getMatrixSet(). Additionally, you would need to supply a dataframe in motif_tfs with the first column being the motif name and the second being the TF name.
I hope this helps, let me know how it goes :)

JASPAR seems to have much fewer motifs for mouse, so what I ended up doing was use the human list but only keep genes with a one to one ortholog across mouse & human. Then I made the motif_tfs dataframe as you suggested and ran the find_motifs function.
pfm <- getMatrixSet(
  x = JASPAR2020,
  opts = list(species = 9606, all_versions = FALSE)
)
seurat_celltype <- find_motifs(
    seurat_celltype ,
    pfm = pfm,
    genome = BSgenome.Mmusculus.UCSC.mm10,
    motif_tfs = motif_tfs
)

This seems to work, the code takes a lot longer to run and I am not getting the No correlating TFs error. However I did run into a subsequent error after the code had already been running for a very long time.
Error in { : task 34 failed - "<text>:1:8: unexpected symbol
1: 2610316D01Rik
           ^"

There seems to be an issue with a certain gene. The gene is present in the data but maybe it somehow doesn't like the way it's formatted? No idea. Thank you so much for all of your help so far.

Ok great, then at least we solved that problem. I'm not quite sure what the issue with the gene is 🤔 . Do you know at which stage it fails? The function should print what is does like Adding TF info, Building motif matrix etc. Otherwise, glad it worked out in the end :) Can I close the issue?

I encountered the same error. In my case it is:
Error in str2lang(x) : <text>:1:11: unexpected input
1: myl10 ~ 10_
                        ^

After going through the infer_grn() function line by line, this error comes out from the following lines from function fit_grn_models.SeuratPlus.
    model_frml <- as.formula(
      paste0(target, ' ~  ', paste0(map(frml_string, function(x) x$frml),  collapse=' + '))
    )

The cause is likely to be due to the fact that the peak names start with integer but not character. Renaming these peak names at the very beginning (they cannot be changed in Seurat object at the moment) will probably resolve this

Hi , I am also using mouse data.
COuld you explain how to generate motif_tfs dataframe ?


Doing 'reset' as route type produces error

When I add the 'reset' type to route I get this error:
_this3._navBar.immediatelyRefresh is not a function.
I recently updated to react-native 0.20+ and got the latest react-native-router-flux 2.3.6

I can confirm - it's the new issue that does not exist in 2.3.0

I have same issue

this issue occurs from version 2.3.4

Current workaround:

You can downgrade to stable 2.3.1 or master 2.3.3.
if you don't need to render NavBar, you can try setting up prop showNavigationBar={false} instead of hideNavBar={true} to tell ExNavigator do not render NavBar specifically. see: #262

@zxcpoiu tks

Please check 2.3.7

confirmed.
2.3.7 fixed this issue.
tested under<EMAIL_ADDRESS>thanks!


Fix a typo in debug messages

Sorry I've checkout the wrong repo, resubmitting with a non-conflicting merge


[Fix-10049] Conditions Task branch flow failed

Purpose of the pull request
close #10049

Codecov Report

Merging #10077 (0f56515) into dev (d8b56b8) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##                dev   #10077   +/-   ##
=========================================
  Coverage     40.85%   40.86%
- Complexity     4630     4634    +4
=========================================
  Files           839      839
  Lines         34007    34013    +6
  Branches       3770     3771    +1
=========================================
+ Hits          13895    13898    +3
- Misses        18782    18788    +6
+ Partials       1330     1327    -3

Impacted Files
Coverage Δ

...er/server/master/runner/WorkflowExecuteThread.java
8.01% <0.00%> (-0.02%)
:arrow_down:

...ver/master/runner/task/ConditionTaskProcessor.java
5.40% <0.00%> (+0.14%)
:arrow_up:

...nscheduler/service/process/ProcessServiceImpl.java
30.80% <0.00%> (-0.05%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...r/plugin/task/sqoop/parameter/SqoopParameters.java
53.33% <0.00%> (-1.34%)
:arrow_down:

...heduler/server/master/service/FailoverService.java
64.18% <0.00%> (+0.74%)
:arrow_up:

...erver/master/runner/task/TaskProcessorFactory.java
46.15% <0.00%> (+4.48%)
:arrow_up:

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks


source attribute could be undefined

TypeError: Cannot convert undefined or null to object
        at Function.keys (<anonymous>)

      at Function.getClosestHighQualitySource (node_modules/@expo/react-native-responsive-image/ResponsiveImage.js:83:136)
      at ResponsiveImage.render (node_modules/@expo/react-native-responsive-image/ResponsiveImage.js:59:35)
      at node_modules/react-test-renderer/lib/ReactCompositeComponent.js:796:21
      at measureLifeCyclePerf (node_modules/react-test-renderer/lib/ReactCompositeComponent.js:75:12)
      at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (node_modules/react-test-renderer/lib/ReactCompositeComponent.js:795:25)
      at ReactCompositeComponentWrapper._renderValidatedComponent (node_modules/react-test-renderer/lib/ReactCompositeComponent.js:822:32)
      at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-test-renderer/lib/ReactCompositeComponent.js:362:30)
      at ReactCompositeComponentWrapper.mountComponent (node_modules/react-test-renderer/lib/ReactCompositeComponent.js:258:21)
      at Object.mountComponent (node_modules/react-test-renderer/lib/ReactReconciler.js:46:35)

You have to pass in valid image sources, otherwise there is nothing to display.

I think, this is a bug. Should be checked for undefined in the code.


Fix MFA detection with custom APP_BASE

https://github.com/passbolt/go-passbolt-cli/issues/59

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

Test broken due to https://github.com/orgs/community/discussions/116610


Fix duplicate notification for host

we're already sending a notification through addHost()

Coverage decreased (-0.007%) to 66.239% when pulling 371965e1863cf1a46e215215d61ba617256b74a0 on fix/duplicate-host-email into 3502ef7c75d0402eda99c58705da7691784e7e09 on master.


Is idleRequired encouraging battery draining?

Given that a phone likes to shut down the radio etc when it's idle, is restricting sync to this situation doing more harm than good?

I think the use case is for when you want to do bandwidth hungry and/or computation heavy tasks while avoiding grinding the user experience to a halt.
Killing the battery would equally be a bad outcome.
Can the UA arbitrate these requests based on past outcomes for a given origin x scope?

I think we should leave this out. The UA should already optimize for doing synchronization when it impacts the user as little as possible (both performance and battery-wise).

+1 for leaving it to the UA for now.

It's not in the latest explainer or IDL, so job done!


Add install instructions

Added short instructions how to start using the library.

@piranha ^_^

Nice, thanks! IDK why am I so slow, but here we go 😁


realistic hardware / software ahrs goals

With discussions started in multiple threads at this point with issues stemming from finding suitable hardware and coding or interpreting output to utilize solid state gyros and magnetometers for the purpose of backup attitude, it is important to baseline what it is we really NEED not necessarily what is available.  While it would be possible to design a system with full inertial navigation functions I dont believe we need it or the hassle.
This should speed development by focusing on the minimal path to success resulting in usable hardware.
What we need

AHRS - A solution to provide an accurate and stable backup artificial attitude output recognizable by  existing EFB software packages (either implement imu code on raw sensors or select a package with build in linear acceleration correction)

GPS - a quality GPSS solution with no less than 5hz (GDS90 standard) refresh rate, WAAS/LAAS, that is either on board with the gyro package or, ideally usb external to permit remote mounting in a suitable location.  Benefit of remote USB solutions is their output usually conforms to industry standard data streams and we dont have power stability or signal shape or interference issues on GPIO for such (critical) high frequency data.  Must permit storage of last known almanac and ephemeris data for rapid warm and hot restarts and permit user input for start location on cold starts.  Usage of iPad internal GPS either as primary or kalman filtered into the solution with the external source to compare derived accuracy. 5hz also provides rapid enough course change and track that heading is derived in perceived real time with minimal lag further negating a magnetometer heading.

Selectivity - ability to select via stratux web interface which components are installed.  1/2 radio, gps, ahrs etc so users can build a unit that fits their needs.

Compatible output streams - stratux outputs as close to or conformal to industry aviation data bus standards.  GDL88/90 or ARINC so that all data streams leaving the unit work with the largest compliment of hardware.  If this is not possible or practical due to third party developers of current EFB software not using said industry standards perhaps translators are needed to stratux sends the appropriately reformatted message traffic specific to each client attached. most EFB developers code to specific or multiple hardware devices because the all output differently.  IE have a standard data stream that can be chameleonized specific to the attached client/s.  Stratux is already gaining traction with several EFBs however those developers with their own hardware will inevitably attempt to lock out this project and will likely patent their data stream if they have not already.  Industry standards on file with the FAA have to remain open, hence no lockout.  If we want stratux to work will every software package it may have to emulate as many streams as possible.. or we could venture off and develop to the standard and let the software makers add our data stream to their products.

What we dont need and why

Magnetic heading  -  Unless we feel that our gyro panel based heading and our whisky is going to fail as well as our Stratux gps source.. the hassles with implementing a magnetometer are huge: mounting, power routing, nearby ferris interference, physical vibration/movement, etc just dont warrant the effort and even with perfect code, most peoples placement / design / and usage would preclude it from providing anything useful.  Provided the mems gyros dont need to see it for their AHRS calcs... we dont NEED it.  Most portable software is just looking for and displaying GPS track heading anyway.

Pressure alt - again, unless we feel that we are going to see a dual failure of static gauges and the GPS constellation... its really not needed.  In the aircraft, changes in window, vent, heating etc will effect the internal pressure of the aircraft and will make the output suspect.  additionally, software would have to allow for barometric correction (ie. ability to set local QNH) and it must be calibrated to be of use in EACH application.. HASSLE dump it GPS altitude is more than fine now with 1-3m resolution or better in GNSS / WASS/LAAS implementations.

INU functionality  -  pure position derived via absolute motion analysis is really becoming outdated unless being used in autopilot application.  INU derived position is over 900m out after just one hour without kalman filtered GPS updates.  Again, unless we feel that the GPS is going to fail and most of us are using a iPad with gps installed as backup.  If external usb GNSS solutions are used they are cheap and easy to swap out in flight vs a board in the unit.  keeping the gps out of the case reduces size, heat, and placement limitations.

skypuppy has made mention of a quality chip that has onboard quaternion and sensor fusion that negates the need to use such code in stratux... any other hardware out there that warrants a look?  We should find a hardware solution that meets the need, easily avail, and cost effective.. baseline it as the hardware and code against it!!
The MPU6050 is a 6 degree of freedom chip from Invensense, containing a tri axis accelerometer and a tri axis gyroscope. It is operated off a 3.3V supply, and communicates via I2C at a maximum speed of 400kHz. This chip is also available in an SPI package known as the MPU6000, which I would have preferred to use given the choice due to the much higher throughput of SPI. However for some reason the world seems to prefer the I2C version, so this was the only version I could find with a breakout board.
The main pros of this chip are as follows:
Selectable +-2/4/8/16g accelerometer range
Selectable +-250/500/1000/2000 degrees/s gyroscope range
16 bit output from both sensors
Gyroscope linear acceleration sensitivity of 0.1 degrees/s, a vast improvement over the tri axis gyroscopes of other companies.
Low noise on both outputs, see the datasheet
Data output rate up to 1000Hz, although the built in digital low pass filter has a maximum corner frequency of 256Hz. However, the register map documentation mentions turning off the DLPF, so I'm not sure which to believe at the moment.
Another feature of this chip is the onboard digital motion processor (DMP). In theory this can be used to directly output euler angles, quaternions, or a direction cosine matrix, and even perform filtering along with integrating the data from an external I2C compass. This sounds great on paper, but in reality Invensense have been very reluctant to provide any sort of source code or documention on how to use the DMP unless you sign a non disclosure agreement, so as far as I know nobody has really got this working to it's full potential as of yet.
To summarise, this chip is a massive improvement over all the previous sensors I have used, and it comes in a single package. There is even a 9DoF MPU9150 version coming, which I intend to acquire as soon as it's released in 2012 Q2.
let the discussion begin

For Internal GPS with optional external antenna - this board has possibilities..
Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3
Very small, greater than 10hz updates, WAAS, backup batt, good filtering, low voltage protection
https://www.adafruit.com/product/746
TECHNICAL DETAILS
Satellites: 22 tracking, 66 searching
Patch Antenna Size: 15mm x 15mm x 4mm
Update rate: 1 to 10 Hz
Position Accuracy: < 3 meters (all GPS technology has about 3m accuracy)
Velocity Accuracy: 0.1 meters/s
Warm/cold start: 34 seconds
Acquisition sensitivity: -145 dBm
Tracking sensitivity: -165 dBm
Maximum Velocity: 515m/s
Vin range: 3.0-5.5VDC
MTK3339 Operating current: 25mA tracking, 20 mA current draw during navigation
Output: NMEA 0183, 9600 baud default
DGPS/WAAS/EGNOS supported
FCC E911 compliance and AGPS support (Offline mode : EPO valid up to 14 days )
Up to 210 PRN channels
Jammer detection and reduction
Multi-path detection and compensation
Revision History:
As of 8/10/2014 we are shipping with firmware v. 5632 which improves altitude calculations and stability. It is equivalent in all other functionality and is a drop-in replacement.
Breakout board details:
Weight (not including coin cell or holder): 8.5g
Dimensions (not including coin cell or holder): 25.5mm x 35mm x 6.5mm / 1.0" x 1.35" x 0.25"
The breakout is built around the MTK3339 chipset, a no-nonsense, high-quality GPS module that can track up to 22 satellites on 66 channels, has an excellent high-sensitivity receiver (-165 dB tracking!), and a built in antenna. It can do up to 10 location updates a second for high speed, high sensitivity logging or tracking. Power usage is incredibly low, only 20 mA during navigation.
Best of all, we added all the extra goodies you could ever want: a ultra-low dropout 3.3V regulator so you can power it with 3.3-5VDC in, 5V level safe inputs, ENABLE pin so you can turn off the module using any microcontroller pin or switch, a footprint for optional CR1220 coin cell to keep the RTC running and allow warm starts and a tiny bright red LED. The LED blinks at about 1Hz while it's searching for satellites and blinks once every 15 seconds when a fix is found to conserve power. If you want to have an LED on all the time, we also provide the FIX signal out on a pin so you can put an external LED on.
Two features that really stand out about version 3 MTK3339-based module is the external antenna functionality and the the built in data-logging capability. The module has a standard ceramic patch antenna that gives it -165 dB sensitivity, but when you want to have a bigger antenna, you can snap on any 3V active GPS antenna via the uFL connector. The module will automatically detect the active antenna and switch over! Most GPS antennas use SMA connectors so you may want to pick up one of our uFL to SMA adapters.
The other cool feature of the new MTK3339-based module (which we have tested with great success) is the built in datalogging ability. Since there is a microcontroller inside the module, with some empty FLASH memory, the newest firmware now allows sending commands to do internal logging to that FLASH. The only thing is that you do need to have a microcontroller send the "Start Logging" command. However, after that message is sent, the microcontroller can go to sleep and does not need to wake up to talk to the GPS anymore to reduce power consumption. The time, date, longitude, latitude, and height is logged every 15 seconds and only when there is a fix. The internal FLASH can store about 16 hours of data, it will automatically append data so you don't have to worry about accidentally losing data if power is lost. It is not possible to change what is logged and how often, as its hardcoded into the module but we found that this arrangement covers many of the most common GPS datalogging requirements.
Comes with one fully assembled and tested module, a piece of header you can solder to it for breadboarding, and a CR1220 coin cell holder

Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055 ~ $35
Absolute Orientation (Euler Vector, 100Hz) Three axis orientation data based on a 360° sphere
Absolute Orientation (Quaterion, 100Hz) Four point quaternion output for more accurate data manipulation
Angular Velocity Vector (100Hz) Three axis of 'rotation speed' in rad/s
Acceleration Vector (100Hz) Three axis of acceleration (gravity + linear motion) in m/s^2
Magnetic Field Strength Vector (20Hz) Three axis of magnetic field sensing in micro Tesla (uT)
Linear Acceleration Vector (100Hz) Three axis of linear acceleration data (acceleration minus gravity) in m/s^2
Gravity Vector (100Hz) Three axis of gravitational acceleration (minus any movement) in m/s^2
Temperature (1Hz) Ambient temperature in degrees celsius
question is if the Quaterion vector outputs are fully compensated for linear accel forces.. it will it work in accelerated flight?

USB GPS
BU-353-S4  cheap at ~30
but slow updates.. 1hz
4800 baud
did I mention cheap...

Since (hopefully) nobody would be crazy enough to use Stratux for IFR
navigation, 1 hz is probably good enough. Here's my thinking:
High cruise in my Tiger is 139 knots / 150 MPH. That's 220 feet per second.
Depending on the internal delays in the system that puts my actual position
somewhere between 0 and ~300 feet of what the GPS shows. Considering that
99.9% of the time I'm looking at the sectional view which is a 1:500,000
scale, I think +/- 300 feet is fine.
With the BU-353-S4 I've got the BOM for a UAT + GPS Stratux down to $120.
That puts it in range of even the cheapest guys at my home airport.
If you want to step up to a 5 hz or 10 hz, the Adafruit breakout makes
perfect sense. I've got several here - I'll try to work up a case that
supports both internal (patch) and external (pigtail) applications.
On Mon, Dec 14, 2015 at 9:15 AM, duecedriver<EMAIL_ADDRESS>wrote:

USB GPS
BU-353-S4 cheap at ~30
but slow updates.. 1hz
4800 baud
did I mention cheap...
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164463151.

--
Steven Sokol
408 Camelot Drive
Liberty, MO 64068
mobile: +1<PHONE_NUMBER>
fax: +1<PHONE_NUMBER>

not so much for position awareness but fluid motion and fluid heading.. .again as a backup source to compliment ahrs a fluid heading makes flying backup much easier..
I once brought a 300 million dollar U-2 back after complete electrical failure with a gamin 296
choppy updates suck...
will 1hz work.. yep.. is 5hz better.. you bet.. that is why its the GDL90 spec.. is 10hz overkill.. yep...

On Mon, Dec 14, 2015 at 10:12 AM, duecedriver<EMAIL_ADDRESS>wrote:

I once brought a 300 million dollar U-2 back

which variant?

I can buy the need for smooth heading updates if you're using the angular
velocity as an input to the AHRS. That's where an integrated unit like the
RY835AI could have really shined - it had everything onboard that you need
to factor out accelerations. I wonder if Adafruit would consider combining
their Ultimate GPS breakout with their Absolute Position breakout - if the
BNO055 can accept an outside angular velocity feed from the GPS.
On Mon, Dec 14, 2015 at 10:12 AM, duecedriver<EMAIL_ADDRESS>wrote:

not so much for position awareness but fluid motion and fluid heading..
.again as a backup source to compliment ahrs a fluid heading makes flying
backup much easier..
I once brought a 300 million dollar U-2 back after complete electrical
failure with a gamin 296
choppy updates suck...
will 1hz work.. yep.. is 5hz better.. you bet.. that is why its the GDL90
spec.. is 10hz overkill.. yep...
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164479599.

--
Steven Sokol
408 Camelot Drive
Liberty, MO 64068
mobile: +1<PHONE_NUMBER>
fax: +1<PHONE_NUMBER>

nope, not talking angular velocity.. the ahrs really needs both the gyro package and linear acceleration package fused for angularity.. perhaps even the magnetometer
nope I am talking strictly looking at a moving map EFB with GPS track heading being displayed either via text or simulated compass rose/HSI ring
@jpoirier it was a U-2S block 10 with full sensor compliment oh... and it was night over enemy territory
when we (upgraded) the fleet from round dials to glass.. the whole PFD/MFD system was bespoke written from scratch because off the shelf components would not have worked with our sensor packages.. it failed a lot especially when it was new.. it ran on a x486 computer I shit you not..

I'll just add this: a full-function accurate IMU's need the
magnetometer and gyro and accelerometer.  When used together with proper
algorithms, each sensor is used to make up for the shortcomings of the
other -- and they each have somewhat severe limitations when used
alone.  a 9+ DOF unit already has all three on the chip.  Regardless, no
IMU is going to be accurate in all 3 axes over a period of time without
external reference.  Just ask the Navy how they do it in their submarines.
Further, there is lots more excellent data we can use for other aviation
knowledge purposes.
I remember from flight training that interior static ports are not
nearly as accurate as one sampling baro pressure from an appropriate
place outside the aircraft.  Freescale used to make sensor chips with
barbed port right on the chip for easy attachment of a hose to get
pressure data from anywhere one chose; don't know if they still make
them.  I have a few but they're all 5V pieces.  I'm looking now for one
that uses I2C rather than 0-5V analog output.
I think knowing the aircraft's attitude electronically is rather
important.  It is extremely useful if used to drive an autopilot
(future.)  It can also be used to help determine track over ground in
high wind situations (crabs and slips) but I wouldn't use it for
landing.  :)  Now we're getting into fly-by-wire territory.
Lastly, I think a magnetometer is extremely important in the event of a
GPS outage, and they occur during normal maintenance, and sometimes due
to bad guys.  The mag is essentially a DG backup without it's
limitations.  Some well designed chips, again like the BNO055, claim
that after initial (easy) mag calibration, location and orientation of
the chip don't matter very much unless you put some large hunk of metal
near it later; requiring another calibration.
CPU overhead for the BNO055, theoretically, is lower than the 6050,
because all the magic can be internal to the chip.  But if you really
wanted to, you can get the individual data from each sensor and perform
tests against the chip's output.  Btw, a couple of groups outside Bosch
have already done so and get better results with the software inside the
BNO055 than the external calcs can determine!  That is, with firmware
version 3+, anyway.
There is nothing wrong with the RY chip for it's stated purposes but we
can do so much more with the Bosch unit.  The only downside is that it
does not come with a GPS built-in, but with all the problems cropping up
with the RY unit, maybe it is time to look elsewhere for such an
important function.  (warning: possible political rant) I'm guessing
that the problems associated with the RY hardware are due to the unit's
country of manufacture.  They screw up everything else they make (read
the book, "Poorly Made in China.")
Skypuppy
On 12/14/2015 07:37 AM, duecedriver wrote:

With discussions started in multiple threads at this point with issues
stemming from finding suitable hardware and coding or interpreting
output to utilize solid state gyros and magnetometers for the purpose
of backup attitude, it is important to baseline what it is we really
NEED not necessarily what is available While it would be possible to
design a system with full inertial navigation functions I dont believe
we need it or the hassle
This should speed development by focusing on the minimal path to
success resulting in usable hardware
What we need
1 A solution to provide an accurate and stable backup artificial
attitude output recognizable by existing EFB software packages (either
implement imu code on raw sensors or select a package with build in
linear acceleration correction)
2 GPS - a quality GPSS solution with no less than 5hz (GDS90 standard)
refresh rate, that is either on board with the gyro package or,
ideally usb external to permit remote mounting in a suitable location
Benefit of remote USB solutions is their output usually conforms to
industry standard data streams and we dont have power stability or
signal shape or interference issues on GPIO for such (critical) high
frequency data Must permit storage of last known almanac and ephemeris
data for rapid warm and hot restarts and permit user input for start
location on cold starts Usage of iPad internal GPS either as primary
or kalman filtered into the solution with the external source to
compare derived accuracy 5hz also provides rapid enough course change
and track that heading is derived in perceived real time with minimal
lag further negating a magnetometer heading
3 ability to select via stratux web interface which components are
installed 1/2 radio, gps, ahrs etc so users can build a unit that fits
their needs
4 stratux outputs as close to or conformal to industry aviation data
bus standards GDL88/90 or ARINC so that all data streams leaving the
unit work with the largest compliment of hardware If this is not
possible or practical due to third party developers of current EFB
software not using said industry standards perhaps translators are
needed to stratux sends the appropriately reformatted message traffic
specific to each client attached most EFB developers code to specific
or multiple hardware devices because the all output differently
Stratux is already gaining traction with several however those
developers with their own hardware will inevitably attempt to lock out
this project and will likely patent their data stream if they have not
already Industry standards on file with the FAA have to remain open,
hence no lockout If we want stratux to work will every software
package it may have to emulate as many streams as possible or we could
venture off and develop to the standard and let the software makers
add our data stream to their products
What we dont need and why
1 Magnetic heading - Unless we feel that our gyro panel based heading
and our whisky is going to fail as well as our Stratux gps source the
hassles with implementing a magnetometer are huge: mounting, power
routing, nearby ferris interference, physical vibration/movement, etc
just dont warrant the effort and even with perfect code, most peoples
placement / design / and usage would preclude it from providing
anything useful Provided the mems gyros dont need to see it for their
AHRS calcs we dont NEED it Most portable software is just looking for
and displaying track heading anyway
2 Pressure alt - again, unless we feel that we are going to see a dual
failure of static gauges and the GPS constellation its really not
needed In the aircraft, changes in window, vent, heating etc will
effect the internal pressure of the aircraft and will make the output
suspect additionally, software would have to allow for barometric
correction (ie ability to set local QNH) and it must be calibrated to
be of use in EACH application HASSLE dump it
3 INU functionality - pure position derived via absolute motion
analysis is really becoming outdated unless being used in autopilot
application INU derived position is over 900m out after just one hour
without kalman filtered GPS updates Again, unless we feel that the GPS
is going to fail and most of us are using a iPad with gps installed as
backup If external usb GNSS solutions are used they are cheap and easy
to swap out in flight vs a board in the unit
skypuppy has made mention of a quality chip that has onboard
quaternion and sensor fusion that negates the need to use such code in
stratux any other hardware out there that warrants a look? We should
find a hardware solution that meets the need, easily avail, and cost
effective baseline it as the hardware and code against it!!
let the discussion begin
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147.

I've been using this chip for over a year now and love it!  I have not
specifically utilized it's capability to use GPS and GLONASS and other
sat systems in software (other than what it does internally), but it is
on my to-do list.  Eventually.  The math on that is extremely difficult
for my little head.
Oh, and i use their external antenna on one of my chips and that makes a
world of difference when there is not clear sky overhead.
Skypuppy
No, no financial connection with Adafruit whatsoever.  :)
On 12/14/2015 08:21 AM, duecedriver wrote:

For Internal GPS with optional external antenna - this board has
possibilities..
Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3
Very small, greater than 10hz updates, WAAS, backup batt, good
filtering, low voltage protection
https://www.adafruit.com/product/746
TECHNICAL DETAILS
Satellites: 22 tracking, 66 searching
Patch Antenna Size: 15mm x 15mm x 4mm
Update rate: 1 to 10 Hz
Position Accuracy: < 3 meters (all GPS technology has about 3m accuracy)
Velocity Accuracy: 0.1 meters/s
Warm/cold start: 34 seconds
Acquisition sensitivity: -145 dBm
Tracking sensitivity: -165 dBm
Maximum Velocity: 515m/s
Vin range: 3.0-5.5VDC
MTK3339 Operating current: 25mA tracking, 20 mA current draw during
navigation
Output: NMEA 0183, 9600 baud default
DGPS/WAAS/EGNOS supported
FCC E911 compliance and AGPS support (Offline mode : EPO valid up to
14 days )
Up to 210 PRN channels
Jammer detection and reduction
Multi-path detection and compensation
Revision History:
As of 8/10/2014 we are shipping with firmware v. 5632 which improves
altitude calculations and stability. It is equivalent in all other
functionality and is a drop-in replacement.
Breakout board details:
Weight (not including coin cell or holder): 8.5g
Dimensions (not including coin cell or holder): 25.5mm x 35mm x 6.5mm
/ 1.0" x 1.35" x 0.25"
The breakout is built around the MTK3339 chipset, a no-nonsense,
high-quality GPS module that can track up to 22 satellites on 66
channels, has an excellent high-sensitivity receiver (-165 dB
tracking!), and a built in antenna. It can do up to 10 location
updates a second for high speed, high sensitivity logging or tracking.
Power usage is incredibly low, only 20 mA during navigation.
Best of all, we added all the extra goodies you could ever want: a
ultra-low dropout 3.3V regulator so you can power it with 3.3-5VDC in,
5V level safe inputs, ENABLE pin so you can turn off the module using
any microcontroller pin or switch, a footprint for optional CR1220
coin cell to keep the RTC running and allow warm starts and a tiny
bright red LED. The LED blinks at about 1Hz while it's searching for
satellites and blinks once every 15 seconds when a fix is found to
conserve power. If you want to have an LED on all the time, we also
provide the FIX signal out on a pin so you can put an external LED on.
Two features that really stand out about version 3 MTK3339-based
module is the external antenna functionality and the the built in
data-logging capability. The module has a standard ceramic patch
antenna that gives it -165 dB sensitivity, but when you want to have a
bigger antenna, you can snap on any 3V active GPS antenna via the uFL
connector. The module will automatically detect the active antenna and
switch over! Most GPS antennas use SMA connectors so you may want to
pick up one of our uFL to SMA adapters.
The other cool feature of the new MTK3339-based module (which we have
tested with great success) is the built in datalogging ability. Since
there is a microcontroller inside the module, with some empty FLASH
memory, the newest firmware now allows sending commands to do internal
logging to that FLASH. The only thing is that you do need to have a
microcontroller send the "Start Logging" command. However, after that
message is sent, the microcontroller can go to sleep and does not need
to wake up to talk to the GPS anymore to reduce power consumption. The
time, date, longitude, latitude, and height is logged every 15 seconds
and only when there is a fix. The internal FLASH can store about 16
hours of data, it will automatically append data so you don't have to
worry about accidentally losing data if power is lost. It is not
possible to change what is logged and how often, as its hardcoded into
the module but we found that this arrangement covers many of the most
common GPS dataloggin g requirements.
Comes with one fully assembled and tested module, a piece of header
you can solder to it for breadboarding, and a CR1220 coin cell holder
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164449445.

If one reads the whitepapers, if you use the on-chip calculations, then
yes, full compensation is factored in.  I'm still coming to grips with
quaternions but the bottom line is they don't get tripped up when at 180
degrees.  Further, it is fairly easy to change a quad to cartesian,
except for that divide by 0 problem at 180.
On 12/14/2015 09:05 AM, duecedriver wrote:

Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055 ~ $35
Absolute Orientation (Euler Vector, 100Hz) Three axis orientation data
based on a 360° sphere
Absolute Orientation (Quaterion, 100Hz) Four point quaternion output
for more accurate data manipulation
Angular Velocity Vector (100Hz) Three axis of 'rotation speed' in rad/s
Acceleration Vector (100Hz) Three axis of acceleration (gravity +
linear motion) in m/s^2
Magnetic Field Strength Vector (20Hz) Three axis of magnetic field
sensing in micro Tesla (uT)
Linear Acceleration Vector (100Hz) Three axis of linear acceleration
data (acceleration minus gravity) in m/s^2
Gravity Vector (100Hz) Three axis of gravitational acceleration (minus
any movement) in m/s^2
Temperature (1Hz) Ambient temperature in degrees celsius
question is if the Quaterion vector outputs are fully compensated for
linear accel forces.. it will it work in accelerated flight?
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164460134.

A little background from a couple months ago ...
@cyoung and I went back and forth on the offline data for the GPS. The longest window we could do is 30 days. This means the user needs to perform some action from a desktop or mobile device which has connectivity to both the Stratux and to the Internet in order to fetch updates and load them to the Stratux.
There was no good solution to insure all the moving parts were connecting with the necessary infrastructure for every user and our target user is someone with minimal Linux and infrastructure knowledge.

Isn't that what the internal gyro's, accelerometers, and mag's do?
On 12/14/2015 10:28 AM, Steven Sokol wrote:

I can buy the need for smooth heading updates if you're using the angular
velocity as an input to the AHRS. That's where an integrated unit like the
RY835AI could have really shined - it had everything onboard that you need
to factor out accelerations. I wonder if Adafruit would consider combining
their Ultimate GPS breakout with their Absolute Position breakout - if the
BNO055 can accept an outside angular velocity feed from the GPS.
On Mon, Dec 14, 2015 at 10:12 AM, duecedriver<EMAIL_ADDRESS>wrote:

not so much for position awareness but fluid motion and fluid heading..
.again as a backup source to compliment ahrs a fluid heading makes
flying
backup much easier..
I once brought a 300 million dollar U-2 back after complete electrical
failure with a gamin 296
choppy updates suck...
will 1hz work.. yep.. is 5hz better.. you bet.. that is why its the
GDL90
spec.. is 10hz overkill.. yep...
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164479599.

--
Steven Sokol
408 Camelot Drive
Liberty, MO 64068
mobile: +1<PHONE_NUMBER>
fax: +1<PHONE_NUMBER>
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164485179.

Yes, agree with target audience.  Does make it tough, though.  If the RY
chip GPS is indeed doing a 0,0 cold start every time, that is a terrible
design flaw.  I know of no other chip that does not store it's last
known point somewhere in it's non-volatile memory.
On 12/14/2015 03:00 PM, bradanlane wrote:

A little background from a couple months ago ...
@cyoung https://github.com/cyoung and I went back and forth on the
offline data for the GPS. The longest window we could do is 30 days.
This means the user needs to perform some action from a desktop or
mobile device which has connectivity to both the Stratux and to the
Internet in order to fetch updates and load them to the Stratux.
There was no good solution to insure all the moving parts were
connecting with the necessary infrastructure for every user and our
target user is someone with minimal Linux and infrastructure knowledge.
—
Reply to this email directly or view it on GitHub
https://github.com/cyoung/stratux/issues/147#issuecomment-164557708.

How silly of me. We don't need to ask the user for their default location. We could write out the GPS location on a sparse interval such as once every five minutes. Assuming the GPS will let us load an initial estimated position, this would be so much better than defaulting to 0,0.

Here's another inexpensive sensor breakout board.  Based on 9150.
http://www.ebay.com/itm/MPU-9150-9DOF-3-Axis-Gyroscope-Accelerometer-Magnetic-Field-Replace-MPU-6050-/381374423634?hash=item58cbafe252:g:4FYAAOSw~uhUm3qA


Make makefile POSIX compatible

For POSIX make, the $< macro is only defined for inference rules and
the .DEFAULT rule. It is unspecified in target rules, e.g. for BSD
make it is left empty, so make run will fail under BSDs.
The new makefile not strictly POSIX since it doesn't have the .POSIX rule , but it should fix the issue under BSDs.

You're completely right, thanks!


TEXT output of SHAP visualization

Is there a way to explain the SHAP visualization with text? Anything currently implemented in the product?

@nahidalam could you expand on your proposal and add minimal example of such feature?


Django does find GEOS libraries on Heroku-16

I'm getting an ImportError from Django when switching to the heroku-16 stack.
File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/geos/libgeos.py", line 57, in load_geos
'", "'.join(lib_names)
ImportError: Could not find the GEOS library (tried "geos_c", "GEOS"). Try setting GEOS_LIBRARY_PATH in your settings.

After some digging, I don't see the difference. The libraries are installed and the LD_LIBRARY_PATH is still the same as it used to be on cedar-14.
I could fix the issue for me by setting GEOS_LIBRARY_PATH explicitly in the post_compile hook.
bin/post_compile
#!/usr/bin/env bash

set -e

export GEOS_LIBRARY_PATH="$BUILD_DIR/.heroku/vendor/lib"

@codingjoe did setting GOES_LIBRARY_PATH fix the issue for you?

@kennethreitz nope, when connecting to a run dyno yes. But post_compile is than only available during build, not during runtime. I'm investigating...

Scratch that, it did not work. Hm... strange....

Waiting for https://github.com/heroku/heroku-buildpack-python/issues/398

Reading the Django source, I believe GOES_LIBRARY_PATH needs to be set in Django settings rather than directly in the environment (though likely worth setting that via os.environ / the django-environ package):
https://github.com/django/django/blob/1.11.2/django/contrib/gis/geos/libgeos.py
Strange that it's still not working out of the box however.

I believe the GEOS libraries aren't functional on heroku-16, even though they're identical copies to the working ones on cedar-14. The binary needs to be rebuilt for heroku-16, but i'm having trouble doing so. Might take another approach, possibly (adding it to the build stack image).

@kennethreitz yes, that would be cool. I'd love to switch to heroku-16

I think I figured out a way to run the build. Executing now. Will post an update if it succeeds.

Hi @kennethreitz, did you have a chance to investigate this further? If I'm not mistaken, this is an issue for all GeoDjango installations on Heroku. I'm happy to have a look - could you share your progress so far?

This should be fixed shortly, as soon as the build is complete!

Build complete!

✨🍰✨

Good stuff, thanks Kenneth!

To get GeoDjango working I also had to set the following Config Variables:
GDAL_LIBRARY_PATH=/app/.heroku/vendor/lib/libgdal.so
GEOS_LIBRARY_PATH=/app/.heroku/vendor/lib/libgeos_c.so

Shouldn't the buildpack take care of this when BUILD_WITH_GEO_LIBRARIES=1 is set?

@harelw on which stack?

heroku-16

I'll have to experiment with that myself. If true, the buildpack can definitely do that for you.

@kennethreitz I just checked, it seems the binaries on your bucked have not be updated. This is odd, since I updated all packages in my last 3 pull-requests.
root@8bc20bf16f82:/app# ls -lah /app/.heroku/vendor/lib/
total 85M
drwx------ 4 44182 44182 4.0K Sep 30 14:37 .
drwxr-xr-x 6 root  root  4.0K Sep 30 14:37 ..
drwxr-xr-x 2  7527  7527 4.0K Sep  8 19:26 gdalplugins
-rwxr-xr-x 1  7527  7527 1.1K Sep  8 19:26 libgdal.la
lrwxrwxrwx 1  7527  7527   17 Sep  8 19:26 libgdal.so -> libgdal.so.1.18.5
lrwxrwxrwx 1  7527  7527   17 Sep  8 19:26 libgdal.so.1 -> libgdal.so.1.18.5
-rwxr-xr-x 1  7527  7527  62M Sep  8 19:26 libgdal.so.1.18.5
-rwxr-xr-x 1 28988 28988  20M Sep  8 19:17 libgeos-3.4.3.so
-rwxr-xr-x 1 28988 28988  941 Sep  8 19:17 libgeos.la
lrwxrwxrwx 1 28988 28988   16 Sep  8 19:17 libgeos.so -> libgeos-3.4.3.so
-rwxr-xr-x 1 28988 28988  980 Sep  8 19:17 libgeos_c.la
lrwxrwxrwx 1 28988 28988   18 Sep  8 19:17 libgeos_c.so -> libgeos_c.so.1.8.3
lrwxrwxrwx 1 28988 28988   18 Sep  8 19:17 libgeos_c.so.1 -> libgeos_c.so.1.8.3
-rwxr-xr-x 1 28988 28988 1.1M Sep  8 19:17 libgeos_c.so.1.8.3
-rw-r--r-- 1 root  root  311K Sep 30 14:37 libjasper.so
-rw-r--r-- 1 root  root  311K Sep 30 14:37 libjasper.so.1
-rw-r--r-- 1 root  root  311K Sep 30 14:37 libjasper.so.1.0.0
-rwxr-xr-x 1 44182 44182  919 Sep  8 19:15 libproj.la
lrwxrwxrwx 1 44182 44182   16 Sep  8 19:15 libproj.so -> libproj.so.0.7.0
lrwxrwxrwx 1 44182 44182   16 Sep  8 19:15 libproj.so.0 -> libproj.so.0.7.0
-rwxr-xr-x 1 44182 44182 1.3M Sep  8 19:15 libproj.so.0.7.0
drwx------ 2 44182 44182 4.0K Sep  8 19:15 pkgconfig

Ok, when I set the pathes manually in my Django application it works:
GDAL_LIBRARY_PATH = "/app/.heroku/vendor/lib/libgdal.so"
GEOS_LIBRARY_PATH = "/app/.heroku/vendor/lib/libgeos_c.so"

I will try what happens if I set the LD_LIBRARY_PATH to /app/.heroku/vendor/lib

Ok, I opened a pull-request. It should fix the issue for the latest Django releases.
The problem with the wrong binaries still remains. I guess you guys should double check your deployment pipeline for those binaries.

Still seems to fail if I remove GDAL_LIBRARY_PATH=/app/.heroku/vendor/lib/libgdal.so from config vars:

Traceback (most recent call last):   File "manage.py", line 23, in <module>     execute_from_command_line(sys.argv)   File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line     utility.execute()   File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 338, in execute     django.setup()   File "/app/.heroku/python/lib/python3.6/site-packages/django/__init__.py", line 27, in setup     apps.populate(settings.INSTALLED_APPS)   File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate     app_config = AppConfig.create(entry)   File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/config.py", line 94, in create     module = import_module(entry)   File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 978, in _gcd_import   File "<frozen importlib._bootstrap>", line 961, in _find_and_load   File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked   File "<frozen importlib._bootstrap>", line 655, in _load_unlocked   File "<frozen importlib._bootstrap_external>", line 678, in exec_module   File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed   File "/app/.heroku/python/lib/python3.6/site-packages/mapwidgets/__init__.py", line 4, in <module>     from .widgets import GooglePointFieldWidget, GooglePointFieldInlineWidget, \   File "/app/.heroku/python/lib/python3.6/site-packages/mapwidgets/widgets.py", line 4, in <module>     from django.contrib.gis.forms import BaseGeometryWidget   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/forms/__init__.py", line 3, in <module>     from .fields import (  # NOQA   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/forms/fields.py", line 4, in <module>     from django.contrib.gis.geos import GEOSException, GEOSGeometry   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/geos/__init__.py", line 5, in <module>     from .collections import (  # NOQA   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/geos/collections.py", line 11, in <module>     from django.contrib.gis.geos.geometry import GEOSGeometry, LinearGeometryMixin   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/geos/geometry.py", line 11, in <module>     from django.contrib.gis import gdal   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/gdal/__init__.py", line 28, in <module>     from django.contrib.gis.gdal.datasource import DataSource   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/gdal/datasource.py", line 39, in <module>     from django.contrib.gis.gdal.driver import Driver   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/gdal/driver.py", line 5, in <module>     from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/gdal/prototypes/ds.py", line 9, in <module>     from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal   File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/gdal/libgdal.py", line 45, in <module>     % '", "'.join(lib_names) django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal", "GDAL", "gdal2.1.0", "gdal2.0.0", "gdal1.11.0", "gdal1.10.0", "gdal1.9.0"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.

Yes, same here, I set it manually too.

Wait @harelw actually this should have fixed it: #478

Haven't tried it yet, since it was just merged ;)

Yea I mentioned it because I am pretty sure I tried it after the merge.

I fixed it today with this changes:

So I further drilled own into the issue and found that the Django problem is here:
@CaseyFaist i just ran a test. This at least exposed environment variables during build, but it doesn't fully resolve the Django issue. For that a Python dependency is missing in the runtime image, see https://github.com/heroku/stack-images/issues/118


What is Service Mesh

James Brook, a Googler working with bol.com, has had a quick look; he's going to do a full review on Monday 1 Feb.

James Brook, a Googler working with bol.com, has had a quick look; he's going to do a full review on Monday 1 Feb.

James Brook, a Googler working with bol.com, has had a quick look; he's going to do a full review on Monday 1 Feb.

I think this should be a comment on the bol.com issue? https://github.com/aijamalnk/istio.io/issues/5

James Brook, a Googler working with bol.com, has had a quick look; he's going to do a full review on Monday 1 Feb.

I think this should be a comment on the bol.com issue? https://github.com/aijamalnk/istio.io/issues/5

Good spotting

Good spotting

Version one for review to @craigbox  https://docs.google.com/document/d/1YvWVJVoamjnLueFGKXgGZ-nvpFEEdskr9ucGTneogTA/edit

I evaluated the content to confirm that it is usable in a dual purpose to also provide awareness for business readers. I made some comments that we will apply in v2 upon completion of the review. FYI @aijamalnk @craigbox

It does not seem to have been captured in the requirements, but I wanted to note that "Istio vs. X, Y, Z" is something that most software orgs avoid doing as it means you have to then track the feature releases of X, Y, and Z forever and change those differentiators as they release new features.

Current status:
Some commentary by steering members, but no checks in the review boxes. Srinath has asked Lions to go through and address comments that are currently in place.

Current status: By request from Craig and Srinath, Lions have addressed all comments and changes. 31 March 2021. https://docs.google.com/document/d/1YvWVJVoamjnLueFGKXgGZ-nvpFEEdskr9ucGTneogTA/edit Next step: Craig and Sri pilot approval or any additional changes.


Removing fallback mechanism with custom ip

Closes #64

Confirmed to work in nuclei dev branch - https://github.com/projectdiscovery/nuclei/pull/2709


Beaglebone uboot is sensitive to noise on UART0, might hang on boot

Reported that BeagleBone Black uboot is sensitive to spurious noise on UART0 during boot, as noise might be interpreted as stop string.
See messages:

https://groups.google.com/d/msg/beagleboard/aXv6An1xfqI/2_tLa7oWQBIJ
http://lists.denx.de/pipermail/eldk/2014-June/002511.html
also reported in support

The solution seems to be adjusting the uboot to be more resilient to noise, for example
CONFIG_AUTOBOOT_KEYED=y
CONFIG_AUTOBOOT_DELAY_STR="uboot"

or using the header files
#define CONFIG_AUTOBOOT_KEYED	1
#define CONFIG_AUTOBOOT_DELAY_STR "uboot"

I guess the value of that string can be other values too, it's arbitrary just expect something. In the latest upstream u-boot there are some things like this implemented in uboot defconfig files since about the v2015.07 release, and for BeagleBone specifically since v2016.03 (current resin version seems to use v2014.07).
 Front conversations

This was the patch we added to fix the issue: https://github.com/BrianAdams/Bootloader-Builder/blob/fix/autoboot/patches/next/0003-Autoboot-keyboard-beaglebone-fixes.patch

This issue was moved to resin-os/resinos#80


Update get-version.py to use elsbeth-geranium index.json

Updates get-version script to use the latest index.json for elsbeth-geranium builds.

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


fix: only invoke WDS tap when there are issues

👋🏼 Hi! We were seeing a strange behavior in our app where it would spontaneously perform a full-page HMR about 15s after booting. I traced it to fork-ts-checker-webpack-plugin's async mode invoking webpack-dev-server's sync tap, which was causing an HMR even if no issues were reported.
I was able to resolve the issue by modifying fork-ts-checker-webpack-plugin to only invoke webpack-dev-server's tap if any issues were found. This eliminates the unneeded reload. I believe this change is safe based on my testing, but this is my first time diving into the codebase so let me know if I'm thinking about this the wrong way! Thanks for considering this PR. 🍻

Thanks for the PR, looks good 👍

Hi, is there any chance this can be merged and released soon? Thanks!

Ah sorry, I was waiting for other release to finish and forgot about it :D

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

No problem! Thank you so much. 🙏🏼


[BUG] RuntimeError: miopenStatusUnknownError

I'm running a python file on DCU(using slurm to run on a Linux server). This python file runs well on another server with Nvidia GPUs. However, it shows this bug here in the deep-learning training log:
 Epoch: [1 | 300] LR: 0.100000
MIOpen(HIP): Warning [ForwardBackwardDataGetWorkSpaceSizeWinograd] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen(HIP): Warning [ForwardBackwardDataGetWorkSpaceSizeWinograd] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen(HIP): Warning [FindWinogradSolutions] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen Error: /MIOpen/src/ocl/convolutionocl.cpp:831: Forward Convolution cannot be executed due to incorrect params
MIOpen(HIP): Warning [ForwardBackwardDataGetWorkSpaceSizeWinograd] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen(HIP): Warning [ForwardBackwardDataGetWorkSpaceSizeWinograd] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen(HIP): Warning [FindWinogradSolutions] /MIOpen/src/sqlite_db.cpp:108: open memvfs: unable to open database file
MIOpen Error: /MIOpen/src/ocl/convolutionocl.cpp:831: Forward Convolution cannot be executed due to incorrect params
Traceback (most recent call last):
  File "/public/home/bhli/MODEL/Random-Erasing/cifar_xh.py", line 516, in <module>
Traceback (most recent call last):
  File "/public/home/bhli/MODEL/Random-Erasing/cifar_xh.py", line 516, in <module>
    main()
    main()
  File "/public/home/bhli/MODEL/Random-Erasing/cifar_xh.py", line 365, in main
  File "/public/home/bhli/MODEL/Random-Erasing/cifar_xh.py", line 365, in main
    train_loss, train_acc = train(trainloader, model, criterion, optimizer, epoch, use_cuda)
...
...
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/parallel/data_parallel.py", line 166, in forward
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/parallel/data_parallel.py", line 166, in forward
    return self.module(*inputs[0], **kwargs[0])
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/MODEL/Random-Erasing/models/cifar/resnet.py", line 145, in forward
    return self.module(*inputs[0], **kwargs[0])
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/MODEL/Random-Erasing/models/cifar/resnet.py", line 145, in forward
    x = self.layer2(x)  # 16x16
    x = self.layer2(x)  # 16x16
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/container.py", line 141, in forward
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/container.py", line 141, in forward
    input = module(input)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/MODEL/Random-Erasing/models/cifar/resnet.py", line 77, in forward
    out = self.conv2(out)
    input = module(input)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 446, in forward
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/MODEL/Random-Erasing/models/cifar/resnet.py", line 77, in forward
    out = self.conv2(out)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 446, in forward
    return self._conv_forward(input, self.weight, self.bias)
    return self._conv_forward(input, self.weight, self.bias)
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 442, in _conv_forward
  File "/public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 442, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: miopenStatusUnknownError
RuntimeError: miopenStatusUnknownError

and in the file /public/home/bhli/.pyenv/versions/RandomErasing/lib/python3.9/site-packages/torch/nn/modules/conv.py, we can see what is in the function _conv_forward :
def _conv_forward(self, input: Tensor, weight: Tensor, bias: Optional[Tensor]):
        if self.padding_mode != 'zeros':
            return F.conv2d(F.pad(input, self._reversed_padding_repeated_twice, mode=self.padding_mode),
                            weight, bias, self.stride,
                            _pair(0), self.dilation, self.groups)
        return F.conv2d(input, weight, bias, self.stride,
                        self.padding, self.dilation, self.groups)

def forward(self, input: Tensor) -> Tensor:
       return self._conv_forward(input, self.weight, self.bias)

First please check if your issue is a duplicate of #1010.
Second, please make sure that your ROCm is installed on a system that meets all the requirements. Example for ROCm 5.4.3: https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.4.3/page/Prerequisites.html
If your system meets the requirements, we can try to help, but in order to do so, we need to reproduce the issue. Please be ready to provide reproduction instructions.

I tried the method in #1010, however, when I tried to know the version of my MIOpen library or ROCm, it shows the following info:
$ yum info rocm-libs
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Error: No matching Packages to list

Is this info showing that I didn't install enough ralated library or other something? By the way, my OS is Linux 64.
Thank you!

@cs-wangfeng @atamazov It looks like the user is using aliyun (Ali Cloud), we can treat it as RHEL.
https://www.alibabacloud.com/help/en/elastic-compute-service/latest/alibaba-cloud-linux-overview
Alibaba Cloud Linux 3 is built on Anolis OS 8 and compatible with the CentOS 8 and RHEL 8 ecosystems.
Alibaba Cloud Linux 2 is built on Anolis OS 7 and compatible with the CentOS 7 and RHEL 7 ecosystems.

@cs-wangfeng could you follow the installation instructions from here: https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.4.3/page/How_to_Install_ROCm.html choose proper RHEL guides which are suitable for your system.
You may need to add the ROCm Stack Repository as instructed here:
https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.4.3/page/How_to_Upgrade_ROCm.html


Plugins: "Community" for 3rd party plugins

Use case

Based on discussion from https://github.com/roughike/flutter_facebook_login/issues/170
flutter_facebook_login hasn't kept up-to-date with the Facebook SDK and Apple is starting to notify developers because the older SDK is using deprecated APIs.
Proposal

React Native handles this with the @react-native-community where the community as a whole can effectively help maintain important plugins.
Perhaps something similar would be nice for important Flutter plugins that Google may not specifically want to maintain, like Facebook logins.

Such initiative already exists for Flutter https://github.com/fluttercommunity/community

@audkar That's awesome.  I'm surprised I haven't run across that yet.
I guess I was just hoping that there might be a more explicit nod to it from Google, like how Facebook does with modules they remove from React Native core:
https://facebook.github.io/react-native/docs/segmentedcontrolios
pub.dev could potentially reference it or something.

@cpboyd Thank you for your input, please create a new issue with the proposal to mention the community in documentation more explicitly.


RenderingServer.instances_cull_aabb not reliable

Tested versions
v4.3.dev2.official [352434668]
System information
Godot v4.3.dev2 - Ubuntu 22.04.3 LTS 22.04 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2060 (nvidia; 535.154.05) - Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz (6 Threads)
Issue description
Using RenderingServer.instances_cull_aabb in a @tool to detect intersection is giving weird results.
My tree looks like this:

Both the MeshInstance3Ds have a BoxMesh resource of size (1,1,1)

The red box is my probe. In the script there is a start/stop toggle. Initially I would place the red cube and then hit start which would perform the RenderingServer.instances_cull_aabb call. It was not giving a reply I could understand. Sometimes it would show that there was a hit, other times not—while the boxes were clearly intersecting. The screenshot shows such a case.
I then wired the red cube to move down and continuously probe. Now toggling start will begin that process.
As the red cube moves down and overlaps, it only starts reporting overlap halfway through the other box and then the reporting continues until the red cube is almost three times further below.
Steps to reproduce
MRP below
The code:
@tool
extends Node3D

## instances_cull_aabb isue
##
## Keep an eye on the output/terminal
## Go into 3D view on test_cull.tscn
## Press the start toggle (inspector) of the Node3D
## The red box moves down and starts to intersect with the other box
## The output starts late and continues long after the red box
## is out of the other box.
## (You can press stop at any time.)
##
## What I expected to see was "AABB HIT" strictly while the red box
## is intersecting the other box.

@export var start:bool:
	set(b):
		start = false
		probe.position = startpos
		mov=true
		triggerstop=false

@export var stop:bool:
	set(b):
		stop = false
		mov=false

@onready var probe:=$probe

var mov:=false
var startpos:=Vector3(-0.384, 0.888, 1.177)
var triggerstop:=false

func _process(delta: float) -> void:
	if mov:
		probe.position.y -= 0.2 * delta
		sweep_probe()

func sweep_probe():
	var aabb:AABB = probe.mesh.get_aabb()
	aabb.position = probe.position
	probe.visible = false # to exlude probe from results
	var pa:PackedInt64Array = RenderingServer.instances_cull_aabb(aabb, get_world_3d().scenario)
	if pa:
		triggerstop = true
		print("AABB HIT:", aabb)

	if not pa:
		if triggerstop:
			mov=false
			triggerstop=false

	probe.visible = true # re-show it

Minimal reproduction project (MRP)
I have pushed to my demo repo here:
https://gitlab.com/dbat/server_area_issue
(Start the test_cull scene)

Fixed (I hope)
After looking at the source code I realized that I was sending the wrong position to the aabb. To make it work properly, I ended up doing this:
aabb.position = (probe.global_transform * aabb).position # probe is my red cube and aabb is probe.mesh.get_aabb()
The hit now happens correctly.
Could I suggest we add something like that to the docs? Either in the RenderingServer.instances_cull_aabb method, or (better) in the AABB docs.
Sorry for the noise.

Does it work with:
aabb.position = probe.global_position

Does it work with:
aabb.position = probe.global_position

No, that only hits when the center of the red cube hits the center of the target cube and continues until halfway under the target.

A new weird has emerged
Latest code pushed to: https://gitlab.com/dbat/server_area_issue
Nutshell:

Duplicate one of the gray box meshes and move it a bit.
Start the tool so the red cube sweeps down.
It stops immediately because RenderingServer.instances_cull_aabb has found 'mesh3' (on my system) when in reality the probe cube (and aabb) is nowhere near it. (I set it to stop, so that it's easier to see the output.)

Here's that code. The bug is marked in the comments.
@tool
extends Node3D

## instances_cull_aabb issues
##
## See sweep_probe() for the meat

@export var start:bool:
	set(b):
		print("\n******** START *********")
		RenderingServer.force_sync() # Wild guess? Does not help.
		start = false
		probe.position = startpos
		intersecting=false
		set_process(true)

@export var stop:bool:
	set(b):
		stop = false
		probe.position = startpos
		set_process(false)

@onready var probe:=$probe

var startpos:=Vector3(0, 1.5, 0.5)
var intersecting:=false

func _process(delta: float) -> void:
	probe.position.y -= delta * 4
	sweep_probe()

func sweep_probe():
	var aabb:AABB = probe.mesh.get_aabb()
	#aabb.position = probe.global_position # does not work at all
	aabb.position = (probe.global_transform * aabb).position # seems ok

	# Verify probe and the aabb are kind of in the same place:
	# print("\nprobe at:", probe.position, " vs: aabb at :", aabb.get_center())
	assert(probe.position == aabb.get_center())

	# Weirdness:
	# instances_cull_aabb immediately gets the last mesh I duplicated in the editor.
	# Is there any way to force an update of that so pa is empty when there's no
	# actual intersection?
	# Even a restart of Godot does not change this. It always has mesh3, for e.g.
	probe.visible = false
	var pa:PackedInt64Array = RenderingServer.instances_cull_aabb(aabb, get_world_3d().scenario)
	probe.visible = true
	if pa:
		print("   HIT :")
		for objid in pa:
			printraw("   ",instance_from_id(objid).name, ",")

		# Just force it to stop for now to show that something was
		# hit even though nothing should have been.
		stop = true

@clayjohn Please read latest in OP. I think this is still a bug. At the least there's some issue with the timing of when the BVH is ready to be queried.


 However, it turns out that these are pretty straightfoward to implement as an addon package to Effection, and as such, do not need to be in effection core.
This removes all mailbox-related code. It's expected that mailboxes will still have official support from effection, but that they will be part of the @effection/events package that has utilities for working with events and event emitters.
See https://github.com/bigtestjs/server/pull/78 for an example of a mailbox implemented outside of effection.

A preview package of this pull request has been released to NPM with the tag no-implicit-mailbox.
You can try it out by running the following command:
$ npm install effection@no-implicit-mailbox

or by updating your package.json to:
{
  "effection": "no-implicit-mailbox"
}

Once the branch associated with this tag is deleted (usually once the PR is merged or closed), it will no longer be available. However, it currently references<EMAIL_ADDRESS>which will be available to install forever.

  Generated by :no_entry_sign: dangerJS against 9990c82e4fb1287d416ff980f73644108b664ff3


didUpdateWidget() does not take into account changes in navbar items

Describe the bug
When the NavBarRouter object is given new items during build process (after a setstate() call for example), _NavbarRouterState does not rebuild its keys and items members, resulting in showing incorrect text.
To Reproduce
In my case, since I implemented a dynamic language change in my whole app, the NavBarRouter ctor in my RootPageState build method is given new text that is ignored.
Expected behavior
NavBarRouter should always reset its items and keys members in didUpdateWidget() without condition to take into account any change in widget items.
I made a "local" fix by commenting a few lines in _NavbarRouterState.didUpdateWidget() (navbar_router.dart) :
void didUpdateWidget(covariant NavbarRouter oldWidget) {
    /// update animation
    if (widget.destinationAnimationCurve !=
            oldWidget.destinationAnimationCurve ||
        widget.destinationAnimationDuration !=
            oldWidget.destinationAnimationDuration) {
      initAnimation();
    }
    // HERE IS THE FIX (no condition for items/keys reset)
    //if (widget.destinations.length != oldWidget.destinations.length ||
    //        widget.type != oldWidget.type) {
          NavbarNotifier.length = widget.destinations.length;
          clearInitialization();
          initialize();
    //}
    super.didUpdateWidget(oldWidget);
  }

Thank you for your work :)

Hi @celariss, Thanks for filing the issue. We should definitely fix that, Please feel free to make a PR if you are interested and I would be happy to review it.

Closing as fixed in v0.7.1

Reopening this is still reproducible as of v0.7.3,
reproduction: updating selectedIcon does not rebuild navbar

Updating the priority this is really a show blocker for production

I also faced the same issue. I was using a 3rd theme switcher package with circular animation (not the original fade animation of flutter when going from light to dark theme) and a button to switch theme mode dynamically, directly placed on the appbar so I can see the theme changing on the current screen.
When I press the button the theme change; however, the icon and background color on the navbar stay the same 😂 tried setState, but still.
So my work around for this is just rebuild the entire navbar and its destinations by setting the navbar items inside the build() method of my screen containing the navbar 😭

The root cause of this issue is one liner perhaps heres the minimal dartpad reproducible this code sample should output false but it returns true.
import 'package:flutter/material.dart';

class NavbarItem {
  const NavbarItem(this.iconData, this.text,
      {this.backgroundColor, this.child, this.selectedIcon});

  /// IconData for the navbar item
  final IconData iconData;

  /// label for the navbar item
  final String text;

  /// background color for the navbar item when type is [NavbarType.shifting]
  /// ignored otherwise
  final Color? backgroundColor;

  /// When child is specified, the item will be rendered as a floating navbar
  /// ignoring iconData and text
  final Widget? child;

  /// Widget to show when the item is selected
  final Widget? selectedIcon;

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is NavbarItem &&
          runtimeType == other.runtimeType &&
          iconData == other.iconData &&
          text == other.text &&
          child.runtimeType == other.child.runtimeType &&
          selectedIcon.runtimeType == other.selectedIcon.runtimeType &&
          backgroundColor == other.backgroundColor;

  @override
  int get hashCode =>
      iconData.hashCode ^
      text.hashCode ^
      child.hashCode ^
      selectedIcon.hashCode ^
      backgroundColor.hashCode;
}

int main(){

  const nav1 = NavbarItem(Icons.person_outline, 'Me',
          backgroundColor:Colors.blue,
          selectedIcon: const Icon(
            Icons.person,
            color: Colors.red,
            size: 26,
          ));

    const nav2 = NavbarItem(Icons.person_outline, 'Me',
          backgroundColor:Colors.blue,
          selectedIcon: const Icon(
            Icons.person,
            size: 26,
          ));

  print(nav1 == nav2);

  return 0;
}

This should be fixed now, Updates to change in selectedIcon widget type and  size, icon and color of icon are taken into consideration.

Wow, the fix was incredibly simple! But sometimes the selectedIcon is not Icon and maybe user uses a custom child widget. Could the test be passed in this situation?
Or should we force user to give some kind of "key" for those widgets?

Yes you are right, I think user will need to pass a key for the custom key, I am not really clear on that part th current fix only considers Icon being passed to selectedIcon. Your inputs are welcome on the right approch to follow in this case.

Released in v0.7.4


Upgrade to rust nightly 2023-08-08

With https://github.com/rust-lang/rust/pull/106619 merged, we can finally start moving forward with the toolchain again.  Upgrade to the latest version and see how things go.

Seems we're hitting https://github.com/rust-lang/compiler-builtins/issues/523 now.

Looking very good with nightly-2023-08-08.  Need to do some smoke tests still to make sure we're not missing any obvious regressions, but I guess the time has finally come where we can move to a new compiler!
@Patryk27 are you aware of anything speaking against moving to the new version at this point?  And in any case, thank you so much for your work on the compiler fixes time and time again!

Smoke tests all went well, let's be optimistic and merge this!

@Patryk27 are you aware of anything speaking against moving to the new version at this point?

Nope, we should be good! (at least until something new comes up, as is the custom with llvm + avr :smile:)


Help needed

I've installed and configured nagios-herald using the doc provided. I am able to simulate an email notification using the test files, but when a real event occurs, no email notification is sent.
Manually executing nagios-herald logs to the log path I added to the config, but when running under Nagios, nothing gets logged to the log file. I've added --trace to the command definitions as well, but still  getting nothing.
Any ideas for additional troubleshooting steps?

Hi, @hundredacres!  Sounds tricky.  The only idea I have right now is that you might want to check that the user running Nagios has the right permissions to write to your log path - that could explain why you aren't seeing any messages.
Any luck with that?

@aemcknig: @hundredacres also hit me up via email. I will cross-post here, shortly.


map_blocks multi-argument behavior

Hello,
Our pipeline a has a place where we pass in a 4D array and a 3D array into dask.array.map_blocks. Each array has chunks along the left-most axis, as a 'batch size' and the batch sizes are equal. For example
arr4d.chunks = ((16,16,16), (100,), (100,), (3,))
arr3d.chunks = ((16,16,16), (4,), (2,))

To Clarify, that results in:
arr4d.shape = (48, 100, 100, 3)
arr4d.chunksize = (16, 100, 100, 3)

arr3d.shape = (48, 4, 2)
arr3d.chunksize = (16, 4, 2)

when we called da.map_blocks(fn, arr4d, arr3d) (or vice-versa) we expected the function to be called once for each 'batch' (in this example, 3 times).
However, the resulting behavior was it was called 9 times. The graph reflects this, it has a product type of effect where each combination is called.
We were eventually able to get the expected behavior by swapping the axis so our arrays look like this:
arr4d.chunks = ((100,) (16,16,16), (100,), (3,))
arr3d.chunks = ((16,16,16), (4,), (2,))

Then, we have the correct graph and results.
I can understand the reason for the behavior, but for our pipeline it causes a major inconvenience, since the left axis for us almost always the batch size. So we may pass 16 images in, and get 16 lower dimension feature sets. That 16 will always sit on the left side. This is causing us to make a hacky solution to add dimensions to the lower dimension array so, our arrays look like this:
arr4d.chunks = ((16,16,16), (100,), (100,), (3,))
arr3d.chunks = ((16,16,16), (4,), (2,), (1,))

This works, but for our application is quite hacky, since we have to do this dynamically to not change a bunch of code. Our current solution detects the highest number of dimensions, adds extra dimensions, then wraps the supplied function to removed the extra dimensions before continuing.
It seems map_blocks is aligning it arguments' axes based on a right-justified alignment of their axes. For our application it makes sense to operate on a left-justified alignment, so our arrays will always line up on the lowest-indexed axis. so if we pass in a NxWxH array, a Nx1 array and a NxWxHxC array all into a map_blocks call, we can do so without extensive reshaping and axis work.
Couple Questions:

Is this all correct? Am I misunderstanding?
Is there an easy solution I am missing?
Is this noted in the documentation somewhere? If not, let's add it!

Thanks!

@aprowe I opened https://github.com/dask/dask/pull/5874 to link from map_blocks to blockwise in the docs. I'm going to close this on the assumption that blockwise does what you want. LMK if I missed anything though.