Unit of column width

Is there a way to wrap lines in pixels instead of bytes?

Hi @sry948749099,
Yes, see https://mgeisler.github.io/textwrap/ for an example where Textwrap is used to wrap text based on pixels.
The important part is this implementation of Fragment. The Fragment trait is what Textwrap uses when wrapping: you should implement it for your own custom type and then you'll be able to use all the wrapping algorithms on this type.

Hi @sry948749099,
Yes, see https://mgeisler.github.io/textwrap/ for an example where Textwrap is used to wrap text based on pixels.
The important part is this implementation of Fragment. The Fragment trait is what Textwrap uses when wrapping: you should implement it for your own custom type and then you'll be able to use all the wrapping algorithms on this type.

Get it! Thanks for your quickly respose!


fix(#patch); uniswap-v3; indexing error due to token with unverified ABI

Issue: uniswap-v3 / uniswap-v3-swap deployments are failing with message: overflow converting 0x... to i32 inside getOrCreateToken() method due to bad decimal value returned. The ABI for the token contract is unverified.
Previously seen: #2470, #2341 & #2445
Deployed to Messari hosted service, will take some considerable time to graft:

uniswap-v3-arbitrum: https://okgraph.xyz/?q=messari%2Funiswap-v3-arbitrum
uniswap-v3-bsc: https://okgraph.xyz/?q=messari%2Funiswap-v3-bsc
uniswap-v3-ethereum: https://okgraph.xyz/?q=messari%2Funiswap-v3-ethereum
uniswap-v3-optimism: https://okgraph.xyz/?q=messari%2Funiswap-v3-optimism
uniswap-v3-polygon: https://okgraph.xyz/?q=messari%2Funiswap-v3-polygon
uniswap-v3-swap-optimism: https://okgraph.xyz/?q=messari%2Funiswap-v3-swap-optimism

@dhruv-chauhan feel free to merge and deploy once adding https://thegraph.com/docs/en/developing/creating-a-subgraph/#prune


Correct & Update README.md

The previous README.md was written by some AI which was incorrect and gives false information about the game. So I corrected it.

Hey, I have a read-me file ready. I hope you like it. Please assign me this issue.


Support layouts in layouts

Layouts only work in one direction, columns then rows. This change allows layouts in layouts so you can make more complex layouts.
Panels now handle layout. Panels can create sub views, including more panels. The initial layout file read method adds a bit to the result to assume the outer most array of views is a panel. Then normal view creation is used to kick off the whole screen layout.

Extract view creation to view/index.js
Create Panel class to handle layouts
Migrate layout tests to panel
Allow panels to include panels

This includes much of the changes from PR https://github.com/FormidableLabs/nodejs-dashboard/pull/83 to create a view factory

Check out https://github.com/jjasonclark/nodejs-dashboard/blob/platform-details-view/lib/default-layout-config.js#L124-L165 for a sample layout using the new details views.


Add auto-formatter for gdscript exposed via command line switch and editor menu item

Here's a stab at going some way towards resolving issue #7392.
I've implemented a very basic auto-formatter for GDScript using the existing GDScript Tokenizer. I took the least intrusive and easiest way of exposing this and I've exposed it as part of the main binary, enabled using the --format and --script SCRIPT command line switches.
EDIT: This feature has now also been exposed in the script editor UI as a menu item in the edit menu.

Thanks for contribution ! Please squash the commits together (using git commit --amend).

@Chaosus Thank you for responding! I'm happy to squash them before merging, but for now my reasoning was that splitting into these self-contained chunks would make it easier to review.

I am not too sure of this, honestly the changes to the tokenizer are not too serious and it may work.
The formatter should be activated via a ScriptLanguage function I guess, so the editor can use it too.
I'm not really sure how well the formatter works, or how useful this really is in the end, so I would prefer it's not up to me to decide on this PR.
Also please leave the renderer string print in there, it helps a lot with bug reports, so for now I would not change it.

@reduz Thanks for taking a look! I can revert the change to the GLES3 renderer print statement, though this means that it will appear at the top of the formatted output (though I suppose I can just handle this in the python wrapper-script I am using to handle command line arguments). I can also move the format function from the Script class to the ScriptLanguage class, though I'll need to have a look at how the ScriptLanguage class is used so I can have a better idea of how best to do this.
The formatter is very basic, and only really handles spacing between tokens (and will conservatively not format portions of the original code between tokens if they contain non-whitespace). I could provide some examples of its inputs and outputs, if that would be helpful.
As to how useful this is - I certainly found it useful for applying to my codebase after a few commits by a contributer who hadn't read the style guide, and I intend to continue using it (with my python wrapper) during the development of my own game. Given that there was an outstanding issue (#7392) which this would go some way towards resolving, I thought I might as well submit it as a pull request.

I've made the suggested changes. It should now be fairly trivial to integrate this into the editor UI.

Example of the auto-formatter in action: https://pastebin.com/vXJYNC65

This feature has now also been exposed in the script editor UI as a menu item in the edit menu.

Thanks for taking a look at this! I'll make the suggested changes. I see a few conflicts have appeared (though less than I feared!), so I'll try resolving them too.

I've rebased my changes on to the master branch and applied the changes requested.

Sorry for not having been able to re-review this more in depth yet. This is still a wanted feature and this seems to be a good PR, but it will be too late now to merge for 3.2 which has entered release freeze, so I'll move it to the 4.0 milestone.
It might still be cherry-picked to the 3.2 stable branch once merged and tested in master.

The feature is really nice, and it works pretty well, but the source code is outdated.
I've tried to manually merge a more recent code from the master branch (commit dc114fa2) and the changes from frugs's repo into my own repo.
I managed to build  and run the editor but the gdscript tokenizer is broken.
My code can be found in github here
I'm not well at ease with godot code yet to be able to fix it, or to merge Frugs's code in the latest (4.x) godot code. Perhaps someone (frugs ?) can just fix the code in the file 'modules/gdscript/gdscript_tokenizer.cpp' and we will be able to use it with the updated source code
I've joined the content of my gdscript_tokenizer.cpp file
gdscript_tokenizer.zip
Many thanks for your work

I've just made some changes to the 'gdscript_tokenizer.cpp' file, still have bugs, but less.
the code in my repo  has been updated, and the joined file too.
gdscript_tokenizer.zip

@LaurentOngaro I've now rebased my changes on to the latest changes on the master branch. If you still see bugs with this, please let me know!

@frugs , I'm currently testing it and accessorily trying to understand my mistakes.
I'll tell you if I find some issues.
Once again, many thanks for your work. It's very useful for me, because misformatted code give me some headaches, and adding spaces around tokens is boring me.
So auto formatting is my best friend

@frugs , I've found a bug in modified the GDscript parser (with auto formatter).
if you use standard python multi-line  comments ( introduced by 3 double quotes), the script editor will show the following error :

Parse Error: Parse error: Unexpected EOL at String.

To reproduce: just create a multi-line comment in a gdscript file, for instance
extends Node2D
"""
this is a comment
"""

@frugs , I  found another small issue.
After formatting (using menu or KB shortcut), the text cursor is sent to the top left of the page instead of staying in place.

I've just synchronized my code with the official master branch.
The updated code (with GDscript auto formatting feature) can be found in github

@vnen is currrently working on rewriting GDScript, so this PR would most likely have to be rewritten from scratch for it to be merged. Therefore, I'm closing this and adding "salvageable".
This kind of thing can very likely be an add-on in the asset library, or even a completely separate tool. Further work in this area should not be done unless a proposal is created and approved.
If such a proposal is created, it's likely that it would be approved, considering what @akien-mga said above about this feature being desired. At the time that comment was made, the plan to rewrite GDScript did not exist yet, and things have changed such that this isn't good as-is. Thanks for understanding, and I do indeed look forward to having an official GDScript formatter (whether that be in the engine or otherwise).

@aaronfranke excited to hear there's a rewrite in the works! I imagine a cleaner implementation of this feature would be possible if the tokeniser is rewritten.


PHP fatal error

I see this message when I opened a php file
PHP Fatal error:  Uncaught Error: Class 'MessagePackUnpacker' not found in /home/ace/.config/nvim/
dein.vim/repos/github.com/lvht/phpcd.vim/vendor/lvht/msgpack-rpc/src/MsgpackMessenger.php:18
Stack trace:
#0 /home/ace/.config/nvim/dein.vim/repos/github.com/lvht/phpcd.vim/php/main.php(30): Lvht\MsgpackR
pc\MsgpackMessenger->__construct(Object(Lvht\MsgpackRpc\StdIo))
#1 {main}
  thrown in /home/ace/.config/nvim/dein.vim/repos/github.com/lvht/phpcd.vim/vendor/lvht/msgpack-rp
c/src/MsgpackMessenger.php on line 18
Fatal error: Uncaught Error: Class 'MessagePackUnpacker' not found in /home/ace/.config/nvim/dein.
vim/repos/github.com/lvht/phpcd.vim/vendor/lvht/msgpack-rpc/src/MsgpackMessenger.php:18
Stack trace:
#0 /home/ace/.config/nvim/dein.vim/repos/github.com/lvht/phpcd.vim/php/main.php(30): Lvht\MsgpackR
pc\MsgpackMessenger->__construct(Object(Lvht\MsgpackRpc\StdIo))
#1 {main}
  thrown in /home/ace/.config/nvim/dein.vim/repos/github.com/lvht/phpcd.vim/vendor/lvht/msgpack-rp
c/src/MsgpackMessenger.php on line 18

I've got the same error. I'm using:

NVIM v0.2.1-867-gd2cbc3118
Shougo/deoplete.nvim v4.0
and the latest junegunn/vim-plug

do you has the msgpack extension installed?

I thought I had. sudo apt install php-msgpack fixed it.
Thanks.

Haven't installed php port of msgpack. fixed.
Thanks.


Still 1.0.0 version but i'm on 1.0.1.

Why still 1.0.0 version also after I run
ember install ember-simple-auth

I forgot to update the version in https://github.com/simplabs/ember-simple-auth/blob/master/vendor/ember-simple-auth/register-version.js when I released 1.0.1 - will be fixed with 1.1.


Added multi points at the same address support.

Hi! First of all, I want to thank you for this work, it's very helpful.
This PR is aimed to make available multi-points with the same lng/lat support. In my case, for example, it was necessary to make an array of such points to be visible as one marker, not cluster.

Hi @Ble3k ,
Is this pr separates the markers on the same lat, lon as in the picture below?
Thank you.

This PR doesn't separate. This PR unite 2 (for example) points with the same lat/lng in one marker with any view, that u need.

Ok, got it! Hope it merged soon.

@ccoeder did you find any solution to separate the points at the same address ?


Added an option to enable/disable plugin when in dev mode

I think it is better if the facebook tracking don't start when we're in dev mode unless we want it.

Hello @emaia
Thank you for taking the time to make this PR. It's a great improvement!


Chaging mac password

Things start getting weird. It seems that you cant destroy a VM if that happens.

@jchauncey there is an option to change the password in Setup


Twitter Login dismiss my ViewController when hitting Cancel button

I use TwitterKit to make Login function in my app. When call TWTRTwitter.sharedInstance().logIn() function (on my ViewControllerA), an AlertViewController shows up. I hit Cancel, after a while, my ViewControllerA is dismissed.
AlertViewController here
I searched TwitterKit's source code but found nothing that shows AlertViewController nor dismissViewController when hit Cancel.
Please help me find out the reason.
Thank you all.
Expected behavior
Only AlertViewController disappear
Actual behavior
After hitting Cancel button a while, my ViewController is dismissed too.
Environment
iPhone 5s
iOS 10.3
Twitter app is already installed

See issue #40.


Create CyberNodes.toml

Please provide some contact info provided. Not merged for now due to no contact info

Email<EMAIL_ADDRESS>Telegram: https://t.me/cyber_nodes


Feature/idav5 687 check your answers

Added check your answers screen
Added check your answers controller
Updated controllers to add answers to ANSWER_DATA session variable
Added unit tests for check your answer controller

CI: No security warnings found


minion manager should support events only mode

Minion Manager should support Kubernetes events only mode

Published structured JSON with IG-name, Bid price, and aws-region, etc
Minion Manager will only publish recommendation and will not take any action

How would "Events Only Mode" be enabled or configured?

Currently, minion-manager makes changes to the ASG/launch-configuration based on the bid-price, spot-instance price, running instances, region and instance-type. Whenever minion-manager makes changes, it adds log messages accordingly. For the purpose of this Github issue, the following are the requirements
Requirements

Minion-manager should create Kubernetes events everytime it factors in the on-demand price, spot-instance price and comes up with a recommendation. It is possible that no changes are made to existing setup (i.e. instances continue to run as they are). But the recommendation should still generate a Kubernetes event.

The actual content of the event should be structured json: {"apiVersion":"v1alpha1","spotPrice":"0.0067", "useSpot": true}. See https://github.com/keikoproj/instance-manager/issues/35#issuecomment-526933385 for more details.

The default behavior of minion-manager should be to generate the above event AND make the changes to ASGs as it currently does.

In addition, minion-manager should have a new cli option called --events-only.

If this option is enabled, minion-manager should only generate the K8s events and not actually make the changes to the ASG/launch-config.

Can we prioritize this? @shrinandj not sure if anyone already working on it.. I can probably try doing this..


[feature request] VannilaJS SPA example with login, registration and CRUD to  postgresql/MySQL

Would be great if someone would show a way to make a SPA (with login, registration etc) with a relational DB postgresql + express.
I have 0 interest in MEAN stacks :)

