Sensor types included in Devkit template and data

Why does the IoT DevKit template for IoT Central not include all the sensor data? It only has temperature, humidity, and pressure - and I'm not getting Temperature data (see images)
I need the motion sensors (gyroscope and accelerometer).

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

ID: 0fb3da28-6d84-682f-2f9a-99bcc8e2b832
Version Independent ID: 3593d059-5dd9-0f9c-4483-e61d1f7e0511
Content: Connect a DevKit device to your Azure IoT Central application
Content Source: articles/iot-central/preview/howto-connect-devkit.md
Service: iot-central
GitHub Login: @liydu
Microsoft Alias: liydu

@Jbarrins Please help with the link of document on which above document feedback request is created.
Under this repository we want to make sure any issue is linked to a doc so we can help others that may be having the same issue.

https://docs.microsoft.com/en-us/azure/iot-central/preview/howto-connect-devkit
I think the Temperature data should be being sent, but isn't. I don't think
this is a hardware issue - can you replicate it?
And if the sensor data that is being sent is limited to three types, I
would request all sensor types can be included in the IoT DevKit template.
On Tue, 10 Dec 2019 at 12:05, AshokPeddakotla-MSFT<EMAIL_ADDRESS>wrote:

@Jbarrins https://github.com/Jbarrins Please help with the link of
document on which above document feedback request is created.
Under this repository we want to make sure any issue is linked to a doc so
we can help others that may be having the same issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/44378?email_source=notifications&email_token=AGUMXO34QIIUPNWL64NEPK3QX5ZXXA5CNFSM4JY34I52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGO3HKY#issuecomment-563983275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUMXOZEATEZ4AXP5V2SR2DQX5ZXXANCNFSM4JY34I5Q
.

I'm using the IoT Central Connected Logistics template, by the way.
On Tue, 10 Dec 2019 at 12:09<EMAIL_ADDRESS>wrote:

https://docs.microsoft.com/en-us/azure/iot-central/preview/howto-connect-devkit
I think the Temperature data should be being sent, but isn't. I don't
think this is a hardware issue - can you replicate it?
And if the sensor data that is being sent is limited to three types, I
would request all sensor types can be included in the IoT DevKit template.
On Tue, 10 Dec 2019 at 12:05, AshokPeddakotla-MSFT <
<EMAIL_ADDRESS>wrote:

@Jbarrins https://github.com/Jbarrins Please help with the link of
document on which above document feedback request is created.
Under this repository we want to make sure any issue is linked to a doc
so we can help others that may be having the same issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/44378?email_source=notifications&email_token=AGUMXO34QIIUPNWL64NEPK3QX5ZXXA5CNFSM4JY34I52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGO3HKY#issuecomment-563983275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUMXOZEATEZ4AXP5V2SR2DQX5ZXXANCNFSM4JY34I5Q
.

Hi @Jbarrins can you test with the firmware from this repo instead? https://github.com/Azure-Samples/mxchip-iot-devkit-pnp/tree/master/bin
This relates to #44294

That did resolve the Temperature issue! Nice one. That's resolved.
Is there an easy way to add the other sensor data? Can you update the
template or provide an additional version of it? All the effort that went
in to the DevKit and no way to use the data easily.
On Tue, 10 Dec 2019 at 12:45, António Sérgio Azevedo <
<EMAIL_ADDRESS>wrote:

Hi @Jbarrins https://github.com/Jbarrins can you test with the firmware
from this repo instead?
https://github.com/Azure-Samples/mxchip-iot-devkit-pnp/tree/master/bin
This relates to #44294
https://github.com/MicrosoftDocs/azure-docs/issues/44294
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/44378?email_source=notifications&email_token=AGUMXO4KIB5YO4TV3LWDM23QX56MZA5CNFSM4JY34I52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGO6Q3Q#issuecomment-563996782,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUMXOZXULHQUEOEC4YL3PTQX56MZANCNFSM4JY34I5Q
.

Awesome :)! To review the code or modify and compile it, go to the Code Samples. All is open sourced and ready to be changed ;)!

Thanks, I thought you guys might do it!
On Tue, 10 Dec 2019 at 16:16, António Sérgio Azevedo <
<EMAIL_ADDRESS>wrote:

Awesome :)! To review the code or modify and compile it, go to the Code
Samples
https://docs.microsoft.com/samples/azure-samples/mxchip-iot-devkit-pnp/sample/.
All is open sourced and ready to be changed ;)!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/44378?email_source=notifications&email_token=AGUMXO4EG5Q2VZQ6SMERWO3QX6XC7A5CNFSM4JY34I52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGPS3MI#issuecomment-564080049,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUMXO6SBT6XQLXV5GA464LQX6XC7ANCNFSM4JY34I5Q
.

@Jbarrins We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Add unicode normalization of captions for improved support of other…

… languages and their hashtags
This attempts to partially fix https://github.com/instaloader/instaloader/issues/1446 with support for hashtags in other scripts.
It is a very minor change.
Captions will be unicode normalized and hashtags and mentions will be better captured

Interesting finding. Indeed, this does seem to fix a subset of the problems mentioned in #1446 and #978, and seems to not break the comparison operator for strings unaffected by this issue, including ones that contain emojis.


KERNEL_COHERENCE on xtensa doesn't quite work yet

The KERNEL_COHERENCE framework in use on the intel_adsp_cavs15 device is designed to allow the thread and interrupt stack to be placed in (much faster) cached/incoherent memory.  And the context switch code is then responsible for synchronizing the stacks properly when needed.
This... doesn't quite work yet.  Right now, at the tip of my branch in the not-yet-merged #32356 a full twister run works, except three tests: lifo_usage, queue, and lib/p4wq.  If I apply the tiny patch below, which moves the stacks (and only the stacks) back into uncached memory, then these tests work correctly.
Note that the exact set of failing tests will change over time because of its sensitivity to memory use patterns.  But in general these failures depend only on order of context switches and not interrupt timing, so they're very deterministic and will either pass or fail every time.  Which means they tend to be "fixed" by voodoo that isn't addressing the root cause, making debugging a huge pain.
Here's what I believe the last hole is, found mostly by @lyakh:
We use an innovative[1] "cross stack call" trick on interrupt entry that allows us to avoid spilling the Xtensa register windows from the interrupted user code.  We will then spill the registers only when needed if the interrupt exit tells us we're switching to a different thread.  But this spill happens after the code in arch_cohere_stacks(), so any such registers written out land only in the local CPU's L1.  So another CPU that runs that thread may see incorrect/unspilled regiser contents on resume, and even if it's tolerant of this it may see its live stack contents clobbered at runtime when the original CPU decided to flush its dirty lines.
Unfortunately, absent a hardware debugger that can investigate cache state this is taking a while to work through.  The "obvious" fix would be to spill the register window contents earlier, but that either doesn't fix the bug or has the effect of just moving the failures around (c.f. the voodoo problem from above).
Right now I'm working up a minimally invasive test rig that deliberately arranges to take an interrupt and context switch with a full window state and known register contents.  Ideally I can get to a "smoking gun" kind of bug and then narrow the focus.
(Thankfully one trick we do have available is that the SoC gives us two mappings for the memory, so we can see the underlying SRAM state independently of the cached results.)
[1] No, really, I'm very proud of that gadget.
Hack to disable cached stacks:
diff --git a/arch/xtensa/include/kernel_arch_func.h b/arch/xtensa/include/kernel_arch_func.h
index 8f45391cb7..7dbc25bfcd 100644
--- a/arch/xtensa/include/kernel_arch_func.h
+++ b/arch/xtensa/include/kernel_arch_func.h
@@ -64,9 +64,10 @@ static inline void arch_switch(void *switch_to, void **switched_from)
 #if defined(CONFIG_SOC_FAMILY_INTEL_ADSP) && defined(CONFIG_KERNEL_COHERENCE)
 static inline bool arch_mem_coherent(void *ptr)
 {
-	size_t addr = (size_t) ptr;
+	return true;
+	//size_t addr = (size_t) ptr;

-	return addr >= 0x80000000 && addr < 0xa0000000;
+	//return addr >= 0x80000000 && addr < 0xa0000000;
 }
 #endif

diff --git a/include/linker/section_tags.h b/include/linker/section_tags.h
index 86e383e7a0..aac9338f68 100644
--- a/include/linker/section_tags.h
+++ b/include/linker/section_tags.h
@@ -43,7 +43,8 @@
 #endif /* CONFIG_NOCACHE_MEMORY */

 #if defined(CONFIG_KERNEL_COHERENCE)
-#define __incoherent __in_section_unique(cached)
+//#define __incoherent __in_section_unique(cached)
+#define __incoherent
 #define __stackmem __incoherent
 #define __kstackmem __stackmem
 #else
diff --git a/kernel/thread.c b/kernel/thread.c
index 989f17f134..6a14738b1a 100644
--- a/kernel/thread.c
+++ b/kernel/thread.c
@@ -563,7 +563,7 @@ char *z_setup_new_thread(struct k_thread *new_thread,
 	 * still cached!
 	 */
 	__ASSERT_NO_MSG(arch_mem_coherent(new_thread));
-	__ASSERT_NO_MSG(!arch_mem_coherent(stack));
+	//__ASSERT_NO_MSG(!arch_mem_coherent(stack));
 #endif

 	arch_new_thread(new_thread, stack, stack_ptr, entry, p1, p2, p3);
--
2.25.1

Call out @lyakh @lgirdwood @nashif who will all want to follow this and probably have input.

@andyross Fwiw, SOF does not use the default Cadence HAL & xtos, but modified versions with numerous enhancements to work better on Intel hardware. It may be worth checking the git history for any changes. Fwiw, the history may be missing full details in commit messages (since it was squashed and came directly from internal codebase) but the changes (to default Cadence code) may be helpful.

Well, a little progress to report.  Here's the temporary rig I'm working on in a branch on top of the in-progress Xtensa pull request:
https://github.com/andyross/zephyr/tree/adsp-spill-rig
It's just a modified hello_world:
https://github.com/andyross/zephyr/blob/adsp-spill-rig/samples/hello_world/src/main.c
What this does (very carefully!) is:

Use some custom assembly to fill up the register window state (i.e. all 64 registers unspilled)

Make a copy of the current stack in uncached memory

Clobber the underlying SRAM "underneath" the current stack to detect spill failures

Deliberately trigger a custom interrupt

The ISR does no work beyond waking up a separate thread

That thread then immediately invalidates the old stack (to be sure that any unspilled contents don't reach SRAM) and checks it vs. the copy that was made earlier.

The idea here is to catch the theoretical situation mentioned above where the GPR window state isn't spilled until too late, leaving dirty cache pages.
Unfortunately... it works. This passes perfectly.  In fact it seems like the work involved in getting into the minimal interrupt uses enough stack to flush out all 64 registers on its own, so by the time we reach the second thread it's all spilled already.
While this is probably reasonably considered a performance bug (should a minimal interrupt really be using >256 bytes of register stack on top of its assembly save areas?), I'm a little afraid that what we thought was the bug can't be the only problem.
Now I'm back to digging through code to see if there's a shallower way to get through the interrupt (or exception?) path and skip the spill.

The big PR merged this morning, but I realized that I didn't have a Fixed header anywhere in it.  Close this.


Include default requestLog format string in documentation

I'm trying to just slightly tweak the requestLog, but I can't for the life of my find the default format string. Please include it in the entry for requestLog

Yes, it is missing and should be added to the documentation. For the time being, the request log format is:
%h %l %u [%t{dd/MMM/yyyy:HH:mm:ss Z, <tz-id>] "%r" %s %b "%i{Referer}" "%i{User-Agent}" %D


add executable that's usable for demos

"real" license scout usage should happen via omnibus, but this is usable to scan an existing project and see what license scout finds.

👍


[docs] RTL support

Is there no way to set all the components in the application to be RTL ? Can anyone give an accurate example of how to do this  ?

@louy Should be able to help you.

Yep. See here.
In your root component:
  getInitialState () {
    const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
    // To switch to RTL...
    muiTheme.isRtl = true;
    return {
      muiTheme,
    };
  },

And how would you do it if it was es6 ? I dont know if you had experience with it but you have a constructor for components instead of getInitialState in ES6 , Doesn't seem logical to return an object from a constructor

I think it would be something like this:
constructor() {
    const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
    // To switch to RTL...
    muiTheme.isRtl = true;
    this.state = { muiTheme };
}

Take a look here for more info.

This doesn't seem to work , What am i missing ? I'd really appreciate it if you took a look.
"use strict";

import React from "react";

const { AppBar,
    AppCanvas,
    FontIcon,
    IconButton,
    EnhancedButton,
    Menu,
    Mixins,
    RaisedButton,
    Styles,
    Tab,
    Tabs,
    Paper} = require('material-ui');

const DefaultRawTheme = Styles.LightRawTheme;

const ThemeManager = require('material-ui/lib/styles/theme-manager');

var  App = React.createClass({
    getInitialState: function(){
        const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
        // To switch to RTL...
        muiTheme.isRtl = true;
        return {
            muiTheme,
        };

    },
    render(){
       return (

             <AppBar
                 title="Adiga Mundial"
                 iconClassNameRight="muidocs-icon-navigation-expand-more" />

                 <Paper zDepth={2} isRtl={true}>

zDepth=1

                 </Paper>
                {this.props.children}

       );
   }
});

export default App;

You're missing the childContext part. Just add those things.
Sent from my iPhone

On 20 Oct 2015, at 00:37, turka50<EMAIL_ADDRESS>wrote:
This doesn't seem to work , What am i missing ? I'd really appreciate it if you took a look.
"use strict";
import React from "react";
const { AppBar,
AppCanvas,
FontIcon,
IconButton,
EnhancedButton,
Menu,
Mixins,
RaisedButton,
Styles,
Tab,
Tabs,
Paper} = require('material-ui');
const DefaultRawTheme = Styles.LightRawTheme;
const ThemeManager = require('material-ui/lib/styles/theme-manager');
var  App = React.createClass({
getInitialState: function(){
const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
// To switch to RTL...
muiTheme.isRtl = true;
return {
muiTheme,
};
},
render(){
   return (

         <AppBar
             title="Adiga Mundial"
             iconClassNameRight="muidocs-icon-navigation-expand-more" />

             <Paper zDepth={2} isRtl={true}>

zDepth=1

             </Paper>
            {this.props.children}

   );

}
});
export default App;
—
Reply to this email directly or view it on GitHub.

Well now it moved the app-bar icon to the right a bit but the title didnt... not exactly RTL yet . Wondering if this component is bugged.

Hmm. I think you should add direction="rtl" to your html file.
Here's how it should look like:

As opposed to the LTR docs:

You know, instead of using
 as the root element, use <AppCanvas>. It should solve your problem.

What is the AppCanvas component , what does it do ? I don't see it in the components list.

I believe it's a component that's supposed to wrap your whole application. Adds background color etc...
I'm not sure why it's not documented though.
@oliviertassinari @shaurya947 any comments on this?

AppCanvas is an undocumented component to do some layouting with an AppBar. It's useful for displaying the AppBar at the top of the page, in a fixed position. I would not use it if I where you.

I'm using a custom component to acheive the same goal as this one as some limitations

@louy @oliviertassinari after seeing this issue, I think it would be a good idea to add a section to the docs site for RTL. @louy, would you like to take the lead on this?

Hmm. I'd say let's add an option to <AppCanvas> for the fixed <AppBar> and make it public. Then RTL would be a piece of cake. I just need a parent element to have the "direction" style property.
@turka50 the alternative solution for now is adding direction="rtl" to html tag. that should be it.
@shaurya947 yes sure. I'll try to do it over the weekend.

@louy, I would not use AppCanvas because it's undocumented. However, I agree, having a good layouting component for the AppBar and the content below is valuable.

@louy You were right , adding rtl to the html tag solved the problem. Though i couldn't get this to work with the ES6 syntax , some issue with the childContextType , I resorted to using ES5 for this component.
Thanks.

I'm not really sure how to setup context in ES6. Sorry about that.
You're welcome.

I just noticed a very confusing thing , when you switch to rtl and you use AppBar it has the events onLeftIconButtonTouchTap and onRightIconButtonTouchTap , So these are not actually right anymore they are the exact opposite.
For your consideration.

Yep they are. Also all "right" and "left" icons are switched but their names are not.
This is only to make bidirectional apps easier to make.

hi, I'm having some problem with this too -- isRtl doesn't seem to work right. Using<EMAIL_ADDRESS>this is the minimal code to reproduce:
import React from 'react'
import ReactDOM from 'react-dom'
import injectTapEventPlugin from 'react-tap-event-plugin'

import MuiThemeProvider from 'material-ui/lib/MuiThemeProvider';
import getMuiTheme from 'material-ui/lib/styles/getMuiTheme';

import AppBar from 'material-ui/lib/app-bar';

const muiTheme = getMuiTheme({isRtl:true})

const Main = class extends React.Component {
    render() {
        return (
            <MuiThemeProvider muiTheme={muiTheme}>
                <AppBar title="MyApp" />
            </MuiThemeProvider>
        );
    }
}

injectTapEventPlugin();
ReactDOM.render(  , document.getElementById('app'))

and the result:

setting isRtl:false looks normal:

also adding a direction='rtl' to the html tag doesn't help. Neither helps AppCanvas, or downgrading to 0.14.4
Am I doing something wrong? Thanks!

@skariel can you try previous versions and see if it's something that got broken recently? it was working in 0.12.4+.

@louy using<EMAIL_ADDRESS>and the following code results in problems as described below:
import React from 'react';
import {AppBar, Styles} from 'material-ui';
import ThemeManager from 'material-ui/lib/styles/theme-manager';

const DefaultRawTheme = Styles.LightRawTheme;

var  Main = React.createClass({
    getInitialState: function(){
        const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
        muiTheme.isRtl = false;
        return {
            muiTheme,
        };

    },
    getChildContext () {
      return {
        muiTheme: this.state.muiTheme,
      };
    },
    render(){
       return (
         <AppBar
             title="Adiga Mundial"
             iconClassNameRight="muidocs-icon-navigation-expand-more" />
       );
   }
});

React.render(  , document.getElementById('app'))

this code as-is, doesn;t present anything in the page. Only way to make it display the AppBar is to comment out the getChildContext above. It doesn't display RTL.
using<EMAIL_ADDRESS>the code above does not compile, giving the following error:
ERROR in ./~/material-ui/lib/styles/theme-manager.js
Module not found: Error: Cannot resolve module 'react-addons-update' in /home/skariel/Desktop/sapakim/node_modules/material-ui/lib/styles
 @ ./~/material-ui/lib/styles/theme-manager.js 6:13-43

Also 0.14.x behavior is different from 0.15.0-alpha for the first code I showed, in 0.15 isRtl=true actually propagates to children, in 0.14.x it doesn't.
So I'm new to this lib, maybe I'm doing something wrong? I read the theming docs for the correct version...

OK -- I was missing the contextTypes and childContextTypes methods. Made it work in 0.12.5 with the code below. Still would be nice to achieve the same with 0.15.0-alpha. Will continue trying
import React from 'react';
import {AppBar, AppCanvas, Styles} from 'material-ui';
import ThemeManager from 'material-ui/lib/styles/theme-manager';

const DefaultRawTheme = Styles.LightRawTheme;

var  Main = React.createClass({
    getInitialState: function(){
        const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
        muiTheme.isRtl = true;
        return {muiTheme};

    },
    contextTypes: {
       muiTheme: React.PropTypes.object,
     },

     childContextTypes: {
       muiTheme: React.PropTypes.object,
     },
    getChildContext () {
      return {
        muiTheme: this.state.muiTheme,
      };
    },
    render(){
       return (
           <AppCanvas>
         <AppBar
             title="Adiga Mundial"
             iconClassNameRight="muidocs-icon-navigation-expand-more" />
     </AppCanvas>
       );
   }
});

React.render(  , document.getElementById('app'))

Some progress! the code below is broken only by 0.14.4 and works with all lower versions. I'm currently checking for changes in version that could have done this... maybe will do a PR to fix this:
import React from 'react';
import ReactDOM from 'react-dom';
import {AppBar, AppCanvas, Styles} from 'material-ui';
import ThemeManager from 'material-ui/lib/styles/theme-manager';

const DefaultRawTheme = Styles.LightRawTheme;

var  Main = React.createClass({
    getInitialState: function(){
        const muiTheme = ThemeManager.getMuiTheme(DefaultRawTheme);
        muiTheme.isRtl = true;
        return {muiTheme};
    },
    contextTypes: {
       muiTheme: React.PropTypes.object,
     },
     childContextTypes: {
       muiTheme: React.PropTypes.object,
     },
    getChildContext () {
      return {
        muiTheme: this.state.muiTheme,
      };
    },
    render(){
       return (
           <AppCanvas>
         <AppBar
             title="Adiga Mundial"
             iconClassNameRight="muidocs-icon-navigation-expand-more" />
     </AppCanvas>
       );
   }
});

ReactDOM.render(  , document.getElementById('app'))

I'm now reviewing the commits here: https://github.com/callemall/material-ui/compare/v0.14.3...v0.14.4
will take some time...

Would git bisect help?

@mbrookes doing this binary search manually :)
the problematic commit is 2f0d18458f86b7c35d8b0a04756b505a8e2b8f07
reverting changes made to  src/mixins/style-propable.js solves the problem. Judging by the header in that file this should not break other stuff
so,
doing a PR now

actually the fix above works for 0.14.4 but not for master... so theres another breaking commit somewhere
back to searching then

Nice detective work @skariel!

Ohhh. We should add some unit test for this feature!

@skariel You might be underestimating the difficulty of reverting that commit :smile:.
I just tested RTL support locally on the docs site and it's working fine. You have to override isRtl to true AND set direction: 'rtl' in the css. Are you sure that's not working? (I'm using master but I can try any commit version you're working with to be sure).

no -- I didn't try with both. Will try now, sorry for the noise if this is the problem

@skariel Sorry for the late response on this. I've worked on some of this code so should have been more responsive. Just ping me if you're having any issues and I'll help get this resolved ASAP.

One additional note, mutating muiTheme directly will definitely cause problems for RTL. You're particular code example using the alpha wasn't doing that, but there are code examples from others or in different versions where that is happening and will no longer work.
  getInitialState () {
    const muiTheme = getMuiTheme();
    muiTheme.isRtl = true; // WRONG do getMuiTheme({isRtl: true}) instead
    return {
      muiTheme,
    };
  },

@newoga yep, it works, sorry for the noise and thanks for the support. Maybe worth writing a bit more about this in the docs I don't see there direction is discussed. I did try it after reading this thread but never with the code with the alpha above
thanks again, great library, hopefully next time I encounter a real bug so I can fix it ;)

thanks again, great library, hopefully next time I encounter a real bug so I can fix it ;)