A vanilla JS SPA would be a lot to ask of an example, since SPAs by their nature require enough frontend logic to necessitate a frontend framework.
Express is not actually affiliated with MEAN. MEAN is a stack curated outside of this project, and none of the Express provided examples use either Angular or MongoDB.  Adding examples that cover either login or postgres would be outside the scope of Express, as those are both handled by completely different libraries (passport and pg, respectively).
However, I was able to find a whole slew of examples online by googling for express passport postgres.

https://sarabinns.com/tag/passport-js-sequelize-postgresql/
http://stribny.name/blog/2015/09/authentication-quickstart-with-express-passport-and-sequelize
https://github.com/phoenixtoday/express-sequelize-passport-postgres-template
http://mherman.org/blog/2015/10/22/node-postgres-sequelize/

Most of these are a little out of date and use Express 3, but the concepts are largely unchanged.

The browser itself a good framework. You can implement event target in any component eg.


[BUG] Panel disappear when rotating the screen in web brower

Unexpected behaviour:

When I use web browser, depending of panel start position; the panel disappear or there is a shift when i rotate the screen.

I display panel with elements list without hiding the bottom tab bar navigation, so when i scroll down the last element is hidden by the bottom bar. How to handle this case?
How can we reproduce the effect when the scrollbar is in bottom position (as you gallery example in: https://github.com/roman-rr/cupertino-pane)

Have you planned an event/callbacks that fire only when the scrollbar is in bottom position ?

Hello @baneJack thank you for issue!

Good point to work around. I did schedule this as a feature/enhancement to set proper pane positions on window.resize callback.
Try to play with topperOverflowOffset. Set some numbers, especially tab-bar height value.
You are the first who's ask about this callbacks. I did not plan to include this callback into core, but if requests will appears frequently, i will do. Right now you can simply listen scroll bar element:

document.querySelector('SCROLL-ELEMENT').addEventListener('scroll', (s: any) => {
  console.log(s.target.scrollTop);
});

Hello @baneJack thank you for issue!

Good point to work around. I did schedule this as a feature/enhancement to set proper pane positions on window.resize callback.
Try to play with topperOverflowOffset. Set some numbers, especially tab-bar height value.
You are the first who's ask about this callbacks. I did not plan to include this callback into core, but if requests will appears frequently, i will do. Right now you can simply listen scroll bar element:

document.querySelector('SCROLL-ELEMENT').addEventListener('scroll', (s: any) => {
  console.log(s.target.scrollTop);
});

Thank you @roman-rr for your work and quick efficient response.

Thank you @roman-rr for your work and quick efficient response.

@baneJack Orientation changes should be maintained automatically from 1.2.3. version

@baneJack Orientation changes should be maintained automatically from 1.2.3. version


Remove unnecessary mut reference in handle_justification

This is split out of #9698 since it looks that that PR will take some time to review.
Remove an unnecessary mut ref that is just not needed.

bot merge


Add support for react-native-windows

Apologies if this has already been raised, i can't find a ticket for it.
react-native-windows is coming along nicely, and would benefit from seeing support using this library. As the most popular router, it gives access to the entire UWP platform.

Has this been tested?

I managed to test it awhile back. It was missing the back icons, easily fixable, but worked otherwise.

Thanks, yes seems to work well


A column with autoIncrement() gets @required annotation

Hello,
When a column is created like this:
IntColumn get id => integer().autoIncrement()();
The generated class would have @required annotation on that attribute in the constructor.
I don't think such an attribute should be required because autoIncrement implies that the database will just generate the proper value.
Regards

This is actually by design: A generated data class is designed to hold a full row as it would appear in the database. As soon as a row is inserted, it will have an id, which is why we mark it as required.
To represent partial rows (which is useful for inserts or updates), you can use a generated companion class. This might sound a bit complicated at first, but there are several reasons for this:

For updates, null could have multiple meanings: To explicitly set the column to NULL, or to leave it unchanged. With companions, we use Value(null) and Value.absent(), respectively. This makes the distinction very clear.
In a future Dart version, we'll have to explicitly mark fields if they're allowed to store null. We'd have to do that for id here, but that makes the class annoying to use when reading from the database, since it can't be null in those situations.

The documentation on updates also explains this. For inserts, I would use the Companion.insert constructor - it uses @required only for the columns that are actually required for an insert. Let me know if you have more questions on this!


Concurrent requests results in 'Connection is closed' error for one of the requests.

SQL Server Version: Azure SQL
nodes-mssql Version: 3.3.0
When executing two different requests concurrently, one request has a good chance of throwing a 'Connection is closed' error. Sometimes Request A throws the error, other times Request B throws the error.
My theory, based on no knowledge whatsoever, is that the below race condition (or something similar) could be taking place:

Request A starts a new connection
Request B tries to start a new connection, but instead piggy-backs off of Request A's already open connection (speculation)
Request A makes a call to its stored proc
Request B makes a call to its stored proc
Request A finishes first and closes the connection (speculation)
Request B errs out before finishing because request A already closed the connection

// To replicate, create a test app and require this module. Start your
// test app over and over and you will see that most of the time,
// you get a 'connection is closed' error on one of the requests.

// Might have to use Azure SQL with Encrypt=true to replicate.
// I haven't tried it with regular SQL Server.

const promise = require('bluebird');
const dbConfig = require('config').get('dbConfig');

// Request A
this.getStatistics = function () {
  let sql = require('mssql');
  let storedProcName = 'GetStatistics'

  return new promise(function (resolve, reject) {
    sql.connect(dbConfig).then(function () {
      new sql.Request()
        .execute(storedProcName).then(function (recordset) {
          if (recordset.length > 0 && recordset[0].length === 1) {
            resolve(recordset[0][0]);
          } else {
            resolve(null);
          }
        }).catch (function (err) {
          reject(err.originalError || err);
        });
    }).catch(function (err) {
      reject(err.originalError || err);;
    });
  });
};

// Request B
this.getResults = function () {
  let sql = require('mssql');
  let storedProcName = 'GetResults'

  return new promise(function (resolve, reject) {
    sql.connect(dbConfig).then(function () {
      new sql.Request()
        .execute(storedProcName).then(function (recordset) {
          if (recordset.length > 0 && recordset[0].length === 1) {
            resolve(recordset[0][0]);
          } else {
            resolve(null);
          }
        }).catch (function (err) {
          reject(err.originalError || err);
        });
    }).catch(function (err) {
      reject(err.originalError || err);;
    });
  });
};

this.getStatistics().then(function () {
  console.log('Request A Successful')
}).catch(function (err) {
  console.log(err)
});

this.getResults().then(function () {
  console.log('Request B Successful')
}).catch(function (err) {
  console.log(err)
});

module.exports = this;

I figured out a solution. I was debugging mssql to figure out why the connections weren't mapping properly and I found out that there is a global_connection object that gets defaulted to IF you do not provide your connection object as an argument when calling new Request(). If you do not provide your connection as an argument, the module will attempt to choose which connection to use, either global or newly created ones (didn't dig deep enough to find out) and half the time it gets its wires crossed and chooses to use the unopened connection as opposed to the one it should use.
I got around this specifically telling the Request() function which connection to use.
I guess now my issue is that there is nothing in the documentation that encourages you to pass in your connection as an argument to the Request() function, so you are prone to getting this issue whenever you have concurrent requests. Maybe the documentation just needs updated?
Anyway, here is what I changed to make it work 100% of the time:
Changed from:
sql.connect(dbConfig).then(function () {
      new sql.Request()
        .execute(storedProcName).then(function (recordset) {

Changed to:
sql.connect(dbConfig).then(function (connection) {
      new sql.Request(connection)
        .execute(storedProcName).then(function (recordset) {

Fixed it for me too... thanks @dw1284


Make publishing-e2e-tests use AssetManager more realistically

Currently these tests rely on the old (default) behaviour of using send_file within the Rails app to instruct Nginx to serve assets from NFS. What's more they do not send the relevant headers to the Rails app and are relying on the Rails app to serve the file from NFS itself.
Given that we're currently proxying to S3 in all environments, this approach is not at all realistic.

This was addressed in https://github.com/alphagov/publishing-e2e-tests/pull/93. Closing.


Error handling

Add error info on login failure
Mute PlatformException on get profile

Can we remove the UIWebView that this plugin uses for iOS and use WKWebView since UIWebView is deprecated and submissions to the app store will be rejected.

Can we remove the UIWebView that this plugin uses for iOS and use WKWebView since UIWebView is deprecated and submissions to the app store will be rejected.

This plugin uses latest Facebook SDK 7.0. Facebook did replace UIWebView with WKWebView in version 5.5. In plugin code we also didn't use UIWebView. So this plugin shouldn't contains UIWebView. Is it? If it does - please create an issue.

If you enable ISSUE submission on this project  I will raise an issue for you.

Oops =) done


Add mentors section in Readme

add it below Repository Structure

Hey @Ayan-thecodeking If you wouldn't mind I would like to work on this 😄

@Dexters-Hub Go ahead !!

Thanks 😃  @neelshah2409 Just need the details of the mentors (Name, What they focus on teaching, social handles)

Thanks 😃 @neelshah2409 Just need the details of the mentors (Name, What they focus on teaching, social handles)

hey @Dexters-Hub mentors are @neelshah2409 @abhiisinghh7 u can check their profiles for socials and just add their linkdin profiles

[x] Added Mentor's name and LinkedIn Profile

Should I make a Pull-Request? @neelshah2409 @Ayan-thecodeking

Hey @Dexters-Hub can u align admin image section in center ...and after make a PR


How does the misture sensor work?

Hey there. I've been trying to get info about this regards in several forums/pages and could not find any. Perhaps you guys will be able. In theory the value is in % (as commented in the code) but i did a simple test of putting the sensor in a glass of water and then drying it out with some paper towel.
The value i got under the glass of water is 70 and after well dried, 20. How is this supposed to work then? I understand that the lower value may be influenced by ambient moisture or another things, but the top value? I saturated it with moist in theory... dont know!
Any hit would be appreciated!

closing old issues


update image display function

[ ]  Does the code work?
[ ]  Are functions, methods, and variables adequately named?
[ ]  Any test on the new function?
[ ]  Is it well tested? It should pass all jest tests.
[ ]  Is the code clear and easy to understand?
[ ]  Does it meet the team guidelines and style guides?
[ ]  Is there any duplicated code?
[ ]  Is documentation on functions, methods, classes, contexts, and behaviours adequate?
[ ]  Are there better or simpler solutions?
[ ]  Is there any performance issue?

The new backend function allows front-end upload images.


How do you change the blue image on your blog page to what you want?

How do you change the blue image on your blog page to what you want?

Add the file name of the image you want to use to a post or page's YAML Front Matter. See the Setup Guide for more info.


Build P2P Client on Android

I wanted to develop my own P2P client, to have an application with time-based access control.
Can you help me, what tools can I be using ?!
something like:
https://www.balena.io/blog/build-a-raspberry-pi-based-network-camera/#softwarerequired

This is an embedded system.
You have to use C language...

I managed to compile and run a basic hello.
The difficulty is to understand P2P, and how to distribute the stream.
Do you have any ideas or material that can help?
Related:
https://github.com/roleoroleo/yi-hack-Allwinner/issues/41

Do you wanto to send audio/video stream like the yi original app?

yes ...

I don't know how to help you.
Maybe other users...

I managed to compile and run a basic hello.
The difficulty is to understand P2P, and how to distribute the stream. Do you have any ideas or material that can help?
Related: #41

Check #362


Zoom stops working intermittently

Describe the bug
In some places (but only sometimes) the application stops responding to the torsion of the wheel. This manifests itself both when using ScrollViewer ZoomMode="Enabled" and when using events.
However, the UWP app with the same code works fine.
Steps to reproduce the bug
ZoomIssue.zip

Build and run H.OxyPlot.Apps.WinUI app
Hold Ctrl and try turning the mouse wheel while in different places. In some places (but only sometimes) the application stops responding to the torsion of the wheel.
Here is a UWP project for comparison

Expected behavior
Like UWP
Screenshots
No response
NuGet package version
1.0.0
Packaging type
Unpackaged
Windows version
Windows 11 version 21H2 (22000)
IDE
Visual Studio 2022-preview
Additional context
No response

The issue has been moved from another repository and is likely to be drowned in the list of other issues. I am writing this post to raise an issue.

@RBrid FYI, could also be a pointer event issue.. @JJBrychell

Up

@HavenDV there have been several fixes to the scroll controls since 1.0. Can you please try the latest 1.5 stable build and see if this still repros. Thanks you!


Is Nadeko offline?

I'm not sure what happened, but I wanted to add some new self-assigning roles and Nadeko isn't responding to any commands. I think the bot is still there because the Nadeko and nadeko-mute roles are still there, but we do have over 100 members so I can't see it if it's just offline. Is there an easy fix or will I have to remove Nadeko from the server, reinvite, and set everything up all over again?
I do have the top role and all permissions, but I'm not the owner of the server. Not sure if this matters.

from a mod in discord:
"Keep calm and carry on. We know nadeko is down. Unless you have some selfhost-related question, leave this channel.
No I don't know why
No I don't know how
No I don't know when
So stop asking."
Yes we all know it's down, No we don't know when it'll return. No you can't go into discord just to ask when it'll be back

Huh. Alrighty then. I'm kinda new to bots in general so I didn't know if something I did broke it.


Memory Leak - Not Removing Ship Shot From RAM

Just thought that i would point this out, after saving a screenshot it stays in memory.
Test showing Error (done with high res (2772x9216)):
Before pressing screenshot button: 2631MB
After taking screenshot: 2924MB
The image is probably stuck in memory and not properly deleted. Leaving the VAB and returning to the main menu don't remove it from the memory. The above test was performed on Windows 8.1.

Duplicate Bug

@jediminer543
Please try this beta release


[3.x] Fix top level CanvasItem visibility

This PR first reverts the backported #57684 (part of #57900) and #58386.
#57684 was backported mainly because it solves a bug where

CanvasLayer could propagate its visibility to CanvasItems that were separated by plain Nodes.

But after inspection these days, I think that is the expected behavior. CanvasItems that are explicitly marked as top level or have a non-CanvasItem parent were handled together as "top level", and they are logically parented to the nearest ancestor CanvasLayer or Viewport world canvas. See CanvasItem::_enter_canvas().
After the revert, the only problem is that CanvasLayer visibility propagation was only propagated to direct child CanvasItems. Fortunately, all these "top level" nodes are in a group called root_canvas{canvas_rid}, so moving the propagation logic into a call_group() is all that have to be done I think.
The editor gizmo fix from the reverted 642591b6a96285d70cd1fefc6b7f997a1395c07f is kept.

I also stopped propagation onto explicitly top level CanvasItems because:

Their logical parent is a CanvasLayer.
For CanvasLayer, we propagate to these CanvasItems with call_group().
There was previously a comment:
https://github.com/godotengine/godot/blob/6b4d7d20a48ddcc5bf457df38053086ab6041c9f/scene/2d/canvas_item.cpp#L385-L387
Previously, the visibility of CanvasItems are only controlled by their logical parent inside VisualServer. So propagating onto top level nodes won't actually change anything.

Tested recent regressions like #58251, #58315, and #58782. They are not reproducible.
Fixes #58782

It would be clearer for the Git history if you could do this as actually git revert commits + another commit on top with your further changes.

It would be clearer for the Git history if you could do this as actually git revert commits + another commit on top with your further changes.

The backport of #57684 is part of #57900. It can only be reverted manually. Should I do that as a separate commit too?

I meant you could revert this commit no? https://github.com/godotengine/godot/commit/f49ffe4bb02c6af443652f67bbf6c0c47344d721

Thanks!

I meant you could revert this commit no? f49ffe4

#57900 backports 3 PRs in that one commit f49ffe4bb02c6af443652f67bbf6c0c47344d721. It's the last one of the three that needs revert. CanvasLayer visibility is kept.
I think I should have made that backport PR 3 separate commits in the first place :(


Error: 'InteractiveBrowserCredential' object has no attribute 'signed_session'

azure-identity:
version: 1.2.0:
OS: Windows 10:
Python Version: 3.6.9:

I am trying to use InteractiveBrowserCredential() with Azure Storage BlockBlobService.  When I try to call a blob method, it hangs for about 60 seconds and then returns this error:

Exception has occurred: AzureException
'InteractiveBrowserCredential' object has no attribute 'signed_session'
File "C:\anaconda3\envs\exper\Lib\site-packages\azure\storage\common\storageclient.py", line 446, in _perform_request
raise ex
File "C:\anaconda3\envs\exper\Lib\site-packages\azure\storage\common\storageclient.py", line 446, in _perform_request
raise ex
File "C:\anaconda3\envs\exper\Lib\site-packages\azure\storage\blob\baseblobservice.py", line 1759, in exists
self._perform_request(request, expected_errors=expected_errors)
File "C:\github\ExperimentTools\tryStuff\anEasyAzureAuth.py", line 10, in
result = bs.exists("ws1")
File "C:\anaconda3\envs\exper\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\anaconda3\envs\exper\Lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\anaconda3\envs\exper\Lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\anaconda3\envs\exper\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\anaconda3\envs\exper\Lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)

My test case:
from azure.identity import InteractiveBrowserCredential
from azure.storage.blob import BlockBlobService

credential = InteractiveBrowserCredential()
#token = credential.get_token()
bs = BlockBlobService("xtsandboxstorage", token_credential=credential)

result = bs.exists("ws1")
print("result=", result)

I also tried calling get_token() and passing the result (or result.token, or credentials) as the token_credential arg to BlockBlobService, but received a similar error.  As a quick side issue, I don't understand when I should call get_token() - it seems to never cache the token.

It looks like you're using azure-identity with a version of azure-storage-blob that doesn't support it. 12.0 was the first version to accept azure-identity credentials. Which version do you have installed?

I was using azure-storage-blob==2.1.0.
OK, just upgraded to azure-storage-blob==12.1.0.  Now I get a 60 second delay and a new error:
Exception has occurred: ServiceRequestError
<urllib3.connection.VerifiedHTTPSConnection object at 0x000001373B0CC320>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline\transport_requests_basic.py", line 263, in send
raise error
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 112, in send
self._sender.send(request.http_request, **request.context.options),
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\storage\blob_shared\policies.py", line 318, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\storage\blob_shared\policies.py", line 517, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline\policies_redirect.py", line 157, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 80, in send
response = self.next.send(request)
[Previous line repeated 4 more times]
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\pipeline_base.py", line 208, in run
return first_node.send(pipeline_request)  # type: ignore
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\storage\blob_generated\operations_blob_operations.py", line 354, in get_properties
pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\storage\blob_blob_client.py", line 777, in get_blob_properties
**kwargs)
File "C:\anaconda3\envs\blobtest\Lib\site-packages\azure\core\tracing\decorator.py", line 71, in wrapper_use_tracer
return func(*args, **kwargs)
File "C:\github\ExperimentTools\tryStuff\anEasyAzureAuth.py", line 9, in
props = bs.get_blob_properties()
File "C:\anaconda3\envs\blobtest\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\anaconda3\envs\blobtest\Lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\anaconda3\envs\blobtest\Lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
Updated test app:
from azure.identity import InteractiveBrowserCredential
from azure.storage.blob import BlobClient

credential = InteractiveBrowserCredential()
#token = credential.get_token()

bs = BlobClient("xtmeta", "test2", "testdata.dat", token_credential=credential)
props = bs.get_blob_properties()
print("props=", props)

getaddrinfo failed typically means DNS resolution failed, I guess because BlobClient 12.1 expects a URI for its first parameter (docs) and is trying to send a request to "xtmeta". If you're just getting started with the latest azure-storage-blob, there are introductory samples to help you get going.
@annatisch should BlobClient("xtmeta", "test2", "testdata.dat", token_credential=credential) raise due to the unexpected token_credential?

Thanks @chlowell.  After I read your comment and the docs for BlobClient, it still wasn't clear to me which URI BlobClient() needed.  It turns out it needs what the Azure Portal (storage | Properties) calls the Primary or Secondary "Blob Service Endpoint" - would be great if the docs could be more specific about this since there are 16 potential strings to choose from on that page.  Thanks all!


(#369) Update blog links to new format

Description Of Changes
Update the format of the blog links to use the new format.
Motivation and Context
The blog was moved to a new location, updating the links to be consistent across the docs.
Testing
Built docs site locally. Navigated to the pages changed and ensured they loaded properly.
Change Types Made

[x] Bug fix (non-breaking change)
[ ] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.

Related Issue
Fixes #369
Change Checklist

[ ] Requires a change to the documentation
[ ] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

@corbob this looks great to me, thanks for getting all of those updated!


'baqup' consistently fails due to 503: Over Rate Limit

Traceback (most recent call last):
  File "main.py", line 272, in <module>
    main()
  File "main.py", line 73, in main
    _run_backup(client, output_directory, args.root_folder_id)
  File "main.py", line 83, in _run_backup
    client, output_directory, 0)
  File "main.py", line 120, in _descend_into_folder
    client, folder_output_path, depth + 1)
  File "main.py", line 120, in _descend_into_folder
    client, folder_output_path, depth + 1)
  File "main.py", line 122, in _descend_into_folder
    thread = client.get_thread(child["thread_id"])
  File "/Users/nrser/dev/gh/quip/quip-api/samples/baqup/quip.py", line 247, in get_thread
    return self._fetch_json("threads/" + id)
  File "/Users/nrser/dev/gh/quip/quip-api/samples/baqup/quip.py", line 788, in _fetch_json
    raise QuipError(error.code, message, error)
quip.QuipError: 503: Over Rate Limit

I went in and added retry with multiplicative back-off up to about five minutes total... it still can't make it through. Sometimes it gets in a state where it can't even start up, just 503: Over Rate Limit again and again on every request.
We realized that we have a ton of very important notes in Quip, and really need to back them up. Probably have somewhere between hundreds to low thousands of docs.
What's the deal?
I'm on Python 2.7.14, MacOS 10.12.6 if it makes any difference.

Hi @nrser,
Were you able to figure out how to fix that issue? I get the exact same error.  I am looking at the Quip's documentation but I couldn't find any thing about their API limits. :/
@willhite, can you help us out with error? BTW, Thanks for publishing this!

This rather old tweet says that it's 250 per hour / 15 per minute:
https://twitter.com/QuipSupport/status/527965994761744384

@nrser would like to check out your fork...is it published anywhere? Thanks!

@nrser nvm found your fork! Thx for putting that together!

@jrgoodner Yeah there's a link to one of the files in my comment, repo's at:
https://github.com/nrser/quip-api
No promises about code quality; it was a bit of a dirty hack to get it working.
However
It turns out that Quip has batch API that let you breeze through the whole thing! IDK if they weren't there back in December or what. Also I've only used them for the JSON data, not sure if they exist for blobs but they make a massive difference over the one request per entity that the Quip python lib at least used to use.
If you need to back up a decent amount or often I would check out hacking those in. Just FYI.


Include rotor speed on mode shape plots

Considering how plotting of mode shapes is done in other rotordynamic program, here are some points which could be improved:

Add possibility for custom title. For some of the other plots, I have added a title manually, but I'm not sure if this is straight-forward here, as the title field is used for vital info.
Add the rotor speed. This is in my opinion essential, as the mode shapes may be plotted for several speeds, and we quickly loose track if the rotor speed isn't plotted per default.
We use damping ratio, and I do not see a way to select damping ratio.
Contrary to the campbell diagram, I do not see a way to choose between Wn and Wd  for the natural frequency.

Anyway, this was only some suggestions, so far I do enjoy working with the ROSS module

Hello, @LeifParr, we're glad you're enjoying working wih ROSS so far. Thanks again for your suggestions, it's important to us to have this feedback.

So, answering your topics:

Add possibility for custom title. For some of the other plots, I have added a title manually, but I'm not sure if this is straight-forward here, as the title field is used for vital info.

We can add an argument to users input a breif title, more like a tag, as you can see in the figure above (ref 1). It's also possible to overlay the original title layout inserting the kwarg title_text, thus, you completely make your own title for the plot. This is, actually, a feature from Plotly (link to the layout API reference). We only take advantage of this to allow the user to manipulate the Plotly.Figure.layout by inserting kwargs. Examples:

>>> # Add fast title tag
>>> import ross as rs
>>> rotor = rs.rotor_example()
>>> modal = rotor.run_modal(speed=200)
>>> modal.plot_mode_3d(0, title="Rotor Model")

>>> # Modifying title template
>>> import ross as rs
>>> rotor = rs.rotor_example()
>>> modal = rotor.run_modal(speed=200)
>>> fig = modal.plot_mode_3d(1, title_text="NEW TITLE HERE")

Add the rotor speed. This is in my opinion essential, as the mode shapes may be plotted for several speeds, and we quickly loose track if the rotor speed isn't plotted per default.

Added as seen in ref. 2 (first figure).

We use damping ratio, and I do not see a way to select damping ratio.

Added as seen in ref. 4 (first figure).

Contrary to the campbell diagram, I do not see a way to choose between Wn and Wd for the natural frequency.

We're adding an argument (frequency_type - same argument that run_campbell has) to plot_mode_3d and plot_mode_3d to select what frequency to display. You can choose between "wd" and "wn". Example:

>>> import ross as rs
>>> rotor = rs.rotor_example()
>>> modal = rotor.run_modal(speed=200, sparse=True)
>>> # Display damped natural frequency value
>>> modal.plot_mode_3d(1, frequency_type="wd", title="Rotor Model")
>>> # Display undamped natural frequency value
>>> modal.plot_mode_3d(1, frequency_type="wn", title="Rotor Model")

Excellent. I trust you will also implement this for the 2d mode shape plots.


publish<EMAIL_ADDRESS>

Requested by: @hubertdeng123
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] github

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

going to close this since the publish actually succeeded, manually ran the post-release script


Backport gltf2 module from master (updated draft)

Updated version of #46783 by @fire
Optimistically includes a backport of the unreviewed PR #48915 as I needed this bugfix to test my content. It's the last commit in the chain and can be ignored if necessary.
Note that GLTF Export crashes when given complicated skinned meshes. This crash is also present in Master. I will need some additional help from fire to resolve export-related bugs.

@lyuma  The documentation needs to be updated.

Superseded by #49120.


implement the mirrors components

Signed-off-by: Lonng<EMAIL_ADDRESS>
What problem does this PR solve?
This PR implements the mirrors component, which is used to build a local mirror repository.

Codecov Report

Merging #131 into master will decrease coverage by 2.18%.
The diff coverage is 16.70%.

@@            Coverage Diff             @@
##           master     #131      +/-   ##
==========================================
- Coverage   29.33%   27.14%   -2.19%
==========================================
  Files          17       20       +3
  Lines         958      980      +22
==========================================
- Hits          281      266      -15
- Misses        625      678      +53
+ Partials       52       36      -16

Impacted Files
Coverage Δ

cmd/help.go
5.88% <0.00%> (-4.29%)
:arrow_down:

cmd/run.go
0.00% <0.00%> (ø)

pkg/repository/component.go
0.00% <0.00%> (ø)

pkg/repository/file_source.go
0.00% <0.00%> (ø)

pkg/repository/mirror.go
0.00% <0.00%> (ø)

pkg/repository/version.go
36.73% <0.00%> (ø)

pkg/set/string_set.go
0.00% <0.00%> (ø)

pkg/utils/sha1.go
0.00% <0.00%> (ø)

cmd/uninstall.go
38.18% <12.50%> (-7.48%)
:arrow_down:

cmd/status.go
11.90% <20.00%> (ø)

... and 15 more

Continue to review full report at Codecov.

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


fix correctness issue when TT A or B larger than 1 with half type

fix correctness issue when TT A or B larger than 1 with half type

hipblaslt-test pass on gfx942 and gfx1201

hipblaslt-test pass on gfx942


Added syntax highlight for bibtex entry in README

This PR adds syntax highlighting for the bibtex entry under the citation section in README. Also added formatting changes to the README for ease of readability.

You need to sign the Eclipse CLA and associate your Github account with your Eclipse account in order to issue PRs to an Eclipse project. Check out https://github.com/eclipse/xacc/blob/master/CONTRIBUTING.md


checking for Nans

often my sims give Nans if my timestep is too large. it would be nice to have a warning about this, especially during a local batch.  even better, it would be nice to have an adaptive timeStep that shrinks if it gets nans.

use while loop and use smaller time step with larger downsample factor

adaptive time steps can be used by setting 'solver' in dsSimulate to a built-in Matlab ODE solver {'ode23','ode45','ode113','ode15s','ode23s','ode23t','ode23tb'}. This was made possible by creating dsWriteMatlabSolver().

however, the adaptive time step functions don't work well for many of our neuro models. Setting MaxStep using odeset doesn't solve this problem.

ill move this to #274


desktop: Update desktop app link to v2.3.8.

Testing Plan:
GIFs or Screenshots:

@rishig quick merge.

Merged, thanks @akashnimare!


Apply button should remember the last use state.

Description of the new feature / enhancement
Power rename Feature: The apply button should remember the last use state.
Normally you always use apply and close.  Otherwise you have to go to exit after doing the apply.
why not do it in one go.
Thank you.
@l3ny

Scenario when this would be used?
Normally you always use apply and close.  Otherwise you have to go to exit after doing the apply.
Supporting information
No response

why not do it in one go.

There's a very good reason for that and many, many people have asked for it. Imagine you want to perform more than one rename on the same files. You would have to re-open PowerRename for every single time. That's why.

Related: #14852 I think this cloud be a solution to it :D.

For starters, this could be handled by simply having two separate buttons. I realize that's probably not wanted for sake of UI cleanliness, but the alternative is that many/most users often have to either click apply then exit manually or click the arrow then apply and close for most renaming jobs. Even those that do multi-step renames occasionally still likely often don't, and so even they are having to do more clicks much of the time.
Another, and better, solution, would be to expand on the program's capabilities as a whole, and design it more like Advanced Renamer or ReNamer, where you can create multiple rules/steps, then execute them all at once. This allows a few things: you can see what each action will do as well as the end result of all actions before doing anything, and modify any of them as needed before execution; you can do everything you need before hitting apply, so apply can, by default, exit as well; and you can save the steps and recall them later to do similar renaming functions without having to manually rebuild them each time.
I've been playing around with PowerRename for a while now, using it (only) for quick renames under the assumption it would be quicker to right-click the files, select PowerRename, enter my desired changes, and hit apply/exit than it would to open a separate, more powerful renaming app and doing it in there, but not only is it not really much/any faster for very basic tasks, but I can't even save functions for later use, making it potentially take longer over time. With a redesign adding more functionality and improving the UI, it could potentially be faster, more capable, and eliminate the need to apply multiple times in a session, negating this apply vs apply and exit issue entirely.

+1
Depends on workflow. I've needed both in my use cases. Would be supe nice to easily switch between the two options.

/dup https://github.com/microsoft/PowerToys/issues/24176


PydanticSerializationError missing validation error field name

I am getting quite a few of these  Expected 'int' but got 'float' - serialized value may not be as expected warnings in the log files. Is there a way to callout the specific field name?
I looked at Rust's exception and error message, and I don't see any "add_variable_context" flag.
If not easily possible, would it be possible to add the field name that is triggering the warning to PydanticSerializationError please.
The object that is triggering the exception has large number of sub-objects and fields, so going through all the fields would be very time consuming.
# Internal imports

# External imports
from pydantic import BaseModel
from pydantic_core import PydanticSerializationError

# Own imports

class TestModelDump(BaseModel):
    int_value: int | None = None
    float_value: float | None = None

def test_mismatch():
    valu = TestModelDump(int_value=1, float_value=1.0)
    result = valu.model_dump_json()
    print(result)

    valu = TestModelDump(int_value=1.0, float_value=1.0)
    result = valu.model_dump_json(warnings="error")
    print(result)

    valu = TestModelDump(int_value=1.0, float_value=1)
    valu.int_value = 1.0
    valu.float_value = 1
    try:
        result = valu.model_dump_json(warnings="error")
    except PydanticSerializationError as e:
        print(e)
    else:
        print(result)

Seems like a reasonable request to me, I think this just needs some refactoring. cc @sydney-runkle

Indeed, a good first issue if anyone wants to pick this up.

I'm up for it 😃

Hi @sydney-runkle , can you please assign us the issue?  😊


NameError: uninitialized constant Backup::Config::DSL::True

What went wrong?
For several months we've been running the backup gem without issue and as of six days ago the process has begun to fail with the following error:
[2017/09/07 13:35:17][error] CLI::Error
[2017/09/07 13:35:17][error] --- Wrapped Exception ---
[2017/09/07 13:35:17][error] NameError: uninitialized constant Backup::Config::DSL::True
[2017/09/07 13:35:17][error] /home/ubuntu/Backup/models/zabbix_backup.rb:20:in `block (3 levels) in load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/database/mysql.rb:65:in `instance_eval'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/database/mysql.rb:65:in `initialize'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/model.rb:146:in `new'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/model.rb:146:in `database'
[2017/09/07 13:35:17][error] /home/ubuntu/Backup/models/zabbix_backup.rb:13:in `block (2 levels) in load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/model.rb:127:in `instance_eval'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/model.rb:127:in `initialize'
[2017/09/07 13:35:17][error] /home/ubuntu/Backup/models/zabbix_backup.rb:12:in `new'
[2017/09/07 13:35:17][error] /home/ubuntu/Backup/models/zabbix_backup.rb:12:in `block in load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/config.rb:48:in `instance_eval'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/config.rb:48:in `block in load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/config.rb:47:in `each'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/config.rb:47:in `load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/lib/backup/cli.rb:129:in `perform'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/lib/ruby/gems/2.2.0/gems/backup-4.4.0/bin/backup:5:in `<top (required)>'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/bin/backup:23:in `load'
[2017/09/07 13:35:17][error] /home/ubuntu/.rbenv/versions/2.2.6/bin/backup:23:in `<main>'

What steps did you follow?
Change the steps below to match the commands that you ran
Ubuntu 16.04 LTS/ruby 2.2.6p396/Backup 4.4.0
/home/ubuntu/.rbenv/shims/backup perform --trigger zabbix_backup causes the above error. Also backup check causes the same error.
As I mentioned, what's confusing is that this process worked so well for so long and for the life of me I have no idea what might have caused it to suddenly stop.
How is your copy of backup configured?
config.rb
# encoding: utf-8

##
# Backup v4.x Configuration
#
# Documentation: http://backup.github.io/backup
# Issue Tracker: https://github.com/backup/backup/issues

##
# Config Options
#
# The options here may be overridden on the command line, but the result
# will depend on the use of --root-path on the command line.
#
# If --root-path is used on the command line, then all paths set here
# will be overridden. If a path (like --tmp-path) is not given along with
# --root-path, that path will use it's default location _relative to --root-path_.
#
# If --root-path is not used on the command line, a path option (like --tmp-path)
# given on the command line will override the tmp_path set here, but all other
# paths set here will be used.
#
# Note that relative paths given on the command line without --root-path
# are relative to the current directory. The root_path set here only applies
# to relative paths set here.
#
# ---
#
# Sets the root path for all relative paths, including default paths.
# May be an absolute path, or relative to the current working directory.
#
# root_path 'my/root'
#
# Sets the path where backups are processed until they're stored.
# This must have enough free space to hold apx. 2 backups.
# May be an absolute path, or relative to the current directory or +root_path+.
#
# tmp_path  'my/tmp'
#
# Sets the path where backup stores persistent information.
# When Backup's Cycler is used, small YAML files are stored here.
# May be an absolute path, or relative to the current directory or +root_path+.
#
# data_path 'my/data'

##
# Utilities
#
# If you need to use a utility other than the one Backup detects,
# or a utility can not be found in your $PATH.
#
#   Utilities.configure do
#     tar       '/usr/bin/gnutar'
#     redis_cli '/opt/redis/redis-cli'
#   end

##
# Logging
#
# Logging options may be set on the command line, but certain settings
# may only be configured here.
#
#   Logger.configure do
#     console.quiet     = true            # Same as command line: --quiet
#     logfile.max_bytes = 2_000_000       # Default: 500_000
#     syslog.enabled    = true            # Same as command line: --syslog
#     syslog.ident      = 'my_app_backup' # Default: 'backup'
#   end
#
# Command line options will override those set here.
# For example, the following would override the example settings above
# to disable syslog and enable console output.
#   backup perform --trigger my_backup --no-syslog --no-quiet

##
# Component Defaults
#
# Set default options to be applied to components in all models.
# Options set within a model will override those set here.
#
#   Storage::S3.defaults do |s3|
#     s3.access_key_id     = "my_access_key_id"
#     s3.secret_access_key = "my_secret_access_key"
#   end
#
#   Notifier::Mail.defaults do |mail|
#     mail.from                 =<EMAIL_ADDRESS>#     mail.to                   =<EMAIL_ADDRESS>#     mail.address              = 'smtp.gmail.com'
#     mail.port                 = 587
#     mail.domain               = 'your.host.name'
#     mail.user_name            =<EMAIL_ADDRESS>#     mail.password             = 'my_password'
#     mail.authentication       = 'plain'
#     mail.encryption           = :starttls
#   end

##
# Preconfigured Models
#
# Create custom models with preconfigured components.
# Components added within the model definition will
# +add to+ the preconfigured components.
#
#   preconfigure 'MyModel' do
#     archive :user_pictures do |archive|
#       archive.add '~/pictures'
#     end
#
#     notify_by Mail do |mail|
#       mail.to =<EMAIL_ADDRESS>#     end
#   end
#
#   MyModel.new(:john_smith, 'John Smith Backup') do
#     archive :user_music do |archive|
#       archive.add '~/music'
#     end
#
#     notify_by Mail do |mail|
#       mail.to =<EMAIL_ADDRESS>#     end
#   end

zabbix_backup.rb
# encoding: utf-8

##
# Backup Generated: zabbix_backup
# Once configured, you can run the backup with the following command:
#
# $ backup perform -t zabbix_backup [-c <path_to_configuration_file>]
#
# For more information about Backup's components, see the documentation at:
# http://backup.github.io/backup
#
Model.new(:{{ backup_name }}, '{{ backup_description }}') do
  database MySQL do |db|
    db.name               = "{{ backup_db_name }}"
    db.username           = "{{ backup_db_username }}"
    db.password           = "{{ backup_db_password }}"
    db.socket             = "{{ backup_db_socket }}"
    db.sudo_user          = "{{ backup_db_sudo_user }}"
    db.additional_options = {{ backup_db_additional_options }}
    db.prepare_backup     = {{ backup_db_prepare_backup }}
  end

  ##
  # Amazon Simple Storage Service [Storage]
  #
  store_with S3 do |s3|
    s3.access_key_id     = "{{ lookup('env','AWS_ACCESS_KEY_ID') }}"
    s3.secret_access_key = "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
    s3.region            = "{{ backup_db_s3_region }}"
    s3.bucket            = "{{ backup_db_s3_bucket }}"
    s3.keep              = {{ backup_db_s3_keep }}
  end

  ##
  # Local (Copy) [Storage]
  #
  store_with Local do |local|
    local.path       = "~/backups/"
    local.keep       = 5
  end

  ##
  # Gzip [Compressor]
  #
  compress_with Gzip

end

Any guidance would be much appreciated! Thank you in advance!

Discovered the error and somehow a boolean was set to True instead of true. Closing!

hehe 😅  that's not the first time I've seen that. Where did the capitalized True come from?

Honestly, no idea. I use ansible and had the variable set at true for the
past five months. Perhaps a Python change or ansible version change.
I resolved by putting single quotes around the true and ruby still
considers it a boolean.
Thanks for the quick reply!
On Sep 7, 2017 10:22, "Tom de Bruijn"<EMAIL_ADDRESS>wrote:

hehe 😅 that's not the first time I've seen that. Where did the
capitalized True come from?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/backup/backup/issues/894#issuecomment-327833344, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJryY_MnT10sOKNOQYOlTfBF15kw2oOAks5sgAocgaJpZM4PP2Um
.


支持执行Unity的.anim格式动画么？或是支持创建AnimationClip？有案例么？

支持执行Unity的.anim格式动画么？或是支持创建AnimationClip？有案例么？

We have no plans to support any of Unity's assets at all.
For how to produce animation files, one is that glTF will be automatically parsed into AniamtionClip, and the other is created through the editor, but it needs to wait for the editor to be published.

0.9 里程碑后支持自定义 AnimationClip，案例： https://oasisengine.cn/#/examples/latest/animation-customAnimationClip


Importing .json fails in next branch

Do you want to request a feature or report a bug?
Bug
What is the current behaviour?
impost json from '../X.json' fails with the message
Module parse failed: Unexpected token m in JSON at position 0 while parsing near 'module.exports = {"n...'
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token m in JSON at position 0 while parsing near 'module.exports = {"n...'
    at JSON.parse (<anonymous>)
    at parseJson (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/json-parse-better-errors/index.js:7:17)
    at JsonParser.parse (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/webpack/lib/JsonParser.js:16:16)
    at doBuild.err (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/webpack/lib/NormalModule.js:462:32)
    at runLoaders (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/webpack/lib/NormalModule.js:344:12)
    at /Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:370:3
    at iterateNormalLoaders (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:211:10)
    at iterateNormalLoaders (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:218:10)
    at /Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:233:3
    at runSyncOrAsync (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:229:2)
    at /Users/prateekbh/projects/preact-cli/packages/cli/node_modules/loader-runner/lib/LoaderRunner.js:202:4
    at process.nextTick (/Users/prateekbh/projects/preact-cli/packages/cli/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:73:15)
    at process._tickCallback (internal/process/next_tick.js:61:11)
 @ ./components/menu/index.js 11:0-44 83:26-30
 @ ./components/app/index.js
 @ ./index.js

If the current behaviour is a bug, please provide the steps to reproduce.

Create a new project with next branch(preact create default blah)
Add import packageDetails from '../package.json' to index.js
Run preact build or preact serve.

What is the expected behaviour?
It should build.
Solution
Delete these lines: https://github.com/developit/preact-cli/blob/bc0c665f77841e755a913bcdf7a1434da2195221/src/lib/webpack/webpack-base-config.js#L189-L192
As webpack takes care of json files on its own now.

CC: @lukeed @ForsakenHarmony
lemme know if this sounds good, i'll create the PR

Sure, go for it! Not using json-loader locally either and it works fine. Project was archived by webpack team too.


WIP: Enable TLS support for mongodb in litmus-portal

Proposed changes
Replaced mongodb standalone instance with percona mongodb operator with TLS enabled
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[x] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

Closing this as with Litmus 3.0, we have moved to bitnami mongo.


SUGGESTION: Tavily Api !!

That would be a BANGER addition !
Tavily API is a specialized search engine that empowers large language models (LLMs) and AI agents. It delivers tailored and accurate search results optimized for retrieval-augmented generation (RAG), helping to minimize hallucinations.
Here's how Tavily API benefits your project:
Aggregates and filters information from over 20 online sources per API call, intelligently selecting the most relevant content for your query or task.
Designed specifically for AI developers and LLM agents, streamlining the process of content retrieval and formatting.

Offers a free tier with 1,000 monthly API calls and an interactive API playground for testing. [1][3]

Citations:
[1] https://docs.tavily.com/docs/faq
[2] https://tavily.com
[3] https://docs.tavily.com/docs/tavily-api/introduction
[4] https://python.langchain.com/docs/integrations/retrievers/tavily
[5] https://js.langchain.com/docs/integrations/retrievers/tavily

Thank you for sharing this idea - this is great. I will look into this. There are a number of different search provider requests. This has me thinking that I might first make some minor tweaks just to restructure things in a way where it can be organized and easy to swap between different providers.

10 times costly in comparison with serper API ,rather we can go for perplexity online API.

**Offers a free tier with 1,000 monthly API calls ** / costly  ?

When I have a chance I will add tavily 🙂


KCL: No 'let' or 'const' required when declaring vars

Previously variable declaration required a keyword, e.g.
let x = 4
const x = 4

These are both valid, and do the exact same thing. We now have a third redundant way to declare a variable:
x = 4

This does the exact same thing as the above.
Eventually we will

change the recast (aka unparser) so that let x = 4 and const x = 4 both become x = 4 when formatted.
deprecate let, const and var keywords
remove them

But for now, let's test this out in prod and get user feedback.
Part of https://github.com/KittyCAD/modeling-app/issues/3985

can you update the types doc its a manual doc of stuff like this in docs/kcl/types

can you update the types doc its a manual doc of stuff like this in docs/kcl/types

Done!


add support to SX126X Lora chips.

I made a ESP32 Lora board with E22 module, am now trying to program it as a iGate/Digi.  Currently it works good with RadioLib. I have very little knowledge regarding APRS, and AX25. your project is the most robust  I have ever tried. if you can add SX126X to this project. it can really save me a lot of works.
Thanks!

please wait for https://github.com/lora-aprs/LoRa_APRS_iGate/pull/183
I have soon time to check the PR.


kogito-operator disable tests and get CI stable

in order to stabilize the CI pipelines for in preparation for the next release, the best approach will be disabling the tests temporally and get all pipelines running properly. More investigation will be needed for this component.

FYI @jakubschwan

PR: https://github.com/apache/incubator-kie-kogito-operator/pull/1535


Peer Review by Tommy

Summary
This paper investigates the determinants of under-five child mortality in 2022 across countries, focusing on three predictors: DPT vaccination coverage, per-capita health expenditure, and the food production index. Using Bayesian modeling, the study finds that increased vaccine coverage and healthcare spending significantly reduce child mortality, while food production does not have a direct effect. The findings highlight actionable pathways for reducing child mortality globally, especially in high-mortality regions.
Strong Positive Points:
Timely and Relevant Topic: The focus on child mortality and its determinants addresses a critical global health issue, making the paper both timely and relevant.
Rigorous Modeling Approach: The Bayesian model is well-constructed with clear explanations of priors, parameter estimates, and validation techniques, which strengthen the credibility of the results.
Data Presentation: The use of transformed data (e.g., log-transformed health expenditure) to address skewness enhances model validity and clarity. Figures are well-labeled and effectively illustrate key patterns.
Discussion of Implications: The paper connects its findings to global Sustainable Development Goals, emphasizing practical policy interventions.
Critical Improvements Needed:
Abstract: While the abstract outlines key findings, it does not sufficiently explain why these findings matter or how they contribute to existing literature. Including these aspects would improve the abstract.
Estimand: The estimand is briefly mentioned but could be elaborated to explain its relevance in the broader context of global health interventions.
Food Production Index: The discussion around the food production index is limited. Further exploration of why it lacks significance or its indirect effects could enrich the analysis.
Limitations Section: The limitations section mentions data unavailability and time inconsistency but does not delve into their impact on the results. Expanding this discussion would improve transparency.
Appendix Details: While the appendix discusses challenges in observational data and policy implications, additional details on survey methodologies or missing data handling could enhance comprehensiveness.
Suggestions for Improvement:
Abstract: Revise to include why the findings are significant and their contribution to addressing global health disparities.
Introduction: Strengthen the explanation of the estimand and its role in addressing child mortality.
Food Production Analysis: Provide more context on the non-significance of the food production index and explore potential mediating factors.
Limitations Section: Discuss how limitations, such as missing data and time inconsistency, might have influenced the findings.
Appendix: Add more details on data preprocessing steps and observational data challenges to align with rubric expectations.
Evaluation:
R/Python cited: Yes (1/1)
Data cited: Yes (1/1)
Class paper: Yes (1/1)
LLM usage documented: Yes (1/1)
Title: Yes (2/2)
Author, date, and repo: Yes (2/2)
Abstract: Impressive (3/4)
Introduction: Acceptable (2/4)
Estimand: Acceptable (1/1)
Data: Impressive (8/10)
Measurement: Impressive (3/4)
Model: Impressive (8/10)
Results: Impressive (8/10)
Discussion: Acceptable (6/10)
Prose: Impressive (4/6)
Cross-references: Yes (1/1)
Captions: Yes (2/2)
Graphs/tables/etc: Exceptional (4/4)
Surveys, sampling, and observational data appendix: Acceptable (6/10)
Referencing: Perfect (4/4)
Commits: Yes (2/2)
Sketches: Not done (0/2)
Simulation: Acceptable (2/4)
Tests: Acceptable (2/4)
Parquet: Done (1/1)
Reproducible workflow: Acceptable (2/4)
Enhancements: Not done (0/4)
Miscellaneous: Notable (1/3)
Estimated Overall Mark:
73/112
Reasons:
The paper is well-structured, with rigorous analysis and thoughtful presentation of results. However, certain sections, such as the abstract, limitations, and appendix, could be expanded or refined to fully meet the rubric's expectations. With these improvements, the paper could better demonstrate its significance and practical applications in global health policy.

Thanks for the comment, I have edited the appendix, limitations, and added existing literature


fix: date/time format for creation date + TODO position

When I downloaded the latest version of the plugin, I noticed the date, time and TODO were broken.
I was using my local fork for a while.
In this pull request:

fix the date format, following the config.edn journal date format:
add colon to the time e.g. 17:37 instead of the previous 1737.
add the TODO as the last thing, after all other text changes, otherwise the line doesn't become a task.
improve the README again, mentioning pnpm.
add .npmrc so the pnpm-lock.yaml lock file doesn't change after I run pnpm install.

Example of a line before this change:
- @240515 **1825** TODO My imported task

After this pull request:
- TODO [[Wednesday, 15.05.2024]] **18:25** My imported task

Thanks for the PR!
However, I've done a bunch of refactors that dealt with most of the issues. Regarding the changes to the README, since I'm not really accepting PRs, I've removed that section.


[Implement sniff ?] Check for ByteOrderMark

Decision needed by Theme Review Board:
There is currently no rule to check for a Unicode Byte Order Mark.
As having a BOM in one of the theme files will often give issues when using those files, it might be a good idea to add this as a rule.
Advice: Add rule which disallows having a BOM in theme files.
To do:

[ ] If agreed this should be a rule - add existing Generic.Files.ByteOrderMark sniff to the ruleset.
[ ] Add the rule in the Theme Review handbook to the Requirements page.

Green light to go ahead :
https://make.wordpress.org/themes/2016/07/12/meeting-notes-for-2016-july-12/


Does it support snap services?

How can i easily make it running in the background process, because I would like to let it automatically start with ipfs daemon after reboot

Gave up on it as the official repo supports it.


[FSK-60]: Create Project Integrate With The Back End Api

This PR creates project integrate with the back end api.

Sees the successful notification when Submits the form correctly
why this test didn't pass?
because of backend problems?

Good job @AmirabbasJ 👍


HMC with discrete random variables

Hi all !
I was wondering, in the current implementation of Turing, can we use HMC with discrete random variables ?
If yes, which specific file deals with this issue ?
I've recently read this article Continuous Relaxations for Discrete Hamiltonian Monte Carlo
 which proposes a way to tackle that.
Best,
Emile

Hi Emile,
We can use HMC with discrete random variables at this moment. That's one of the reason we introduce the Gibbs interface so that we can use Particle Gibbs to deal with discrete variables.
Yours,
Kai

Hi Kai,
Did you mean ?

We CANNOT use HMC with discrete random variables [...]

Otherwise your two sentences seem to be in opposition 😕
Best,
Emile

Hi Emile,
Sorry for the typo - yes you're correct we CANNOT use :<
Kai


Unsuccessful training on multivariate timeseries toy dataset

This is really not an issue, so please feel free to close it and I will try asking the questions in Google Groups or Stackoverflow
I have been playing with LSTM for multi variate time series, it is failing to learn for very simple toy example.  My dataset is basically an alternating time series with even sequence as addition and odd sequence as multiplication
Sample input data
       1        2        3
       2        3        6
       3        4        7
       4        5       20
       5        6       11
       6        7       42
       7        8       15
       8        9       72
       9       10       19
      10       11      110
      11       12       23

I modified the recurrent-time-series.lua from rnn/examples to change the sequence dataset leaving all other code as is.  The default dataset works fine but my dataset produces very high error rates.  I tried all recommended settings like changing number of numbers, learning rate, etc, I even tried to clone the output of the forward pass as mentioned in some other forum post.  Nothing seems to fix the error rates. Below is the code, it is identical to the standard example except for the sequence dataset, any help to fix will be greatly appreciated
-- Multi-variate time-series example

require 'rnn'

cmd = torch.CmdLine()
cmd:text()
cmd:text('Train a multivariate time-series model using RNN')
cmd:option('--rho', 5, 'maximum number of time steps for back-propagate through time (BPTT)')
cmd:option('--multiSize', 3, 'number of random variables as input and output')
cmd:option('--hiddenSize', 100, 'number of hidden units used at output of the recurrent layer')
cmd:option('--dataSize', 1000, 'total number of time-steps in dataset')
cmd:option('--batchSize', 50, 'number of training samples per batch')
cmd:option('--nIterations', 1000, 'max number of training iterations')
cmd:option('--learningRate', 0.0001, 'learning rate')
cmd:text()
local opt = cmd:parse(arg or {})

-- For simplicity, the multi-variate dataset in this example is independently distributed.
-- Toy dataset (task is to predict next vector, given previous vectors) following the normal distribution .
-- Generated by sampling a separate normal distribution for each random variable.
-- note: vX is used as both input X and output Y to save memory
local function evalPDF(vMean, vSigma, vX)
   for i=1,vMean:size(1) do
      local b = (vX[i]-vMean[i])/vSigma[i]
      vX[i] = math.exp(-b*b/2)/(vSigma[i]*math.sqrt(2*math.pi))
   end
   return vX
end

assert(opt.multiSize > 1, "Multi-variate time-series")

-- vBias = torch.randn(opt.multiSize)
-- vMean = torch.Tensor(opt.multiSize):fill(5)
-- vSigma = torch.linspace(1,opt.multiSize,opt.multiSize)
-- sequence = torch.Tensor(opt.dataSize, opt.multiSize)
--
-- j = 0
-- for i=1,opt.dataSize do
--   sequence[{i,{}}]:fill(j)
--   evalPDF(vMean, vSigma, sequence[{i,{}}])
--   sequence[{i,{}}]:add(vBias)
--   j = j + 1
--   if j>10 then j = 0 end
-- end
sequence = torch.Tensor(opt.dataSize,opt.multiSize)
for j = 1,opt.dataSize do
  if j%2 > 0 then
    sequence[j][1]=j
    sequence[j][2] = j +1
    sequence[j][3] = sequence[j][1] + sequence[j][2]
  end
  if j%2 == 0 then
    sequence[j][1]=j
    sequence[j][2] = j +1
    sequence[j][3] = sequence[j][1] * sequence[j][2]
  end
end
print('Sequence:'); print(sequence)

-- batch mode

offsets = torch.LongTensor(opt.batchSize):random(1,opt.dataSize)

-- RNN
r = nn.Recurrent(
   opt.hiddenSize, -- size of output
   nn.Linear(opt.multiSize, opt.hiddenSize), -- input layer
   nn.Linear(opt.hiddenSize, opt.hiddenSize), -- recurrent layer
   nn.Sigmoid(), -- transfer function
   opt.rho
)

rnn = nn.Sequential()
   :add(r)
   :add(nn.Linear(opt.hiddenSize, opt.multiSize))

criterion = nn.MSECriterion()

-- use Sequencer for better data handling
rnn = nn.Sequencer(rnn)

criterion = nn.SequencerCriterion(criterion)
print("Model :")
print(rnn)

-- train rnn model
minErr = opt.multiSize -- report min error
minK = 0
avgErrs = torch.Tensor(opt.nIterations):fill(0)
for k = 1, opt.nIterations do

   -- 1. create a sequence of rho time-steps

   local inputs, targets = {}, {}
  --  for step = 1, opt.rho do
  --     -- batch of inputs
  --     inputs[step] = inputs[step] or sequence.new()
  --     inputs[step]:index(sequence, 1, offsets)
  --     -- batch of targets
  --     offsets:add(1) -- increase indices by 1
  --     offsets[offsets:gt(opt.dataSize)] = 1
  --     targets[step] = targets[step] or sequence.new()
  --     targets[step]:index(sequence, 1, offsets)
  --  end
  for step = 1, opt.rho do
     -- batch of inputs
     inputs[step] = inputs[step] or sequence.new()
     inputs[step]:index(sequence, 1, offsets)
     -- batch of targets
     offsets:add(1) -- increase indices by 1
     offsets[offsets:gt(opt.dataSize)] = 1
     targets[step] = targets[step] or sequence.new()
     targets[step]:index(sequence, 1, offsets)
  end

   -- 2. forward sequence through rnn

   local outputs = rnn:forward(inputs)
   local err = criterion:forward(outputs, targets)

   -- report errors

   print('Iter: ' .. k .. '   Err: ' .. err)
   avgErrs[k] = err
   if avgErrs[k] < minErr then
      minErr = avgErrs[k]
      minK = k
   end

   -- 3. backward sequence through rnn (i.e. backprop through time)

   rnn:zeroGradParameters()

   local gradOutputs = criterion:backward(outputs, targets)
   local gradInputs = rnn:backward(inputs, gradOutputs)

   -- 4. updates parameters

   rnn:updateParameters(opt.learningRate)
end

print('min err: ' .. minErr .. ' on iteration ' .. minK)

I'm testing this example with similar toy data, maybe some of my first findings will be useful for you:

if values in column 3 depend only on values in columns 1 and 2, excluding column 3 from input may improve the results. (change opt.multiSize to 2, and add something like inputs[step] = inputs[step]:sub(1,opt.batchSize,1,2) after inputs[step]:index(sequence, 1, offsets)). However, it is unclear if inputSize<outputSize is ok for the model;
you may also try to scale the values down to the 0;1 interval to avoid any problems with the transfer function (or test your model without the column 3 at all to see if the problems is there);
try changing the recurrent layer from nn.Linear(opt.hiddenSize, opt.hiddenSize) to  nn.LSTM(opt.hiddenSize, opt.hiddenSize);
results seem to be sensitive to the value of rho;
the problem could be also in the interchanging addition and multiplication in column 3.
Hope it helps, but these are only the first findings as I'm quite new into this.

@rracinskij  thanks for the suggestions, unfortunately I have already all of them and nothing seems to work.  I have been reading stuff at other blogs about intricacies of LSTM  and trying out different implementations of it but nothing seems to work for my simple toy example.  I am sure I am missing something very basic, I just don't what :)
Things I have already tried

Train with input have only the first two numbers and target as the third
Train with batch (using Sequencer) and without batch.  Interestingly the batch method produces output from forward pass with same value for every value of input[step], I am debugging to find out why, looks like some reference issue
Tried it with different optimizer and hyper parameters (rho, hidden size, learning rate, momentum,etc)
Tried with changing epochs
Training with only addition (instead of alternating multiplication and addition) produces lower error but it is still very high.  The model just doesn't seem to be learning

I have been at this for few days already, I am going to try build LSTM from scratch, may be using char-rnn as baseline

Here is a quick modification of your example - https://github.com/rracinskij/rnntest01/blob/master/rnn-multiple-time-series01.lua
It seems to be learning, although there is still much room for improvement. Please note that target is selected from the sequence by increasing the offset, so the output of row i should be in the row i+1.
I'll be able to get deeper into the issue not earlier than tomorrow.

Thanks for quick modification, I tested it and it indeed seems to be learning.  I reviewed your code, the changes you made are reducing the input values (to be between 0 and 1), offsets are linear (instead of random), change to LSTM and change dimensions of inputs/output.  If these changes make the model learn then it means that for recurrent models, the method of providing input and range are very important.
It seems counter intuitive since in most machine learning setup, you typically randomize the inputs but looks like recurrent nets require sequential inputs.  Also I am not sure if the errors are any better than before, the variance has reduced but it is still significant considering the scale of the input.
I will continue to experiment more with it and wait for any other suggestions you have.

Offsets were changed from random to linear just for convenience, it shouldn't affect the performance. Inputs were set between 0 and 1 to avoid eventual saturation problems, if any. Important detail was to select the output from the next sequence.
During similar experiments with an univariate model I noticed that using a sequence of previous values instead of scalars as input at every step remarkably increases the prediction accuracy, but it would require a 2D model for the multivariate case.

@rracinskij Could you submit a PR adding this script as an example to the examples folder?

@nicholas-leonard I tried to make my initial script a bit cleaner. I have also noticed that training fails while using sigmoid as activation function, have no idea why.

I spent some time with testing the run time series example with a simple toy dataset (https://github.com/rracinskij/rnntest01/blob/master/rnn-multiple-time-series-tests-description.md)
Results are rather disappointing, as it is not easy to train even a simplest 0.01, 0.02, 0.03 sequence. I couldn't get any meaningful results with a Fibonacci-style sequence (0.01, 0.01, 0.02, 0.03, 0.05...). Surprisingly, a linear combination of both above mentioned sequences together with its values in previous steps trains quite easily.
So at the moment it looks like that the model setup should be in some way different. The model is also very sensitive to the number of hidden units.

@rracinskij try :
r = nn.Recurrent(
   opt.hiddenSize,
   nn.Linear(opt.inputLast-opt.inputFirst+1, opt.hiddenSize), -- input layer
   nn.Linear(opt.hiddenSize, opt.hiddenSize), -- recurrent layer
   nn.Sigmoid(), -- transfer function
   opt.rho
)
rnn1 = nn.Sequential()
   :add(r)
   :add(nn.Linear(opt.hiddenSize, opt.outputLast-opt.outputFirst+1))
   :add(nn.Sigmoid()) -- if the target is also between 0 and 1

rnn2 = nn.Sequential()
    :add(nn.LSTM(opt.inputLast-opt.inputFirst+1, opt.hiddenSize))
    :add(nn.Linear(opt.hiddenSize, opt.outputLast-opt.outputFirst+1))
    :add(nn.Sigmoid()) -- if the target is also between 0 and 1

@nicholas-leonard using nn.Sigmoid() instead of nn.Tanh() gives results - outputs look like averages of targets (or inputs?). For example, having 0.31, 0.32, ... 0.38 as targets gives 0.1860, 0.1863, 0.1865, 0.1868, 0.1870, 0.1872, 0.1875, 0.1877 as outputs, while switching to Tanh() gives 0.3118, 0.3159, 0.3199, 0.3239, 0.3279, 0.3318, 0.3358, 0.3397. That applies both to linear and LSTM/GRU models.
And both model still can't crack the Fibonacci-style 0.01, 0.01, 0.02, 0.03, 0.05, 0.08 sequence.
NB: according to Yoshua Bengio (https://www.quora.com/How-can-one-apply-deep-learning-to-time-series-forecasting), RNN is the best tool for time series prediction.

@rracinskij Another thing you could try is to quantize the output and target into classes. So for fibonacci you could have classes 1,2,....100 each representing integers : 1,2,....100. So then you can use a LookupTable and SoftMax and train it just like a language model.
In that same line of reasoning, to allow for greater numbers, you could create a binary representation of the inputs and targets. So for 8 bits, that is 16 classes (the first 0 and 1, the second 0 and 1) and so on. Throw a stacked LSTM at it and see what happens :)

@nicholas-leonard Switching to quantized targets and LookupTable+SoftMax allows even the simple recurrent model from the examples folder to learn the Fibonacci sequence easily. So I’m wondering why it performs much better that continuous models?
And it is still unclear why nn.Sigmoid() is much worse than nn.Tanh() in the original setup.

Why discrete space is much easier to learn than continuous space?
The way I see it is as such. I you divide the space between 0 and 1 into 100 discrete ranges where each gets its own output/input unit and target class then you are effectively assigning 100 neurons, each with its own input/output weights. On the other hand, for continuous space, your space between 0 and 1 only has one neuron and associated input/output weights. So much less parameters. It also means that for continuous space the hidden neurons/parameters have a more difficult task.
Why Sigmoid is word than Tanh? I don't have a good idea why.

Your approach is really smart. Could you please explain the role of LookupTable in this setup? Shall it work with multivariate time series?

LookupTable is for input layer. It basically maps each quantized value to an embedding vector. The embeddings are learned. Yes it could work with multivariate time series.

But in the multivariate case it is unclear how to get the LookupTable from the simple recurrent example to work with a couple of different inputs at once.
local r = nn.Recurrent(
   hiddenSize,
   nn.LookupTable(nIndex, hiddenSize),
   nn.Linear(hiddenSize, hiddenSize),
   nn.Tanh(),
   rho
)

Adapting the model from the simple recurrent example for the quantized multivariate time series case is a bit trickier (if possible at all) than it might seem at first:
local r = nn.Recurrent(
   hiddenSize,
   nn.LookupTable(nIndex, hiddenSize),
   nn.Linear(hiddenSize, hiddenSize),
   nn.Tanh(),
   rho
)
local rnn = nn.Sequential()
   :add(r)
   :add(nn.Linear(hiddenSize, nIndex))
   :add(nn.LogSoftMax())

It is unclear how to use LookupTable for more than one input.
There might be more than one output to be classified.

@rracinskij Okay so lets say you have inputSize=4 variables that you want to quantize. You can either use the same LookupTable for all of them, or a different one for each. So your input would be of size batchSize x inputSize.  The lookup table can handle this :
batchSize = 2
inputSize = 4
nIndex = 10
hiddenSize = 3
input = torch.LongTensor(batchSize, inputSize):random(1,nIndex)
lookup = nn.LookupTable(nIndex, hiddenSize)
output = lookup:forward(input)
print(output)

(1,.,.) =
  0.2128  1.0470  1.4555
 -0.2879  1.8431 -0.4295
 -0.3924  2.5976 -0.9050
 -0.3217 -0.5281 -0.9261

(2,.,.) =
 -0.5678 -0.2925  0.7227
  0.2128  1.0470  1.4555
 -0.3217 -0.5281 -0.9261
 -0.3217 -0.5281 -0.9261
[torch.DoubleTensor of size 2x4x3]

So the output of this has size batchSize x nVar x hiddenSize. To feed this into linear, you need to collapse the last two dimensions :
col = nn.Collapse(2)
out2 = col:forward(out)
print(out2)
Columns 1 to 10
 0.2128  1.0470  1.4555 -0.2879  1.8431 -0.4295 -0.3924  2.5976 -0.9050 -0.3217
-0.5678 -0.2925  0.7227  0.2128  1.0470  1.4555 -0.3217 -0.5281 -0.9261 -0.3217

Columns 11 to 12
-0.5281 -0.9261
-0.5281 -0.9261
[torch.DoubleTensor of size 2x12]

For the outputs, you will need a multi-class classification criterion. You can build one by combining ParallelCriterion with ClassNLLCriterions.

@nicholas-leonard Thanks a lot!


Uncaught Error: ENOENT: no such file or directory, lstat '~/Documents\GitHub\dating-app-auto-like...

[Enter steps to reproduce:]

...
...

Atom: 1.33.1 x64
Electron: 2.0.16
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat 'C:\Users\qpmch\Documents\GitHub\dating-app-auto-liker\ returnColName As String) As String.vb'
At fs.js:1661

Error: ENOENT: no such file or directory, lstat 'C:\Users\qpmch\Documents\GitHub\dating-app-auto-liker\ returnColName As String) As String.vb'
    at Proxy.realpathSync (fs.js:1661:15)
    at Proxy.fs.realpathSync (ELECTRON_ASAR.js:336:29)
    at TreeView.t.exports.TreeView.moveEntry (~/AppData/Local/atom/app-1.33.1/resources/app/static/<embedded>:14:916493)
    at TreeView.t.exports.TreeView.onDrop (~/AppData/Local/atom/app-1.33.1/resources/app/static/<embedded>:14:922247)
    at HTMLDivElement.<anonymous> (~/AppData/Local/atom/app-1.33.1/resources/app/static/<embedded>:14:896158)

Commands
     -0:33.6.0 tree-view:add-folder (ol.tree-view-root.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -0:29 core:confirm (input.hidden-input)

Non-Core Packages
atom-beautify 0.30.9
autocomplete-python 1.10.5
kite 0.69.0
script 3.17.3
split-diff 1.5.3
todo-show 2.3.2

Thanks for contributing!
We noticed that this looks like a duplicate of https://github.com/atom/tree-view/issues/1282 so you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


[main] Add LOG abbreviation

Purpose

Adding abbreviation for the Log Analytics Workspace module.

Updated Module(s)
Log-Analytics-Workspace

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