Thank you @skariel, I really appreciate you digging into this. You're welcome anytime :smile: And yes, we should provide an example for RTL :+1:

@skariel Any chance you have some free time to submit a PR that improves the documentation on how to do this properly?
At some point, it might be cool to toggle direction in the customization section as well. Let me know!

Sure, I have some time next week

Awesome, thanks much @skariel!

Ping @skariel :smile:

hi, I'm here. The thing is I'm no longer using material-ui because I couldn't configure  it with react as an external library using webpack. This made bundle.js way too big (added ~500Kb). The result is that I'm using material design lite. I don't have a working material-ui configuration anymore, I'm learning this other tool, so I won't be able to help with docs... I should have notified you when I decided this. Sorry for the delay ...

Hi @skariel - thanks for letting us know. I'm sure someone else this is important to will help out. :+1:

here is how I gor rtl working
1 add dir to your html
2 in your main component do this <MuiThemeProvider muiTheme={getMuiTheme({isRtl:true})}>
make sure to import import getMuiTheme from 'material-ui/styles/getMuiTheme'

It's officially supported with the v1-beta version.


smaller batch sizes

Thank you !
Because of unified memory, I wonder if tensorflow training on M1 max would be less badly impacted by smaller batch sizes, than training on the RTX 3090...
I would love to have the comparisons of resnet and mobilenet for batchsize=16, on M1 max and RTX 3090.

At batch size 16 for ResNet50:

M1 Max: 118
3090: 583 (XLA+FP16), 381 (FP32)

FYI: I do not think unified memory works in TensorFlow, maybe because it needs to convert CPU TensorFlow tensor to Metal tensor and run on the GPU.
I tested, and tensor created on CPU has slow read speed from GPU, and vice versa, so you still need to copy tensor like a normal system.

ok thanks a lot ! Very interesting. Hope further optimizations for the M1 family will come.


Merging fixes to live

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/holograms-240.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mixed-reality-partner-program.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


LatticeVector shape checking

There is currently a check within basis.py to ensure that the LatticeVectors are of the proper shape:
https://github.com/facebookresearch/fmmax/blob/1bc96735251f53e7778590f22520a8049ac6d9d3/fmmax/basis.py#L37-L43
This works fine for simple problems. But when trying to backpropagate through more complicated structures, jax will expand the shape of the basis accordingly (and this check fails).
Is there a better way to account for this?
(cc @mfschubert )

I suppose we could just check that the trailing dimension is size 2, rather than that the vectors actually have shape (2,). I don't foresee any issues with that, and iiuc it would enable the use case you have in mind.

@smartalecH Are you planning on tackling this? If so, it would also be great to add a test for whatever use case you have in mind, e.g. jacobian calculation. I think it might be easy for e.g. changes to the vector module to break this again.

Yep I'm hoping to get to this sometime this week.


Let user change multiform height using drag and drop

Similar to what we have in mind with column width (#106). Rest of the table should adapt.

Not sure if we still want to have this. We should discuss this tomorrow.

Switch to scroll mode would address this issue.

won't fix.


check tracking of http://ipt.vertnet.org:8080/ipt/archive.do?r=dmns_mamm http://ipt.vertnet.org:8080/ipt/archive.do?r=dmn

Check whether
http://ipt.vertnet.org:8080/ipt/archive.do?r=dmns_mamm
http://ipt.vertnet.org:8080/ipt/archive.do?r=dmn
are tracked through GBIF registry.

Confirmed that resources are being tracked via preston logs -
<http://ipt.vertnet.org:8080/ipt/archive.do?r=dmns_mamm> <http://purl.org/pav/hasVersion> <hash://sha256/675748bc30f6088c1f40ee83e8c070c59d938cedf0a68babcd4f655b9fb7ffcc> <82483c04-a2ee-43eb-9549-3d35cc153f25> .

and
<http://ipt.vertnet.org:8080/ipt/archive.do?r=dmn> <http://purl.org/pav/hasVersion> <hash://sha256/8788fb870494220e14543da1065da33b87e6bf0c94348c38ab896d47221187df> <aec71290-62e7-4d32-b96b-99a267d942d7> .


question

is nocode compatible with noscript?

@rickteuthof The nocode framework is written in No programming language, and there's no compatibility problem!

Double click 666


[feature-request] support expressions for opacity/color properties

The idea came from how mapbox handles hillshade layers properties. In mapbox you can define an expression for any property.
I think it would be amazing to be able to use something like linear([view::zoom], (4, 10), (8, 20)) in a number property like opacity for layers and such. I am not sure if it should be a new method or if we could use the same exisisting method: setOpacity or setOpacityExpression. I am a bit worried about the latter as in the end it would increase the lib size
I think it would be fairly easy to implement for hillshade layer. If you are ok with the idea i could have a go at it.
Once the concept seems good we could extend it to all vector elements

Not sure this is the best way to do it. I am currently thinking about adding CartoCSS support for raster tiles. Thus it would be possible to mix vector tile layers and raster layers in a more unified way. Opacity functions, comp-op support would come automatically with this.

@mtehver that sounds intersting ;). What i was thinking about recently was to be able to usr expression for all properties in vector elements. Working in many apps with Carto we feel more and more "constrained" by classical vector elements compared to vector tiles. And expressions are what makes the biggest difference. If we could have some kind of carto css theming for those the possibilities would be endless (navigation arrows, borders, text along lines ...).
This is why i am thinking of migration my local vector layers to geojson layers( with possible PRs on the way ;))


Update client c

What problem does this PR solve?
Issue Number: close #4624
Problem Summary:
What is changed and how it works?
Update client-c to latest version
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/cc @zanmato1984

/run-unit-test

/merge


Beacons

It looks like there is an API for the Matchmaker beacons. Would it be worth pursuing hooking into this for variants found in gene? We could have a variant open, then submit the variant to the Beacons and see what is returned?
https://beacon-network.org/#/developers/api/beacon-network

This is cool!  And it looks like they have a nice API.  Good find, Al!


Back Link on Show Page

Hi,
is it possible to create a back link to the show page?
when i filtering at the index page, and view a product, how can i get back to the index with the filters still active?

Note that I'm not sure of this would work, but have you tried using the link_to helper to achieve this?
link_to( :back )
Note that this will throw an exception if there was no referrer, so you will need to deal with that scenario.
If this works, you could put this code in your view, or add an action_item :only => :show {} to add this button in the action items area.


Keep n unique and most effective alternatives

This is either a question or a feature request.
It would be handy to keep not only the best solution, but also n other feasible and unique alternatives (sorted by cost).
As pointed by Hung_Do_Xuan in the forum, a solution exist by writing an IterationEndsListener and keep these alternatives in memory:
algorithm.addListener(new IterationEndsListener() {
        @Override
        public void informIterationEnds(int i, VehicleRoutingProblem problem, Collection<VehicleRoutingProblemSolution> iterationSolutions) {
            VehicleRoutingProblemSolution iterationSolution = Solutions.bestOf(iterationSolutions);
            if(iterationSolution != null && !alternativeExists(iterationSolution))
                    if(MAX_ALTERNATIVES > alternatives.size()) {
                        alternatives.add(iterationSolution);
                    } else {
                        alternatives.add(iterationSolution);
                        alternatives.sort(solutionComparator);
                        alternatives.remove(alternatives.size() - 1);
                    }
        }
    });

However, I'm not sure about the consequences of this code in jSprit in terms of accuracy and performance.
Could it be possible, through a native feature, to keep safely all these alternatives and retrieve theme (for example with a Solutions.alternatives() method)?
Thanks for considering this proposal.

It does not evaluate all feasible solution. It is actually the purpose the meta-heuristic to avoid that, but to search for promising solutions in the search space.


[ALLUXIO-3276] further optimization for ACL performance

https://alluxio.atlassian.net/browse/ALLUXIO-3276

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20752/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20753/Failed Tests: 17org.alluxio:alluxio-core-common: 1alluxio.wire.FileInfoTest.thriftorg.alluxio:alluxio-tests: 16alluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWithSortBySizeAndReversealluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWildcardNoAclalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWithExtendedAclalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWithFormatSpecifierCharacteralluxio.client.cli.fs.command.LsCommandIntegrationTest.lsalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsralluxio.client.cli.fs.command.LsCommandIntegrationTest.lsReverseWithoutSortalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsNoAclalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsPinnedalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWithSortByPathalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWithSortBySizealluxio.client.cli.fs.command.LsCommandIntegrationTest.lsrNoAclalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsWildcardalluxio.client.cli.fs.command.LsCommandIntegrationTest.lsHumanReadablealluxio.client.cli.fs.command.StatCommandIntegrationTest.statDirectoryWildCardalluxio.client.cli.fs.command.StatCommandIntegrationTest.statFileWildCard
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20757/
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20758/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20760/
Test PASSed.

@gpang PTAL. I changed it so that the object itself can never be null, but over the wire, we choose not to serialize it if it is just an empty ACL or defaultACL.

@gpang addressed comments, PTAL

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20762/
Test PASSed.

Merged build finished. Test PASSed.

@yuzhu Thanks! Please cherry-pick this to branch-1.8

@gpang This one does not need to go to branch-1.8 since branch-1.8 has no acl functionalities.


Optimize Sampling/Estimation time of code

Right now, a bottleneck of all the simulations is the required time. A profiling of the code should be executed to see what is consuming all the execution time. A quick scan revealed that the problem doesn't seem to be coming from the sampling or mean estimation per se, so there must be some other operation in the code that is time-consuming and probably can be replaced.
More exploration is needed.

@facusapienza21 is this running already in parallel? I can take that in the short/mid term otherwise

@LenGallo this is currently running in parallel. The problem with the total running time cames from the time required to sample Fisher and TK03. Here a short demo:

tk03 sampling: 180 +- 20 ms clock time.

%%timeit
_ = ipmag.tk03(n=100, dec=0, lat=20, rev='no', G1=-18e3, G2=0, G3=0, B_threshold=0);

Fisher sampling: 32 +- 9 ms clock time.

%%timeit
_ = ipmag.fishrot(k=40, n=100, dec=0, inc=0, di_block=False);

I do think we can do this more efficiently, since the current numpy samplers are much faster, by three orders of magnitude.

Multivariate Gaussian:  18 +- 3 microseconds

%%timeit
_ = np.random.normal(size=(3,100));

I think the samplers for the fisher and tk03 can be improved to run this fast. For the Fisher, there are ways of sampling Fisher directly from gaussian, which will make the fisher sampler run at the same order of magnitude than the gaussian sampler.
Another solution is to generate a large sample from tk03 and Fisher (~10000) with given paleolatitude and dispersion, saved it in memory and then subsample from this to generate high resolution plots as we move n and N in the simulations. This is not going to change the final result, but it's not the most elegant solution.
Maybe we can take a look to the implementation of the Fisher / TK03 sampler? @Swanson-Hysell @LenGallo ?

Ok, I follow a rabbit hole here but I think I discovered a way of doing the Fisher sampling faster.
The sampling of the Fisher distribution is done collectively by pmag.fshdev() and ipymag.fishrot(). Both functions had being desing to make more than one sample, but right now that feature is not exploted and the sampling of the Fisher samples is done one by one using np.random instead of one single call to np.random with a generation of all the samples at once. Here a demostrations.
These are the original funcions:
import numpy as np
from numpy import random
import pmagpy.pmag as pmag

def fshdev(k):
    """
    Generate a random draw from a Fisher distribution with mean declination
    of 0 and inclination of 90 with a specified kappa.
    Parameters
    ----------
    k : single number or an array of values
        kappa (precision parameter) of the distribution
    Returns
    -------
    dec, inc : declination and inclination of random Fisher distribution draw
               if k is an array, dec, inc are returned as arrays, otherwise, single values

    Examples
    --------
    >>> pmag.fshdev(8)
<PHONE_NUMBER>469283, 61.06963783415771)
    """
    k = np.array(k)
    if len(k.shape) != 0:
        n = k.shape[0]
    else:
        n = 1
    R1 = random.random(size=n)
    R2 = random.random(size=n)
    L = np.exp(-2 * k)
    a = R1 * (1 - L) + L
    fac = np.sqrt(-np.log(a)/(2 * k))
    inc = 90. - np.degrees(2 * np.arcsin(fac))
    dec = np.degrees(2 * np.pi * R2)
    if n == 1:
        return dec[0], inc[0]  # preserve backward compatibility
    else:
        return dec, inc

def fishrot(k=20, n=100, dec=0, inc=90, di_block=True):
    """
    Generates Fisher distributed unit vectors from a specified distribution
    using the pmag.py function pmag.fshdev() and pmag.dodirot() functions.
    Parameters:
        k : kappa precision parameter (default is 20)
        n : number of vectors to determine (default is 100)
        dec : mean declination of distribution (default is 0)
        inc : mean inclination of distribution (default is 90)
        di_block : this function returns a nested list of [dec,inc,1.0] as the default
        if di_block = False it will return a list of dec and a list of inc
    Returns:
        - di_block, a nested list of [dec,inc,1.0] (default)
        - dec, inc, a list of dec and a list of inc (if di_block = False)
    Examples:
        >>> ipmag.fishrot(k=20, n=5, dec=40, inc=60)
        [[44.766285502555775, 37.440866867657235, 1.0],
        [33.866315796883725, 64.732532250463436, 1.0],
        [47.002912770597163, 54.317853800896977, 1.0],
        [36.762165614432547, 56.857240672884252, 1.0],
        [71.43950604474395, 59.825830945715431, 1.0]]
    """
    directions = []
    declinations = []
    inclinations = []
    if di_block == True:
        for data in range(n):
            d, i = fshdev(k)
            drot, irot = pmag.dodirot(d, i, dec, inc)
            directions.append([drot, irot, 1.])
        return directions
    else:
        for data in range(n):
            d, i = fshdev(k)
            drot, irot = pmag.dodirot(d, i, dec, inc)
            declinations.append(drot)
            inclinations.append(irot)
        return declinations, inclinations

We can see there are two for loops nested in fishrot(). I rewrite this funciton to make one single call to the random generator funcion and make the rotation of all the directions at once:
def fishrot_fast(k=20, n=100, dec=0, inc=90, di_block=True):
    """
    Generates Fisher distributed unit vectors from a specified distribution
    using the pmag.py function pmag.fshdev() and pmag.dodirot() functions.
    Parameters:
        k : kappa precision parameter (default is 20)
        n : number of vectors to determine (default is 100)
        dec : mean declination of distribution (default is 0)
        inc : mean inclination of distribution (default is 90)
        di_block : this function returns a nested list of [dec,inc,1.0] as the default
        if di_block = False it will return a list of dec and a list of inc
    Returns:
        - di_block, a nested list of [dec,inc,1.0] (default)
        - dec, inc, a list of dec and a list of inc (if di_block = False)
    Examples:
        >>> ipmag.fishrot(k=20, n=5, dec=40, inc=60)
        [[44.766285502555775, 37.440866867657235, 1.0],
        [33.866315796883725, 64.732532250463436, 1.0],
        [47.002912770597163, 54.317853800896977, 1.0],
        [36.762165614432547, 56.857240672884252, 1.0],
        [71.43950604474395, 59.825830945715431, 1.0]]
    """
    directions = []
    declinations = []
    inclinations = []
    if di_block == True:
        declinations, inclinations = fshdev(np.repeat(k, n))
        Block = np.array([declinations, inclinations, np.repeat(1, n)]).T
        res = pmag.dodirot_V(Block, np.repeat(dec, n), np.repeat(inc, n))
        # for data in range(n):
        #     d, i = fshdev(k)
        #     drot, irot = pmag.dodirot(d, i, dec, inc)
        #     directions.append([drot, irot, 1.])
        # return directions
        return res[:,0], res[:,1]
    else:
        for data in range(n):
            d, i = fshdev(k)
            drot, irot = pmag.dodirot(d, i, dec, inc)
            declinations.append(drot)
            inclinations.append(irot)
        return declinations, inclinations

With this new implementation, we observe a significant improvement of the sampling:

Original Fisher sampling implementation: 34.7 +- 7.27 ms

%%timeit
res_slow = fishrot(n=100, k=20);

New implementation: 350 +- 77 microsec

%%timeit
res_fast = fishrot_fast(n=100, k=20);

I will probably use this sampling for the simulations, but I wonder if it makes sense to make a PR to Pmagpy with this in the future. @Swanson-Hysell ?

Nice to get a two order of magnitude speed up! This should help matters.
Yes. Putting in a pull request to PmagPy makes sense.
It looks like it would be good to pull the generation of the samples out of the if di_block == True: if/else statement. The samples can be pulled in this more efficient way and then they can either be returned as the nested list or the declinations, inclinations list.
Can we change the name of the internal Block array to be something more informative. Say resampled_di and we could have res be resampled_di_rotated?


Forums styling bugs

[ ] breadcrumbs interacting with header bar poorly
[ ] prev/next topic button on top of content

these bugs were due to customizations we're not maintaining moving forward.


Create a Templte for a portfloilio webisite

Skill showcasing

ok assign it to me i will create a design using tailwind CSS For your resume.

Hi @eeshsaxena , I am Hacktoberfest24 Contributir. Can you please assign this issue to me.
Thanks


Game crash on attempting to use the flint axe

Minecraft Version
1.21.x
Mod Loader Version
0.15.11
Mod Version
1.1.1
Describe the Issue
When attempting to use the flint axe on a tree, the game freezes and crashes.
latest.log
Uploading latest.log...
Do you use any other mods except the required ones?
Yes, issue not present when testing alone, but does not affect other axes

Pls upload your latest log again.


Add event to record each chaos action

Feature Request
Is your feature request related to a problem? Please describe:

Currently, we didn't have any places to show the chaos actions which have been done after we apply the chaos api. I think it might be important for users to know the effect caused by chaos-mesh by each chaos api component.
Describe the feature you'd like:

For example, after I apply the PodChaos api, I could get the information by
kubectl describe pod-chaos xx

And I can find the information for when and which pod the pod-chaos effected in events.

Also need show how many times it trigger, the trigger time and some description message

HI. Is there anyone working on this issure ? If not, I am willing to contribute. @Yisaer @zhouqiang-cl

@AngleNet  Thanks, feel free to work on this issue.

Any implementation hints for this issue ? @Yisaer @zhouqiang-cl

@AngleNet  ChaosMesh is built based on the KubeBuilder.  Here is the document about the Events in KubeBuilder. I think this would help you.
https://book-v1.book.kubebuilder.io/beyond_basics/creating_events.html

@AngleNet Did things goes well, or did you need more docs?  no rush

I'm still working on it. It is a little bit busy for now. I will try my best to open the PR in this week. I will let you know if I need more help. Thanks ~~~

That's OK. thank you. take your time

@AngleNet You don't have to add event in all controllers. Only create the event recorder in Controller would also helpful for us.
Then the developers could add events in each controller in parallel.

Alright. Will file a PR only for event recorders.

It solved by @AngleNet . I will close this issue


Add release action

Add action to create a release every time a version tag is created. The version tag needs to start with v (e.g., v1.0.0). zip and tar.gz files are added to the release that contain the source code and generated configure scripts.
To address #285

I certify that the contribution was created in whole by me and I have the right to submit it under the Apache License Version 2.0. I understand and agree that this Accellera project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed in accordance with this project or the Apache License Version 2.0.

I made a test, by cloning your repo, and making a release in my cloned repo.
Here are some findings:
the configure file is not there - I think it should be, meaning that the process that takes place when making a release shall include
chmod +x config/bootstrap
./config/bootstrap

where the first command will not be needed, once we merge #290
Then there was a build error (I am on Ubuntu 18, with gcc 7.5.0.
Making all in docs
make[1]: Entering directory '/home/eoladah/work/acc_work/cci_work/release/trial_2022_1004/cci-nbosb-1.0.1_trial/objdir/docs'
make[1]: *** No rule to make target 'cci/archived/CODING_STYLE.txt', needed by 'all-am'.  Stop.
make[1]: Leaving directory '/home/eoladah/work/acc_work/cci_work/release/trial_2022_1004/cci-nbosb-1.0.1_trial/objdir/docs'
Makefile:503: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

I rebased my clone from the repo provided by nils. My clone is here:
https://github.com/oladahl/cci-nbosb
I managed to make a tag on the command line (thanks Lukas for the input for this!), as
git tag v1.0.3

I pushed the tag, using
git push <origin URL> --tags

and a release was created, at
https://github.com/oladahl/cci-nbosb/releases/tag/v1.0.3
I downloaded the tar.gz that was created automatically. I unpacked it and did, as I normally do when building, but now skipping the
chmod +x config/bootstrap
./config/bootstrap

the commands
mkdir -p objdir
cd objdir

I then invoked configure, as I normally do, by doing
env LD_LIBRARY_PATH=/home/$USER/sw/systemc_2_3_3/lib-linux64 ../configure --prefix=/home/$USER/sw/cci --with-systemc=/home/$USER/sw/systemc_2_3_3 --with-json=/home/$USER/work/acc_work/rapidjson

and got this error:
 configure: error: cannot find required auxiliary files: missing install-sh

Hello Ola,
thank you very much for your feedback! I updated my branch to use the config/bootstrap script for the release creation. To test the action using your fork https://github.com/oladahl/cci-nbosb, you can do the following from the root directory of your cloned repository <cci-nbosb_home>:
cd <cci-nbosb_home>
git remote add upstream https://github.com/nbosb/cci.git
git fetch upstream
git checkout release_action # checkout branch
git reset --hard upstream/release_action #update branch
git push -f # optional - push updated branch to github
git checkout -B master # set the master to the updated release action
git push -f # push the updated master to github
git tag v1.0.4 # create a new local tag
git push --tags # push the tag to github - this triggers the release action

Those commands update your fork and trigger the release action. Then you can download the automatically created tar.gz file:
wget https://github.com/oladahl/cci-nbosb/releases/download/v1.0.4/cci-nbosb_v1.0.4.tar.gz
tar -xvf cci-nbosb_v1.0.4.tar.gz
cd cci-nbosb_v1.0.4.tar.gz
mkdir objdir
cd objdir
env LD_LIBRARY_PATH=/home/$USER/sw/systemc_2_3_3/lib-linux64 ../configure --prefix=/home/$USER/sw/cci --with-systemc=/home/$USER/sw/systemc_2_3_3 --with-json=/home/$USER/work/acc_work/rapidjson
make -j`nproc`

This should configure and build the project. The described steps worked without an error for me using my fork.
Could you test the procedure again to verify that it works for your fork now?

I tried, by following your suggested steps.
The steps worked fine, and a release was created.
When I did the build, using the steps for this as we both have used recently (see your latest comment), I got an error, as
make[1]: *** No rule to make target 'COPYING', needed by 'all-am'.  Stop.

I still get this error when

doing the bootstrap in the release directory (the one unpacked from the tar.gz release file), and then repeating the configure and make commands
doing the bootstrap in the locally cloned repo (from my fork of your repo), and then doing the configure and make commands

I tried with the cci repo from
https://github.com/accellera-official/cci
and I still get this error!
So I guess we have a problem in the main branch.
We should fix this, of course!
(and we should setup some regression testing ...)
I tend to believe that the tag setting and release creation is ok, though, so I guess we are good to go for merging your pull request.
Thanks for your work with this contribution!


Default expression is not loaded into ColumnSchema

When column schema is loaded from DB, for columns having default value as expression but not constant, I get expression as string as default value instead of object of \yii\db\Expression.
Example:
What steps will reproduce the problem?

create a new table with at least one column that have default expression. Example:

$mysqlColumns = [
            'ts' => 'datetime DEFAULT \'2011-11-11 00:00:00\'',
            'ts2' => 'datetime DEFAULT CURRENT_TIMESTAMP',
            'ts3' => 'datetime DEFAULT CURRENT_TIMESTAMP',
            'ts4' => 'timestamp DEFAULT CURRENT_TIMESTAMP',
            'ts5' => 'timestamp DEFAULT \'2011-11-11 00:00:00\'',
            'ts6' => 'timestamp DEFAULT CURRENT_TIMESTAMP',
            'd' => 'date DEFAULT \'2011-11-11\'',
            'd2' => 'text', // DEFAULT "2011-11-11"
            'd3' => 'text', // DEFAULT CURRENT_DATE + INTERVAL 1 YEAR
            'ts7' => 'date DEFAULT (CURRENT_DATE + INTERVAL 2 YEAR)',
        ];
        if (DB::isPostgres()) {
            $pgsqlColumns = $mysqlColumns;
            $pgsqlColumns['ts7'] = 'date DEFAULT (CURRENT_DATE + INTERVAL \'2 YEAR\')';
            Yii::$app->db->createCommand()->createTable('{{%fruits}}', $pgsqlColumns)->execute();
            return;
        }

        Yii::$app->db->createCommand()->createTable('{{%fruits}}', $mysqlColumns)->execute();

now get columns schema from yii\db\TableSchema::$columns
say for e.g. lets take ts7 column from example $ts7ColumnSchema = (object of yii\db\TableSchema)::$columns['ts7']

What is the expected result?
Now I expect $ts7ColumnSchema->defaultValue should be equal to object of \yii\db\Expression('(CURRENT_DATE + INTERVAL 2 YEAR)'') for Mysql
What do you get instead?
I get $ts7ColumnSchema->defaultValue as '(CURRENT_DATE + INTERVAL 2 YEAR)' as string
Hint for solution
For MySQL we get DEFAULT_GENERATED in Extra column, we can use that when we loadColumnSchema()

For PgSQL for default constant, its value is suffixed by ::data_type e.g. ::text

Additional info

Q
A

Yii version
2.0.*

PHP version

Operating system

Doesn't look good. Do you have a time for a fix?

What doesn't look good?

Do you have a time for a fix?

cannot say concretely. But I will try. If I take this issue in hand, can I introduce breaking change if it is needed? At this moment I cannot say that my PR will have breaking change (also I will try to avoid as much as possible) but if I need to choose a path for solution that might break something (e.g. method signature of public method), can I proceed on that path?

@SOHELAHMED7 if breaking change is unavoidable, feel free to do it. But it's better to avoid it.

I came to know that for MariaDB I don't get DEFAULT_GENERATED in Extra column (see this image for MySQL for corresponding data)
I just get empty data in Extra
So for Mariadb it is very hard to detect that default value is constant or expression:

At this moment I am skipping implementation for this issue for Mariadb
Any hint to fix this issue for Mariadb is more than welcome

For Mariadb
While getting info from INFORMATION_SCHEMA

I get default value

number without quotes
string with quotes
expression as string without quotes

It will allow me to check if it is non-empty string without quotes it is expression.
Though I don't think it is :100: perfect solution, but I will proceed with this in case of Mariadb

Note:
For table
CREATE TABLE  IF NOT EXISTS `datetime_test`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

for column 'ts', in Extra column
for MySQL we get 'DEFAULT_GENERATED on update CURRENT_TIMESTAMP'
for Maria we get 'on update current_timestamp()'

Tests for Mariadb
I am facing difficulties mocking methods/properties (below) that make db = mariadb in tests
public function isMysql()
    {
        return ($this->db->schema instanceof static && !$this->isMariaDb());
    }

    public function isMariaDb()
    {
        return strpos($this->db->schema->getServerVersion(), 'MariaDB') !== false;
    }

Also if I use real MariaDB server, I have to setup Mariadb in Github action.
So I have decided to proceed with tests for Mariadb in below way:
I will write tests for Mariadb that will connect with my real local Mariadb server. I will add condition, if db !== mariadb; skip this tests. So theses tests will always be skipped in Github actions but will run if connected to local Mariadb server.

After several attempts and a question at Stack Overflow, detecting default value is constant or expression in PgSQL is complex/not possible/requires lots of unreliable if condition. So I will skip implementation of this issue for PgSQL.

Some progress on this PR it would be great to have it in 2.0.50.


Crash with malformed templates not containing YAML maps

cfn-lint version: (cfn-lint --version) 0.6.1
Description of issue.
$ echo malformed > test.yml
$ cfn-lint test.yml
Traceback (most recent call last):
  File "/Users/myusername/.virtualenvs/myvirtualenv/bin/cfn-lint", line 11, in <module>
    sys.exit(main())
  File "/Users/myusername/.virtualenvs/myvirtualenv/lib/python3.7/site-packages/cfnlint/__main__.py", line 27, in main
    (args, filename, template, rules, fmt, formatter) = cfnlint.core.get_template_args_rules(sys.argv[1:])
  File "/Users/myusername/.virtualenvs/myvirtualenv/lib/python3.7/site-packages/cfnlint/core.py", line 222, in get_template_args_rules
    for section, values in get_default_args(template).items():
  File "/Users/myusername/.virtualenvs/myvirtualenv/lib/python3.7/site-packages/cfnlint/core.py", line 258, in get_default_args
    if isinstance(configs, dict):
UnboundLocalError: local variable 'configs' referenced before assignment

This doesn't work if I instead do echo '{}' > test.yml, but does with echo 1 > test.yml and echo [] > test.yml, so it seems to be a problem with the type of the object in the template.

It looks like the string in the file is being decoded as valid and passed into the config parser to start looking at the (non-existent) meta-data:
https://github.com/awslabs/cfn-python-lint/blob/38b0f23a319eddd9b94dc9e2649c64b96775214e/src/cfnlint/core.py#L223-L225
https://github.com/awslabs/cfn-python-lint/blob/38b0f23a319eddd9b94dc9e2649c64b96775214e/src/cfnlint/core.py#L223-L225
We'll need better error trapping when we attempt to extract values from the config section


Noderunners gentx

Please make sure your node is up and running now. Join #validators on Discord for help: https://discord.gg/QeJWCrE.


Emit response lambdas?

I'm trying to get an answer from a node server using this emit/lambdas:
c++
...
current_socket->emit("msgToServer", Msg, [&](message::list const& msg) {
 //how can I iterate msg?
//trying this, but not working
 for (auto m : msg[0]->get_map())
				EM(m.first <<":"<< m.second);
 //how can I know the type of msg?
});
...

nodejs:
...
socket.on('msgToServer', function(data, callback){
            callback({"data":"hello from Server!"});
        });
...

well, I got access to it this way:
msg[0]->get_vector()[0]->get_map()["data"]->get_string().data()

isn't any way 2 get the type of data in runtime? or some kind of string builder?

Need to use get_type() and using a switch block to handle different type if you need to handle dynamic types.


Cleanup fluid-framework legacy exports

Description
Cleanup fluid-framework legacy exports to remove no longer required types.
Breaking Changes
Removed types should not be needed for declarative API users, but can still be found in their original packages.
Reviewer Guidance
The review process is outlined on this wiki page.

For my knowledge, how can you determine what is needed or not? Examples that can be worked against?

The fluid-framework is a public API for use in the "declarative API". APIs that are unneeded for such use can be removed.
In this case everything I'm removing are APIs which I personally removed from the public API surface and should eventually become internal. These Are APIs which are both not reachable from the remaining APIs, and not intended as API entry points.
In general I do not know a good way to determine how one of our APIs is intended to be used unless trust its release tag, which isn't accurate for a lot of stuff. This work is more making it clear which things are in the API than enforcing some policy about things that are in the API are what should be included here.
Some examples are relatively easy to sort out, for example SharedObject is a class with lots of members and base types. Generally those should not be in our public interface and instead some interface (ISharedObject) should be so that the base types and protected members can be kept from the public API. It used to be reachable from the public API, but it shouldn't be anymore since I added ISharedSegmentSequence.


fix variable name in run_benchmark docstring

Codecov Report

Merging #688 (eb7ead8) into main (90ceb5c) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #688   +/-   ##
=======================================
  Coverage   54.97%   54.97%
=======================================
  Files          45       45
  Lines        2974     2974
  Branches      554      554
=======================================
  Hits         1635     1635
  Misses       1214     1214
  Partials      125      125


Allow null value for inputEncoding and outputEncoding

Problem
Cannot receive buffers in processString
Solution
Do not check the value of options.inputEncoding and options.outputEncoding in constructor of Plugin before assigning it. If any of both options is undefined, default value utf8 will be assigned anyways before calling readFileSync.
Fixes #47

Tests on AppVeyor are failing because they are running with Node 0.12 and NPM 5. 😃

Thank you! I've merged #52, a slightly modified fix based on this PR -- with #52, we don't overwrite previously-set inputEncoding/outputEncoding fields on the object when no option is passed.
I've also released version 1.3.0 containing the fix.


Westeros Baseline Example Reporting Module Error

Code sample or context
When plotting results in westeros_baseline.ipynb there is a typo calling the reporting module. The error can be seen below.
There needs to be a change to the where the module is called so that it calls "from message_ix.reporting import Reporter". This will allow the program to work.
# Create a Reporter object to describe and carry out reporting
# calculations and operations (like plotting) based on `scenario`
from message_ix.report import Reporter

rep = Reporter.from_scenario(scenario)

# "prepare_plots" enables several to describe reporting operations, e.g.
# "plot activity", "plot capacity", or "plot prices"
# See message_ix/util/tutorial.py for more information
from message_ix.util.tutorial import prepare_plots

prepare_plots(rep)

Expected result
The program should prepare the plots that get called later on.
Problem description
Due to the typo, the following error is raised:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
[~\AppData\Local\Temp\ipykernel_24900\3937561850.py](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/brend/Documents/CIVE%20566/MESSAGE%20Tutorials/iiasa-message_ix-f2bd088/tutorial/westeros/~/AppData/Local/Temp/ipykernel_24900/3937561850.py) in <module>
      1 # Create a Reporter object to describe and carry out reporting
      2 # calculations and operations (like plotting) based on `scenario`
----> 3 from message_ix.report import Reporter
      4
      5 rep = Reporter.from_scenario(scenario)

ModuleNotFoundError: No module named 'message_ix.report'

Versions
Output of message-ix show-versions
ixmp:        3.4.0
message_ix:  3.4.0
message_ix_models: None
message_data: None

click:       8.1.7
dask:        2022.02.0
genno:       installed
graphviz:    None
jpype:       1.4.1
… JVM path:  C:\Program Files\Java\jdk-21\bin\server\jvm.dll
openpyxl:    3.0.10
pandas:      1.2.5
pint:        0.17
xarray:      0.20.2
yaml:        6.0

iam_units:   installed
jupyter:     installed
matplotlib:  3.4.2
plotnine:    None
pyam:        1.3.1

GAMS:        38.3.0

python:      3.7.15 (default, Nov 24 2022, 18:44:54) [MSC v.1916 64 bit (AMD64)]
python-bits: 64
OS:          Windows
OS-release:  10
machine:     AMD64
processor:   Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
byteorder:   little
LC_ALL:      None
LANG:        None
LOCALE:      (None, None)

I am using MESSAGE as part of a course and originally downloaded using conda and the version was older. I updated through pip to version 3.7 and the error persists.
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
[~\AppData\Local\Temp\ipykernel_12324\3937561850.py](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/brend/Documents/CIVE%20566/MESSAGE%20Tutorials/iiasa-message_ix-f2bd088/tutorial/westeros/~/AppData/Local/Temp/ipykernel_12324/3937561850.py) in <module>
      1 # Create a Reporter object to describe and carry out reporting
      2 # calculations and operations (like plotting) based on `scenario`
----> 3 from message_ix.report import Reporter
      4
      5 rep = Reporter.from_scenario(scenario)
ModuleNotFoundError: No module named 'message_ix.report'

Versions
Output of message-ix show-versions
ixmp:        3.7.0
message_ix:  3.7.0
message_ix_models: None
message_data: None

click:       8.1.7
dask:        2022.02.0
genno:       installed
graphviz:    None
jpype:       1.4.1
… JVM path:  C:\Program Files\Java\jdk-21\bin\server\jvm.dll
openpyxl:    3.0.10
pandas:      1.2.5
pint:        0.17
xarray:      0.20.2
yaml:        6.0

iam_units:   installed
jupyter:     installed
matplotlib:  3.4.2
plotnine:    None
pyam:        1.3.1

GAMS:        38.3.0

python:      3.7.15 (default, Nov 24 2022, 18:44:54) [MSC v.1916 64 bit (AMD64)]
python-bits: 64
OS:          Windows
OS-release:  10
machine:     AMD64
processor:   Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
byteorder:   little
LC_ALL:      None
LANG:        None
LOCALE:      (None, None)

Hi @brendandanaher, thanks for reaching out!
This typo is somewhat intentional, I would say. Please note that we have recently released version 3.8.0 of message_ix, which changed the syntax of calling the reporting-related module (as you can see in our docs). So at version 3.4.0 and 3.7.0, the syntax needs to be the way you describe it (from message_ix.reporting import Reporter), while for version 3.8.0 and above, it needs to be the new way (from message_ix.report import Reporter).
We took precautions to avoid people running into such errors, so the version of the tutorials that is distributed along with the code always reflects the currently working syntax. For example, you will find that the westeros baseline tutorial in the 3.7.0 version does call from message_ix.reporting, while only the 3.8.0 version calls from message_ix.report. So you must have gotten your hands on the latest version of the tutorial, which does not necessarily work with not-the-latest version of message_ix.
Please try updating the message_ix module to the latest version or try running the old version of the tutorials! They are identical on the content side, but some syntax has changed.


No options displayed in the UI

When selecting this Script, only "Keep -1 for seeds" is displayed as an option, nothing else is available as options or parameters. The Web UI is running with the following arguments and it's updated to commit (30b1bcc):
Launching Web UI with arguments: --xformers --disable-safe-unpickle --api --deepdanbooru --allow-code --administrator
I am sure it was working a few days ago because I did translate it in Italian. There are no error messages in the webui-user console. I disabled all the other non-official scripts as well as all the extensions, apart from the Image Browser, in case of conflicts, but without results. I am on Windows 10 Pro 64bit.

I installed this script for the first time yesterday and have the same visual issue. No options are displayed except "Keep -1 for seeds" with a short grey bar above it.
Screenshot: https://imgur.com/a/F2jvQQ2

Yeah I was running into this issue as well. I have the latest WebUI and just downloaded this script for the first time today.

Resolved with a64128c7afb1b841c28ba670e19681dfbd5701b6, please update your script file!

Downloaded the new version and now get this error in the console when booting up the Web UI:
venv "C:\Stuff\AI\Stable Diffusion\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Commit hash: c5334fc56b3d44976425da2e6d0a303ae96836a1
Installing requirements for Web UI
Launching Web UI with arguments:
Error loading script: xyz_grid.py
Traceback (most recent call last):
  File "C:\Stuff\AI\Stable Diffusion\modules\scripts.py", line 168, in load_scripts
    compiled = compile(text, scriptfile.path, 'exec')
  File "C:\Stuff\AI\Stable Diffusion\scripts\xyz_grid.py", line 70
    <title>xyz_plot_script/xyz_grid.py at master · xrpgame/xyz_plot_script</title>
                                                 ^
SyntaxError: invalid character '·' (U+00B7)

LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Loading weights [81761151] from C:\Stuff\AI\Stable Diffusion\models\Stable-diffusion\sd-v1-5.ckpt
Global Step: 840000
Applying cross attention optimization (Doggettx).
Model loaded.
Loaded a total of 0 textual inversion embeddings.
Embeddings:

Thanks for being a Gradio user! If you have questions or feedback, please join our Discord server and chat with us: https://discord.gg/feTf9x3ZSB
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.


introduce :managed-deps option to disable 'npm install' step - fixes #45

Check #45

Thanks for this. Closes #45, closes #46


See if we can use the fabric8 client for CRDs

See https://github.com/fabric8io/kubernetes-client/issues/299

and while this is the ideal solution, we should at least cleanup the current watchers so that they establish the connection (web-socket with fallback) consistently with those used for core resource watchers


A few suggestions

Hi, great work.
I have some suggestions, you and your recipients may like

Run the whole thing as a normal user
Have a docker volume to store user settings, like

-v docker_desktop_home:/home \
-v docker_desktop_root:/root \

Give your container a name with --name
why is chrome running in no sandbox mode?

Regards

Hi thank you for your suggestions, to answer your question:

Chrome needs to be run in a no sandbox mode because we are running the container as a root user but I will follow your suggestion and add a non-root user. Which will solve both of the issues.
For the other suggestions, I will add them to the readme of the project.  The user settings location on the container is already under /root/.config, so you can bind any volume from the host to it.

Both those changes will come in the next version of the image.
Regards

Features implemented in the new versions, I removed chrome as a browser because it seems we can only use the --no-sandbox option when running it on a docker container. I replaced it with Firefox instead.


root directive doesn't used

Hi! It's again me ;)
I have this config /home/toor/www/Caddyfile ( pwd used here to show problem, original config have command hugo):
localhost {
  root ./blog
  cms {
    content public
    command pwd
  }
}

I've expected to see /home/toor/www/blog/, but
$ caddy -conf=Caddyfile
/home/toor/www
localhost:2015

But running caddy from blog directory let it works like a charm...
I think you need to set current working dir before Run:  https://golang.org/pkg/os/exec/#Command

But root directive sets current dir for serving content, not for running external apps... Maybe @mholt give us a hint.

No, that makes sense. If the site is at /home/toor/www, the hugo commands probably need to be run from that directory (or somewhere around there).

Caddyfile should be placed where the Hugo files are placed. The root is the content served and content is what's probably causing the main problem. This directive is used to know which folder contains the main content, the markdown files. It will only affect the links, nothing else.

It's not that clear in the docs, sorry.

Currently there is no way to have more than one cms with one caddy file, because users from each cms can modify files of other:
<IP_ADDRESS>:8001 {
  root ./blog1/public
  cms {
   content blog1/public
   command hugo
   args -s blog1/
  }
}

<IP_ADDRESS>:8002 {
  root ./blog2/public
  cms {
   content blog2/public
   command hugo
   args -s blog2/
  }
}

Oh... I see. What do you want is to have a a directive where you put the path of the "static-generator-content-things" and it runs there, isn't it? I could (or even you!) create that, it could be optional. You do you think?

Oh... I see. What do you want is to have a a directive where you put the path of the "static-generator-content-things" and it runs there, isn't it?

maybe, but this makes things complicated...
search plugin use  search [directory] endpoint { ... }

directory is a path within the site (can be a regular expression) that should be indexed. Default is site root.

git plugin also use similar thing. Anyway current dir for executing could be root or user defined, but not a caddy running directory.

@adzeitor it can't be root because those are the served files. What do you suggest?

Oh... I figured out that content is always the same as root. So, I can remove content variable and add workdir or something like that.

It can be root with rewrite :smile:
I think it is better root than caddy workdir (if root is defined).

What do you suggest?

root /home/toor/blog1/public
cms /home/toor/blog1/ {
  command ...
}

So:
root [path/to/public/folder]
cms [path/to/execute/things] {
	styles  file
	command cmd
	args    args...
	content folder
}

I'm thinking about merging command and args too. What do you think?

I like it.

merging command and args too

Good because it works in the same way as startup directive.

I'm making the changes and I found out that there's a mistake here. content =/= public. Content is the folder where are the content files like pages and posts. Public is the generated HTML. So the content directive should be used.

I'll update the docs to make that clearer.

Try executing from source to see if is good!


Metadata

Hello!
I love this program.<3  It's easy to use without any errors for me.
Can you add the "Both" option for metadata type to generate individual and merged metadata at the same time?
Thanks.

Glad you liked!
Don't forget to share your NFT creation with us so we can list it in our project.
Will try to implement this feature in the next few days.
Cheers!

Hello!
I have one more question. Theoretically, we can create 10000 NFT from a 1x10x10x10x10 layer combination, but I can not continue generating from this combination because the program shows an error. However, I can generate it with 2x10x10x10x10 layers. Can you explain why?
Thanks.

Could you please open a new issue related to this.
I'm looking forward to trying to play in this area to see what we can do.
Cheers!

Hi,
Your program is very helpful for me. It's easy to navigate, and anyone can generate NFTs without coding knowledge.
I suggest you add an external link section for metadata.
Thank You.

Yeah! I'm talking about ### external_url, Hope to see it soon...
By the way, this software is very useful and easy to navigate.
Thank You.

@jessepinkwoman, External Url is now part of v1.4.0 release


Segfault in grpc::ServerContext::IsCancelled

What version of gRPC and what language are you using?
1.20.1 C++14
What operating system (Linux, Windows,...) and version?
linux 4.15.0-1032-aws (Ubuntu 18.04)
What runtime / compiler are you using (e.g. python version or version of gcc)
GCC 7.4.0
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
[Current thread is 1 (Thread 0x7f710effd700 (LWP 1639))]
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007f711f707842 in grpc::CompletionQueue::TryPluck (tag=0x7f70f80014a0, this=0x55dce6f84290) at include/grpcpp/impl/codegen/completion_queue.h:332
#2  grpc::ServerContext::CompletionOp::CheckCancelled (cq=0x55dce6f84290, this=<optimized out>) at src/cpp/server/server_context.cc:88
#3  grpc::ServerContext::IsCancelled (this=<optimized out>) at src/cpp/server/server_context.cc:359
#4  0x000055dce560b4bd in IsCancelledCallback::Proceed() ()
#5  0x000055dce560a270 in ServiceImpl::HandleRpcs(grpc::ServerCompletionQueue&) ()
#6  0x00007f711f03766f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f711eb4a6db in start_thread (arg=0x7f710effd700) at pthread_create.c:463
#8  0x00007f711fef588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

When processing requests asynchronously I wish to be able to check whether a client is still connected before performing potentially expensive computations. ServerContext's IsCancelled function is supposed to provide this. However it has a somewhat annoying restriction that when used with the async API, it can only be called after the associated AsyncNotifyWhenDone tag has been delivered. I have created the following abstractions to ensure this:
struct RPCContextBase {
    virtual void Proceed() = 0;
    virtual ~RPCContextBase() = default;
};

struct IsCancelledCallback final : public RPCContextBase {
    IsCancelledCallback(const grpc::ServerContext &ctx)
        : _ctx(ctx) {}

    void Proceed() override {
        isCancelled = _ctx.IsCancelled();
    }

    bool isCancelled = false;

private:
    const grpc::ServerContext &_ctx;
};

struct RPCContextWithCancelled : public RPCContextBase {
    bool isCancelled() const { return _isCancelled.isCancelled; }

protected:
    RPCContextWithCancelled()
        : _isCancelled(_ctx)
    { _ctx.AsyncNotifyWhenDone(&_isCancelled); }

    grpc::ServerContext _ctx;

    IsCancelledCallback _isCancelled;
};

This is triggered by a RPC handler similar to the one from the greeter_async_server example
while(completionQueue.Next(&tag, &ok)) {
    RPCContextBase * const rpc = static_cast<RPCContextBase*>(tag);
    if(GPR_UNLIKELY(!ok)) {
        std::cerr << "CompletionQueue returned not ok! Destroying associated RPC." << std::endl;
        delete rpc;
    } else {
        rpc->Proceed();
    }
}

RPCs in the server that derive from RPCContextWithCancelled should then be free to call isCancelled at any time to determine whether they should bail early or not.
This works perfectly fine for relatively low throughput (~100 TPS) operation. If I increase the throughput to 500 - 1000 TPS, then I get the segfault within grpc::ServerContext::IsCancelled.
Steps to reproduce
Start with AMI: ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190212.1 (ami-0a313d6098716f372) on c5.xlarge
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential autoconf libtool pkg-config g++ zlib1g-dev libc-ares-dev libssl-dev
Protobuf
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-cpp-3.7.1.tar.gz
tar -xf protobuf-cpp-3.7.1.tar.gz
cd protobuf-3.7.1/
./configure
make -j4
sudo make install
sudo ldconfig
gRPC
wget https://github.com/grpc/grpc/archive/v1.20.1.tar.gz
tar -xf v1.20.1.tar.gz
make -j4
sudo make install
sudo ldconfig
Example
Download mcve.tar.gz
tar -xf mcve.tar.gz
cd mcve
make
./example_server
In another shell:
./load_gen localhost 50051 500 10

Still a problem in gRPC 1.21.0

Still a problem in gRPC 1.21.0

@tweej : Do you mind trying this out on 1.23.0?

Same story on 1.23.0.
#0  0x0000000000000000 in ?? () #1  0x00007f25c751b1ac in grpc_impl::ServerContext::IsCancelled() const () from /usr/local/lib/libgrpc++.so.1 #2  0x000055abe237057d in IsCancelledCallback::Proceed() () #3  0x000055abe236f2e0 in ServiceImpl::HandleRpcs(grpc_impl::ServerCompletionQueue&) () #4  0x00007f25c6e2066f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5  0x00007f25c69336db in start_thread (arg=0x7f25bd7fa700) at pthread_create.c:463 #6  0x00007f25c7d0a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb)
This time it only processed 2 requests before crashing:
`
Server listening on <IP_ADDRESS>:50051
Processing request 0
Processing request 1
Segmentation fault (core dumped)
`

Dug a bit more. Thought I found something, but it turned out not to be the root cause. I'm embarrassed to say what I found was UB from calling a pure virtual function (Proceed()) in a derived class constructor (RPCContext()). Strictly speaking the virtual call there isn't necessary (or even actually virtual since virtual dispatch is disabled in constructors). However RPCContextBase::Proceed() can be changed to an empty, non-pure virtual to solve that problem. Unfortunately the modified example code still fails in the same way (inside grpc_impl::ServerContext::IsCancelled() const) after that change.
mcve2.tar.gz

Still a problem on 1.25.0.

Still a problem with protobuf 3.11.4, and grpc 1.28.1.
Processing request 607
E0504 22:52:07.091361623   33861 sync_posix.cc:76]           assertion failed: pthread_mutex_unlock(mu) == 0
Aborted (core dumped)

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f8d3519c859 in __GI_abort () at abort.c:79
#2  0x00007f8d34d66d9b in gpr_mu_lock () from /usr/local/lib/libgrpc.so.9
#3  0x00007f8d351550be in grpc_impl::ServerContextBase::IsCancelled() const () from /usr/local/lib/libgrpc++.so.1
#4  0x000055c10c09bfcd in IsCancelledCallback::Proceed (this=0x7f8d18024208) at RPCContextBase.h:17
#5  0x000055c10c09e95c in ServiceImpl::HandleRpcs (this=<optimized out>, completionQueue=...) at example_server.cc:98
#6  0x00007f8d34a6fcb4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f8d34b85609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f8d35299103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

Additionally, using the repro steps from the original post, your makefile is now broken on 1.28.0 (https://github.com/grpc/grpc/archive/v1.28.0.tar.gz):
make: *** No rule to make target '/home/ubuntu/grpc-1.28.0/objs/opt/third_party/abseil-cpp/absl/base/dynamic_annotations.o', needed by '/home/ubuntu/grpc-1.28.0/libs/opt/libgrpc_abseil.a'.  Stop.

@karthikravis Reassigning to you since @vjpai is longer working on OSS.

@karthikravis has left the team


Show voice activity

Hello,
I have it implemented based on your sample app, and it looks great. Now I want to show a spike when I get a callback from ios's speech recognition api.
So my animation is now based on
func showVoiceRecord() {
        timer = Timer.scheduledTimer(timeInterval: 0.009, target: self, selector: #selector(animateAudioView), userInfo: nil, repeats: true)
    }

and in my callback I receive a string which is the word the user said
    func setSearchText(_ string: String) {
        audioView.amplitude = 5.0
        change = 2
        searchBar.text = string
        audioView.amplitude = 1.0
        change = 0.01
    }

The thing is that it doesn't do much. The animation change is barely visible.
In my viedDidLoad my setup is
        audioView.density = 1.0
        audioView.phaseShift = 0.1

Any idea how can I achieve this?
Thanks!

In setSearchText you raise the amplitude to 5.0 and then change it back to 1.0 which I'm assuming is how you want to display the spike. But these commands will be executed way too quickly resulting in you not seeing any visible change in the amplitude.
I would recommend you introduce a delay between these two changes by moving the last two lines to a different function and then setting up a timer in setSearchText to call this new function. Also call setNeedsDisplay at the end of setSearchText. This will force the view to start displaying the new amplitude and then after a certain delay, your new function should kick it and set your amplitude back to normal.

@alankarmisra yep. Did it like you said. Came out pretty ok. Thanks you!


Add contributor page to sidebar

Currently we have a link to this page in the feedback section. However for visibility it should also be in the sidebar.
I know you and Chris are doing a lot with the sidebar so per our discussions this can be done last.

would prefer it not be on the sidebar, as every link on the sidebar provides education.
I think having it at the bottom of every page in the widget is sufficient. It can also go here on the Docs index page if you'd like


ctrtransfer: find: NULL is required (2)

Should we just go straight to digging in essential.exefs instead

has this been tested on a console yet to ensure it won't cause issues? i don't doubt your skills but i want to make sure before merging it

has this been tested on a console yet to ensure it won't cause issues? i don't doubt your skills but i want to make sure before merging it

I just tested it. This fixes the syntax error. There's no real way this could cause issues

Although, last modified should be updated.

last modified date was fixed by me


feature request: render props component for injecting styles (instead of HoC)

I'm getting tired of HoCs for various reasons, including WebStorm being unable to automatically suggest HoC-wrapped components as imports.  It seems like there's a big movement in the community away from HoCs toward render props components.
I made one for withStyles here: https://github.com/jcoreio/material-ui-render-props-styles
Would you like for me to add this component to material-ui itself?
import WithStyles from 'material-ui-render-props-styles'

const styles = theme => {
  root: {
    backgroundColor: theme.palette.primary.light,
  },
}

const PrimaryDiv = ({children}) => (
  <WithStyles styles={styles}>
    {({classes}) => (
      <div className={classes.root}>
        {children}
      </div>
    )}
  </WithStyles>
)

I believe it's a duplicate of #11047.

I made one for withStyles here: https://github.com/jcoreio/material-ui-render-props-styles

We have been documenting a render-prop possible implementation. It's straightforward: https://material-ui-next.com/customization/css-in-js/#render-props-api-11-lines-.
I also have some concern about the override story. I believe it doesn't work with your implementation: https://github.com/mui-org/material-ui/issues/11047#issuecomment-382108867.

Oh I see.  Hmmm...that's a real bummer that it's a technical difficulty...almost defeats the purpose of using a render-prop implementation...

The problem of leaving things like this up to the user to implement is

people will fail to realize potential issues like I did here
people will put code like this in packages, just like I did, so that they don't have to copy-paste stuff between projects

It's such a small amount of code, I think it really makes more sense to put it in this project.

In any case this really highlights the hackiness of using counters for CSS in JS...maybe there's just no better way because of CSS' own design flaws, but time and time again I get frustrated how brittle counters are.

It's such a small amount of code, I think it really makes more sense to put it in this project.

I have no strong objection. We started by documenting it to test how people would react. We only had good feedback so far.

this really highlights the hackiness of using counters for CSS in JS

What makes you think it's a counter problem? The problem is related to how React calls the hooks. It has to be in the right order. I don't think that it's a hard limitation. It can be worked around. But this requires time.

Maybe I'm a bit confused.  As far as I understand:

the overriding <style> tag from the parent has to come after the overridden <style> tag from the child
but since React renders parents before children, normally the the parent's <style> tag would get attached before the child's <style> tag
so something is needed to ensure that the parent's <style> tag comes after the child's <style> tag... I thought the counter is used to ensure this?

In any case having to call createStyled outside of the render function somehow solves this, since the parent imports the child and the child calls its createStyled before the parent calls its createdStyled.  Am I right?  It's not exactly clear to me how it controls the <style> tag order.
To me this side effect of the order in which modules call withStyles is an undesirable impurity, whereas the way React calls parent hooks before child hooks doesn't seem like a flawed design.
Here's a thought: if the parent WithStyles could keep a reference to its <style> node, then the child could get that node via context, and then call document.head.insertBefore(myStyle, parentStyle).  That would theoretically work regardless of the order in which withStyles is called.

I thought the counter is used to ensure this?

@jedwards1211 We have two counters. The first one is used for this purpose and another one is used to guarantee classname uniqueness. I thought you were referring to the second counter as it's the one most people are aware of. The first counter is quite hidden.

Am I right?

Yes, you are right, the counter defines the index of the style in the DOM.

Here's a thought

I would also like to benchmark how styled-components is handling the issue.

The first counter is quite hidden

Yes, I only knew about it from reading through the withStyles code.

@oliviertassinari I was thinking about a React hooks API would have the same problem as this with style tag order and overrides.
I was thinking, if component A wraps and overrides some classes in component B, A will inject its style element first.  But, if B can somehow find the style element for the overriding classes from A, then B could inject its style tag above A's tag.
I wish there were a DOM/CSSOM API to look up the <style> element for a given CSS class.  If only there were then this would be pretty easy.  But I'm pretty sure there's not (I just posted a question on Stack Overflow, so we'll see if anyone has an answer).


[proposal] Automatic migration definitions

This is just a proposal but wanted to get your thoughts.
Aquaduct generates migration files for you every time you run the build command 🤔
https://aqueduct.io/docs/db/db_tools/
Since we know the previous schema maybe this could be worth looking into?

There has been some discussion for this at https://github.com/simolus3/moor/issues/240 I'll close this issue in favor of that one.
I agree that this is a nice feature, but it's also complicated to implement :smile: Maybe we can start with simple cases and work from there.

Agreed! And awesome 😎


Added build files and changed not to ignore build files

Currently, this project does not contain build files.
It is not a problem for users who install teoria using npm,
but it is inconvenient for others (bower, global, etc) because users should build manually.
How do you think about containing build files as a default?
Anyway, I have being used teoria very well. It's really nice, thanks!

Hey Taehoon!
We've prepackaged the built files before, but I decided against since it adds another layer of complexity to the pull request/bug-fixing procedure. I kept forgetting to bump the concatenated files which resulted in a mess.
Anyone can just install with npm and copy the file if that's their setup. Seems easier to do npm install teoria && mv node_modules/teoria/dist/teoria.js ./to/my/path than cloning a git repository.
Anyways thank you very much for your interest! I'm glad that you're happy about teoria! Please let me know if you run into some kind of problem or lack of a feature. And if this building stuff is a really big problem - well, then I'll look into it.
Cheers


[1pt] Create app and install basic dependencies - Setup (group task)

Create React App.
Install React Redux, Redux Logger and React Router.

Hi @fobadara I have created a pull request could you review it
https://github.com/fobadara/rocket-space-missions/pull/26

Hi @fobadara I have created a pull request could you review it #26

I have reviewed and approved it. Good job


 It is input monitor agnostic and results in the following truth table:
+------+------+---------+
| Mon1 | Mon2 |  Enable |
+------+------+---------+
|  Off |  Off |   false |
|   On |  Off |   false |
|  Off |   On |   false |
|   On |   On |    true |
+------+------+---------+

This logic does not seem to make sense to me.
So this PR fixes that.

hm, I don't like that. To me, sounds quite counter-intuitive. Maybe add two separate options?

What's the current toggle parameter supposed to do? It doesn't seem to do anything for me.

toggle on if any are off and off otherwise iirc

Okay, I guess that's very counterintuitive) The current version is still incorrect because the ! before std::any_of() makes it true only if none of dpmsStatus are false, so it will enable the monitor if all are already enabled.
I could probably add another option, but I think "toggle" most intuitively means that the input monitor would switch from its current state to the opposite one.
I don't understand why executing dpms toggle monitor1 would depend on the states of the other monitors. If monitor2 is disabled, this command will enable monitor1 if it is disabled and do nothing if it is already enabled, meaning I could only disable one monitor with toggle. This seems strange to me.
Are there other reasons for this behavior that I'm not considering?

I don't understand why executing dpms toggle monitor1 would depend on the states of the other monitors

yeah this is fine to be fixed, but I am talking about a condition where we dont specify a monitor and toggle all

If no specific monitor is specified and the 'toggle all' option is used, it will toggle the state of all monitors. For example, if all monitors are off, they will be turned on.  This behavior seems intuitive. If you want to turn all monitors on or off, we already have on and off parameters.

yeah, I am just unsure whether that's the most intuitive way, but sure, let's roll with that.


Feature Request: Backup Improvement

Backup Improvement

[ ] Standard Config Value
[ ] For every Server a Value to Contole how many Backups can be Created
[ ] Multiselect for mass actions
[ ] Automatic Backups
[ ] Bedder Backups Done :tada:

Do it masu!

[ ] Deleting several backups at the same time

[ ] Backup restore confirm


Ember-shepherd extension

Hi @thiagoc7. I like some of the things you have done here. Would you be interested in working together with me on ember-shepherd to make it work more like you would like it to? I think we could allow for multiple options to exist, that would work with small and large requirements alike. It would be great to collaborate and make one truly great product together, instead of working separately. If not, no worries, but just thought I would reach out.

Hi @rwwagner90, we can do it!
How do you plan to make it happen?

I didn't have a plan for it, necessarily, I figure we could take it one piece at a time. First step would be to get a list of things we want to support and agree on a syntax for them. You know better than me the reasons you created this project, so let's start with supporting those shortcomings and go from there. You tell me where you want to start :).

What is the first shortcoming of ember-shepherd that you'd like to address? I'd like to start trying to work together, so neither of us duplicate work.

Hi @rwwagner90, sorry for delay.
I'm busy these days, but let's start.
I'll create a PR on your repo, and we talk there, ok?
I think it makes more sense.
Cheers!

Works for me!


Support page render callback and so on

can this library support page render callback , like ng2-pdf-viewer by using EventBus from pdf-viewer，because in some case i wanna generate an image through the rendered canvas  each time the PDF page rendered

Is this feature published yet?


Run haskell backend integration tests on PRs into frontend

Hopefully this will catch breakages in the backend caused by the frontend before they get merged.

@dwightguth this PR now just updates the Dockerfile and haskell backend submodule (which has new directory structure).


[motion]: add layout animation

https://motion.dev/docs/react-layout-animations

[ ] basic layout animation
[ ] shared layout animation
[ ] layoutGroup component
[ ] add doc


feat(v2): support rightToc, emoji, slug for docs

Motivation

Support emoji. Example: :dog: :+1: -> 🐶 👍
Support slug (GitHub slug way)
Support right TOC like in v1

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

Locally and production no errors
Tests added for rightToc works. See snapshots for structure

TODO:

rereview & audit code
fix styling

I had to use babel because technically what this is doing is not just MDAST, but MDXAST (MDAST + JSX).
The babel traverse is just to check if there already exist some statement in markdown like export const rightToc so that I can replace it. Otherwise there will be double statement.

Startup time still very fast !! hehe