HaxeDevelop no longer working after windows update

Hi There - ive been using a HaxeDevelop nightly for ages (most recently yesterday), this morning I updated my windows machine and after HD no longer opens at all, ive tried reinstalling and nothing. Same issues, things along these lines (which are found in various other issues on this repo):

Ive also tried rebuilding FD from source and seemed to build fine, the x86 version didnt open due to trying to access protected memory, fine. The x64 seemed to run fine (i didnt thoroughly test it) - however, was after haxe develop rather than flash develop - so i guess my question is in multiple parts:

any idea what the original issue is, and if there will be a fix for it
how can i build haxe develop from source, in the same method you do to produce the nightlies - i just copied over the files from "Distros" to overwrite the relevant files in the relevant root dirs, which im sure isnt the right method
is there a way to help you move forward on this, or help with FD/HD in general :)

Cheers,
Ian

Hi, in progress

Windows?
.net 4.8 update?

Yup, windows... not sure what the update was to be honest... but installed .net 4.8 again anyway just in case the update borked it, didnt seem to make a difference

windows version? (LTSC, 10, ....)
windows -> settings -> updates -> update log

I need to know which update was the last

Same.
This is second time I got this issue, with last windows update this happened too.
Last time, after a few restarts/reinstalls and at certain magical moment it started to work again.

Windows 10, yeah, ignore the fact my system is in spanish... i use a spanish keyboard ;)

thx, I have an idea

i use a spanish keyboard ;)
no problem ;)

ive also just realised there is a cumulative update also - going to install that, maybe it'll fix it, but id want to install it anyway, so will see

Not sure if this helps but this is the error I get a lot of times when starting HaxeDevelop
Object reference not set to an instance of an object.

   at System.Windows.Forms.Form.CreateControlsInstance()
   at FlashDevelop.Docking.TabbedDocument.AddEditorControls(String file, String text, Int32 codepage)
   at FlashDevelop.Docking.TabbedDocument.AddEditorControls(String file, String text, Int32 codepage)
   at FlashDevelop.MainForm.CreateEditableDocument(String file, String text, Int32 codepage)

the problem is in accessing Scintilla(to dll). I know a specific place in the code, but so far I can't figure out how to solve the problem once, almost every windows update breaks everything (((

Where to the scintilla bindings for .net come from? Is it an issue in that project? Also, i managed to build (i think at least) Flash Develop from source with no issues, at least it started up, didnt open an editor to check scintilla though - not sure if that helps ny but does indicate things "can" be fine... (i had to use the x64 .exe though)

For some magical reason it just started to work for me, ✨ I did nothing special except from coding in VSCode the whole day. Maybe it's jealous and does some psychological tricks on us to see if we really love it enough once in a while..?

hahaha... what the hell?!?!? Same here!

@SlavaRa - can you also post x64 nightlies when you do post nightlies? Might be the issue (cant be sure though)

duplicate #3081

As expected, the latest Windows Update fixed this issue. Let's hope this does not become a pattern of windows updates breaking and fixing FD every other month.

I am working to prevent this from happening again, I found the reason, but the task turned out to be very difficult.

Hey SlavaRa, Happy new year!
Microsoft blessed us with another new windows update 🤦♀, so I got new errors on startup .. I hope they will leave automatically as they always seem to do, but here you go

Hey SlavaRa, Happy new year!
Microsoft blessed us with another new windows update 🤦♀, so I got new errors on startup .. I hope they will leave automatically as they always seem to do, but here you go

... weirdly i havent gotten this one (yet)... and am up-to-date... shrug

... weirdly i havent gotten this one (yet)... and am up-to-date... shrug

Agrh....

Agrh....

It does work after few hours of wait + restarting few times.. So odd.

It does work after few hours of wait + restarting few times.. So odd.

It does work after few hours of wait + restarting few times.. So odd.

yes, me too

It does work after few hours of wait + restarting few times.. So odd.

yes, me too

OK, well, another windows update another issue of HD not working... wont even open this time... Ive uninstalled and reinstalled and nothing. I did noticed the development build from here: https://flashdevelop.org/downloads/builds/ is a month old... is there a more up to date version to try?
Cheers,
Ian

another windows update KB4601554 also bring "MDI container forms must be top-level." error. Just uninstall it.

and KB5003173

and KB5013624

SlavaRa doesnt have acces to github rn. The problem can be solved within a month.

and KB5013887
For reference on how to hide unwanted updates:
https://www.repairwin.com/prevent-a-specific-windows-update-or-driver-from-installing-in-windows-10/

and KB5015730
(these are usually labelled as "Cumulative Update [Preview] for .NET Framework 3.5 and 4.8 for Windows 10")

(Re)Building FD manually resolved issue for me.


add: Slash Command Types

Please describe the changes this PR makes and why it should be merged:
Add slash Command Types
Is this ok so?
Status

[ ] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Can you spin deno fmt --ignore=./docs and push the changes? Thank you!

Cannot push. Just changes files and when I'm trying to push git errors out.


magic.link integration for wallet adapter

Once we have https://github.com/workbenchapp/solana-workbench/pull/82, we will have proper Phantom integration. However, we also want to support using the app for people that don't have a wallet rigged up. We will integrate https://magic.link/, to allow people to sign up with more traditional auth.

I've added this to the v0.4.0 milestone, but its a maybe

phantom integration doesn't work for electron - so this needs alot more magix


fast way to get first unitialized variable in a strategy

Hello,
so far I used simple for loop to get first uninitialized variable in a branching strategy.
Variable decisionVariable;
for (Variable var : vars) {
     if (var.isInstantiated()) {
          decisionVariable = var;
          break;
     }
}

Profiler showed me that the loop can be time consuming with thousands of variables.
In case variables are instantiated in order defined by order in an array it is possible to use currentDepth of searchloop to skip for sure instantiated variables.
for (int iVar=solver.getSearchLoop().getCurrentDepth(); iVar < vars.length; ++iVar){
if (!vars[iVar].isInstantiated()) {
decisionVariable = vars[iVar]);
break;
}
}
Another speedup can be to not compute current depth of searchloop in a loop on every call and store depth in decision instance - good candidate can be Decision.setPrevious method.
If there's no faster way to get first uninitialized variable in a strategy or an array, is it possible to optimize SearchLoop.getCurrentDepth method ?

Hi Jan-G,
Using the current depth does not look like a good solution to me.
I suggest you to use a backtrackable integer to store the index of the last unfixed variable.
Do you know how to do that?
Best,
Jean-G

Hi Jean,
I looked at the sources and it seems that backtrackable integer works for me even better.
I created in init method a variable
idxUnfixedVar = solver.getEnvironment().makeInt(0);
and modified the loop

for (int iVar=idxUnfixedVar.get(); iVar < vars.length; ++iVar) {
if (var.isInstantiated()) {
decisionVariable = var;
idxUnfixedVar.set(iVar);
break;
}
}
Is my code correct ?

Shouldn't the "if" statement be the opposite (i.e. If not instantiated)?

Yes, you are right. Exclamation mark is missing, fortunatelly I missed it only in the text and not in the real code :-)

Good! So the code looks fine!


fix(crypt): Avoid expensive note commitment tree root recalculations in eq() methods

Motivation
Re-calculating note commitment tree roots can take a long time if the root isn't cached in the state, or already calculated by Zebra.
Instead, it is cheaper to compare the tree frontier, which is at most 32 roots. (Less than 1 kB of byte comparisons.)
Specifications
https://docs.rs/incrementalmerkletree/0.4.0/incrementalmerkletree/frontier/struct.NonEmptyFrontier.html#impl-PartialEq<NonEmptyFrontier<H>>-for-NonEmptyFrontier<H>
Complex Code or Requirements
This fix helps avoid weird performance bugs in the next few state upgrades. We've already seen some performance issues in this code.
Solution
If both roots are cached, compare them. Otherwise, compare the whole frontier.
Review
This might be needed to get some tests for PR #7379 to pass.
Reviewer Checklist

[ ] Will the PR name make sense to users?

[ ] Does it need extra CHANGELOG info? (new features, breaking changes, large changes)

[ ] Are the PR labels correct?
[ ] Does the code do what the ticket and PR says?

[ ] Does it change concurrent code, unsafe code, or consensus rules?

[ ] How do you know it works? Does it have tests?

@mergifyio update.


belongs_to_actor relationship must be public

In Ash Paper Trail v0.1.2-rc.0, the belongs_to_actor option will not work if the relationship is not public.
Additional context
Ash 3.0.0-rc.21

Ah, so we need to make that attribute_writable? true in that case then.

wait, that already is happening... 🤔

What error does it raise?

In my use case, the relationship can be nil and it always was.  When I make the relationship public, it was being set correctly.

When you get some time could you push a failing test for this? I haven't been able to figure out why this would happen.

When you get some time could you push a failing test for this? I haven't been able to figure out why this would happen, and haven't had time to reproduce either.

I can handle this issue.

I think this is related to https://github.com/ash-project/ash/pull/1053.
If default_accept :* is a backwards compatibility tool, ash extensions shouldn't use that. It's not all attributes, but public all attributes.

I think It can be fixed with a transformer that creates actions accepting all attributes.
What do you think?

You're correct about the problem, good call. I would say we can do this w/o a transformer. get all attributes in the transformer that we're in, and then add accept unquote(all_attributes) to the actions we create.


fix(eslint-plugin-lit-a11y): refactors and fixes rules

*: add rule docs url to meta.docs
utils: refactor utils to take Element
anchor-is-valid: error messages by id
click-events-have-key-events: add allowCustomElements option
click-events-have-key-events: schematize allowList option
heading-has-content: add customHeadingElements option
iframe-title: error messages by id, refactor
img-redundant-alt: add defaults to schema
mouse-events-have-key-events: add allowCustomElements option
mouse-events-have-key-events: schematize allowList option
no-autofocus: include .autofocus DOM property

blocked by #1899

The docs.url meta property provides click-on-rule-name-to-navigate-to-docs in vs code.
Down the line, we can move those links to open-wc.org docs pages

should merge #1899 first, then rebase this branch


Fixed broken link

 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.

Superseded by https://github.com/arduino/arduino-examples/pull/30


Support Alertmanager v0.15.0

With Alertmanager v0.15.0 the HA command line flag prefix changes from
"mesh" to "cluster" and peer ports need to be specified. This patch
enables running Alertmanager v0.15.0 with the Prometheus operator
without breaking backward compatibility.
In addition it does the following refactoring:

Instead of generating the stateful set for an old AM version, and then
addressing all necessary changes up to the newest version, generate an
up to date stateful set version and address any changes necessary for
backward compatibility.

Add unit tests for the various flag changes in between Alertmanager
version.

Add v0.15.0 mesh initialization test

@fabxc @brancz Could one of you give this a review?

lgtm :+1: nice work!


What are Generator/Discriminator yfake/real loss?

This isn't really an issue. I am just new to GAN and I am not sure how these are defined:
Generator yfake loss
Generator yreal loss
Discriminator yfake loss
Discriminator yreal loss
Are these general to GAN, or something specific to this framework? Would like to know the best source to read up on these.
Thanks.

In gans Generator yreal loss does not exists ... it is a contradiction ...
I would like to know also


Layout b0rked on narrow desktop view

On narrow width screen some things are not 'responsive'

Here I have set Smallest text size. Still the name is cut:

Here Drive popup can't be closed at all:

👉 Steps to reproduce

Add Progressive Web App to phone homescreen
Change layout to 'desktop view'
Browse!

The most logical thing to do is setting min-width (600px is a good value from what I see) for the wrapper div id="app"

Change layout to 'desktop view'

@subpub Why did you need to force 'desktop view'?


Question: nWidart/laravel-modules vs caffeinated/modules

Hi Community,
with the recent hours and even days I'm looking for a good start for a large application with a modular concept and multi tenant (SaaS)(https://github.com/hyn/multi-tenant). So I located the both packages nWidart/laravel-modules & caffeinated/modules, which looks somehow similar. nWidart has some more github stars, but any additional features (e.g. more stable, works with multi tenants,...) compared to caffeinated?
Thank you for your support.

https://github.com/caffeinated/modules/issues/365

Personally I prefer caffienated. However, at the moment, I have problems with getting config files to publish for 5.6 laravel.
Have you tried both yet?

No I haven't, I just collect information for a bigger project, >20 modules, 10-20 tenants each 250-150.000 user total. So I need something with a quick support and which is easy to adapt. Using Laravel 5.6. Why to you prefer caffeinated, is it lighter or more flexible? I'm not impressed by the community yet. Seems that Pull requests takes very long.

Code review is subjective but I like how caffinated sticks with laravel progression. At one time, this place used to be quick.
nWidart is based off ping-pong modules and is heavily based on Laravel 5.0. However, nWidart keeps on top of things and has really moved his port forward a lot. I am having troubles with things like mergeconfig. However, it works and that is what I needed to move to while waiting for the publish:config gets fixed in caffinated. I will more than likely back port. To be honest, I'm a bit of caffinated fan boi.
I didn't use hyn when I built a multi-tenancy app with Laravel 5.1 (back then) since it was still beta. I used my own solution since I wanted a single database but multi-site. However, if not mistake,  multi-tenancy should work with either of these module systems.
You should check out the orchestra platform (http://orchestraplatform.com/) however, I don't think it has been updated to 5.6 but I might be wrong. It has the tenancy and it's own module system. That developer is now involved with the Laravel core if not mistaken.


Omnipay custom gateway dev

Hey, i'm working on new gateway.
Added to json, installed. I can use it. Having some errors, but I will find the way to fix them.
I'm missing basic of omnipay steps.
Once i run ('custom_gateway')->send(); i want to know where it goes step by step.
response.php
request.php
complete...
I need to make two options: redirect and iframe.
I didnt find any good docs about omnipay. Could you please point me?
I'll make a tutorial after it will work.
Thanks a lot.

Hey
Have a lot at this http://omnipay.thephpleague.com/


Update README.md

Added blueprint for using Light and Control menu items

Forgot to make gist public before committing PR. That is fixed now.


Remove ruby-sass option from Theme Generator as it's no longer required for Windows

Building with ruby-sass enabled in the package.json causes the build to fail with the error shown in the community post
(Ruby Sass (after resolving the dependency) code block): https://community.liferay.com/en_GB/forums/-/message_boards/message/110618170
It seems node-sass no longer requires Visual Studio, just node-gyp and Python to work, so ruby-sass is no longer needed.
Note: that issue is present on 8.0.0-beta.5 up to the current version

Hey @mwilliams2014, after setting rubySass to true, one should run npm install --save-dev gulp-ruby-sass to install the dependency.
Could you please check if that addresses the issue?

Hey @jbalsas , yeah I installed and saved the dev dependency, but it still gave me this error.

I'll give it another try to make sure

Confirmed, it still logs the following errors:
[10:00:46] Using gulpfile ~\Desktop\projects\themes\7-1-themes\test-theme\gulpfile.js
[10:00:46] Starting 'build'...
[10:00:46] Starting 'build:clean'...
[10:00:48] Finished 'build:clean' after 1.09 s
[10:00:48] Starting 'build:base'...
[10:00:53] Finished 'build:base' after 5.38 s
[10:00:53] Starting 'build:src'...
[10:00:53] Finished 'build:src' after 14 ms
[10:00:53] Starting 'build:web-inf'...
[10:00:53] Finished 'build:web-inf' after 2.6 ms
[10:00:53] Starting 'build:liferay-look-and-feel'...
[10:00:53] Finished 'build:liferay-look-and-feel' after 18 ms
[10:00:53] Starting 'build:hook'...
[10:00:53] Finished 'build:hook' after 8.61 ms
[10:00:53] Starting 'build:themelets'...
[10:00:53] Starting 'build:themelet-src'...
[10:00:53] Finished 'build:themelet-src' after 1.04 ms
[10:00:53] Starting 'build:themelet-css-inject'...
[10:00:53] Starting 'build:themelet-js-inject'...
[10:00:53] gulp-inject Nothing to inject into _custom.scss.
[10:00:53] Finished 'build:themelet-css-inject' after 48 ms
[10:00:53] gulp-inject Nothing to inject into portal_normal.ftl.
[10:00:53] Finished 'build:themelet-js-inject' after 24 ms
[10:00:53] Finished 'build:themelets' after 78 ms
[10:00:53] Starting 'build:rename-css-dir'...
[10:00:53] Finished 'build:rename-css-dir' after 3.66 ms
[10:00:53] Starting 'build:compile-css'...
[10:00:53] Starting 'build:compile-ruby-sass'...
[10:00:54] error build/_css/clay/variables/_bs4-variable-overwrites.scss (Line 11: Invalid CSS after "...nput-margin-x: ": expected expression (e.g. 1px, bold), was "!default;")
[10:00:54] write ./\font_awesome.css
[10:00:55] error build/_css/clay/variables/_bs4-variable-overwrites.scss (Line 11: Invalid CSS after "...nput-margin-x: ": expected expression (e.g. 1px, bold), was "!default;")
[10:00:55] Finished 'build:compile-ruby-sass' after 1.65 s
[10:00:55] Finished 'build:compile-css' after 1.65 s
[10:00:55] Starting 'build:fix-url-functions'...
[10:00:55] Finished 'build:fix-url-functions' after 196 μs
[10:00:55] Starting 'build:move-compiled-css'...
[10:00:58] Finished 'build:move-compiled-css' after 2.85 s
[10:00:58] Starting 'build:remove-old-css-dir'...
[10:00:58] Finished 'build:remove-old-css-dir' after 336 ms
[10:00:58] Starting 'build:fix-at-directives'...
[10:00:58] Finished 'build:fix-at-directives' after 36 ms
[10:00:58] Starting 'build:r2'...
[10:00:58] Finished 'build:r2' after 86 ms
[10:00:58] Starting 'build:war'...
[10:00:58] Starting 'plugin:version'...
[10:00:58] Finished 'plugin:version' after 11 ms
[10:00:58] Starting 'plugin:war'...
[10:01:05] Finished 'plugin:war' after 6.49 s
[10:01:05] Finished 'build:war' after 6.51 s
[10:01:05] Finished 'build' after 18 s

Hey @mwilliams2014, that seems to be a completely different error to the one pointed out at the forum. In there, the user is clearly missing installing the dependency and that's what the error message is signaling.
This showing looks like a problem with ruby sass and our source files, which is I thing a different problem.
@pat270, could you take a look at this?

@jbalsas, it's the same error listed on the forums at the bottom in the Ruby Sass (after resolving the dependency): error log

Got it, I missed that! I think it's an error on our css, then, probably nothing to fix here. @pat270, please confirm when you can! :)

Ah, ok. Since ruby-sass is no longer required for Windows, I think the option can be removed. We also just removed this information from the documentation. Running with node-sass, without Visual Studio, works on Windows now, so the alternative is no longer required.

@jbalsas @mwilliams2014 The Ruby Sass issue was fixed in https://github.com/liferay/clay/issues/1270 which was released with Clay 2.5.0. I'll answer the forum question.

So this issue is fixed now, and will be fixed in the next release of the generator for freshly generated themes? I never used .sass files, just .scss files.

It didn't seem like he was trying to parse .sass files from the post. Node Sass can parse .sass files you just need to pass a setting indentedSyntax: true,.
I'm guessing you can pass it through sassOptions in package.json like so:
	"liferayTheme": {
		"baseTheme": "styled",
		"screenshot": "",
		"rubySass": false,
                "sassOptions": {
                     indentedSyntax: true,
                 },
		"templateLanguage": "ftl",
		"version": "7.1"
	},

I haven't tested it but there is some documentation at https://github.com/liferay/liferay-themes-sdk/tree/master/packages/liferay-theme-tasks#sassoptions.

Setting ruby-sass to false and just using node-sass, with python and node-gyp installed, works for windows, so we don't need ruby-sass. At any rate, I can add this info to our reference docs perhaps.

I think the problem is simply that we're still installing the old unstyled and styled versions from https://github.com/liferay/liferay-themes-sdk/blob/master/packages/liferay-theme-deps-7.1/package.json#L9-L10


Train and stream

Hello, thank you for the excellent engine. Could you please assist me in training, testing, and streaming for wake word detection? I couldn't find any guidance on these aspects on the GitHub page.

For streaming wakeup word detection, you can follow this guideline (https://github.com/wenet-e2e/wekws/blob/main/runtime/android/README.md).
If you need assistance in training your model, you can refer to the "run.sh" script for a step-by-step guide that covers both training and testing.


Gain and Exposure camera settings don't wrap correctly

Release 4.5 move models in steam vr are stuck together at the bulbs

I think this might be related to Issue #94. There was a recent change to SteamVR that affects hand controller roles that I think is causing this issue for some people. Would you mind giving this custom build of psmoveservice a try: https://drive.google.com/open?id=0B5GgUbBXlQ1ua252U3dfdGV6NUk. And make sure to re-install the steamvr driver when you try this custom build out (since the potential fix is in the steamvr plugin not the service).

OK will do

It could also be a masking problem. If the cyan mask is actually looking at magenta, or visa versa, this would happen. Might be worth a quick check.

Oh that is a great point actually @zelmon64! I think I've seen something like that in the past when the lighting conditions weren't great in the room I was testing in. Enough of the 1st controllers color bled through into the second colors filter that it picked it up the 1st controller's bulb for the second controller.

How do you make sure the cyan mask is looking at cyan vice versa?

I did the calibrations with little light is that good or bad?

So you can't show magenta move when you are using cyan in tool? If so that's why. I showed both at same color.

Are both controllers supposed to be lit when first using tools. Because only the one was lit.

@pearce31 The colour calibration is only done with the first controller. There are plans to enable the other controllers to ensure there's no cross-talk. For the moment you can decrease the three range values to their minimum suitable tolerance.
If you didn't know, the short cut to setting the values is to right click on where the PSMove orb is shown on the live camera feed.

Sorry really confused I don't know where the info gets sent when right clicking bulb. Where do I enter the info?

@pearce31 Have you gone through this wiki page? When right-clicking the orb it sets the values in the Controller Color section. The three range values are also in that part of the window. Don't forget to save.

Yes but don't understand the complete process to do on step 4

If its just to only right click the bulb I've done that

If it's done correctly you should then be able to see the orb with the masked Video Filter Mode. You can then manually reduce the range values.

Yes the bulb is filled in in masked mode. But bulbs are stuck together in steam vr inside hmd

Yes, that is why I am suggesting to minimize the range values. Have you tried that yet?

Alternatively, if you turn a PSMove off then back on while PSMoveErvice is running, it will reconnect as a different controller number and therefore a different colour.

OK thanks appreciate the help I will try and write back.

theres no issue with the service. i was making a stupid mistake the whole time. ps move service is awesome. now just need osvr tracker camera update to make it work great without the drift and jumpiness.

 If you don't mind me asking, what was the mistake? If it was caused by a usability issue i'd love to hear about it so that we can make the tool easier to use.

when i was adjusting the gain and exposure i thought when everything got to the brightest then went back to the darkest that it was completely looping. i didnt even realise it wasnt. it was just increasing more and more and i was putting the gain and exposure way too high which caused the problem.

Ah! That is definitely a bug on our part. It should loop those values. I will update the issue title and re-label this a bug.

glad to help. great work your doing. thanks so much! keep it up!

ok. so i checked again. and exposure is looping correctly but gain is the one that keeps increasing in values and this is in the 4.5.1 build you posted here from drive.


A few more Plain English changes

Overview
TL;DR
Did a bit more Plain English and Grammarly.com checking of some of the "Help! It's all gone horribly wrong" sections.

@janedallaway Thank you! 🙇♀  I'm going to ping some of the other trainers to help out with review - I think these look great!

@janedallaway thank you for continuing to help us English. We appreciate your 🦅 👀 .


upgrade instructions for kubernetes don't seem to work

even just running kubectl apply twice seems to fail:
root@ubuntu-s-2vcpu-4gb-lon1-01:~# kubectl apply -f https://get.dotmesh.io/yaml/dotmesh.yaml
serviceaccount "dotmesh" configured
clusterrole "dotmesh" configured
clusterrolebinding "dotmesh" configured
service "dotmesh" configured
daemonset "dotmesh" configured
serviceaccount "dotmesh-provisioner" configured
clusterrole "dotmesh-provisioner-runner" configured
clusterrolebinding "dotmesh-provisioner" configured
deployment "dotmesh-dynamic-provisioner" configured
storageclass "dotmesh" configured
Error from server: Object 'Kind' is missing in '{"object":{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"etcd.database.coreos.com/v1beta2\",\"kind\":\"EtcdCluster\",\"metadata\":{\"annotations\":{},\"name\":\"dotmesh-etcd-cluster\",\"namespace\":\"dotmesh\"},\"spec\":{\"size\":3,\"version\":\"3.1.8\"}}\n"},"clusterName":"","creationTimestamp":"2018-02-19T10:25:07Z","generation":0,"name":"dotmesh-etcd-cluster","namespace":"dotmesh","resourceVersion":"315708","selfLink":"/apis/etcd.database.coreos.com/v1beta2/namespaces/dotmesh/etcdclusters/dotmesh-etcd-cluster","uid":"283800f1-155f-11e8-843c-4ed2bd88eda8"},"spec":{"baseImage":"quay.io/coreos/etcd","size":3,"version":"3.1.8"},"status":{"conditions":[{"reason":"Current cluster size: 0, desired cluster size: 3","transitionTime":"2018-02-19T10:25:07Z","type":"ScalingUp"},{"reason":"Current cluster size: 1, desired cluster size: 3","transitionTime":"2018-02-19T10:25:15Z","type":"ScalingUp"},{"reason":"Current cluster size: 2, desired cluster size: 3","transitionTime":"2018-02-19T10:25:36Z","type":"ScalingUp"},{"reason":"Current cluster size: 2, desired cluster size: 3","transitionTime":"2018-02-19T10:25:44Z","type":"ScalingUp"},{"reason":"","transitionTime":"2018-02-19T10:25:54Z","type":"Ready"}],"controlPaused":false,"currentVersion":"3.1.8","members":{"ready":["dotmesh-etcd-cluster-0001","dotmesh-etcd-cluster-0000","dotmesh-etcd-cluster-0002"]},"phase":"Running","reason":"","size":3,"targetVersion":""}}}'

root@ubuntu-s-2vcpu-4gb-lon1-01:~# kubectl version
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.11", GitCommit:"b13f2fd682d56eab7a6a2b5a1cab1a3d2c8bdd55", GitTreeState:"clean", BuildDate:"2017-11-25T18:34:52Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.12", GitCommit:"3bda299a6414b4866f179921610d6738206a18fe", GitTreeState:"clean", BuildDate:"2017-12-29T08:39:49Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Cluster created with kubeadm.

Possibly docs workaround to run kubectl delete namespace dotmesh first.

This was done by splitting the etcd upgrade instructions into a separate thing. Etcd upgrades are the responsibility of the users to maintain and upgrade.


install script with binary payload as release artifact?

You can embed tar.gz files into installation scripts, and the installation script will automatically extract the tarball and then install it. This means that there are now only two installation steps for users:
$ wget https://github.com/sourceryinstitute/opencoarrays/some-path/1.2.0/install.sh
$ ./install.sh # tarball is self extracted from this file

instead of:
$ wget https://github.com/sourceryinstitute/opencoarrays/releases/download/1.2.0/opencoarrays-1.2.0.tar.gz
$ tar xzvf opencoarrays-1.2.0.tar.gz
$ cd opencoarrays-1.2.0
$ ./install.sh

I can submit a PR with edits to accomplish this, if you like. (But first I want to understand why branch-1.0.0 and master have diverged so much, and which branch I should submit the PR against. Here is a link to an article describing how you can do this sort of thing: http://www.linuxjournal.com/content/add-binary-payload-your-shell-scripts.
And this is how to add artifacts to releases:
https://help.github.com/articles/creating-releases/
(Make sure to add a note with the cryptographic hash of the shell script, though to make sure it hasn't been tampered with.

I love this idea!  Please submit a pull request with your suggested implementation.

Hi Damian,
What is your current workflow to publish a new release with download artifact?
I'm not sure if a PR is appropriate; there are two directions we could go:

A PR contributing a script which will do the following:

package the release according to your current workflow (tar etc.)
write out a bundled install script which will

Self extract the payload (tarball created during release packaging)
cd to the extracted source-code/OCA distribution
Run the install.sh script located in the root directory of the extracted tree

I could just build the self-extracting script (as above) each time you have a new release and send it to you. You could then amend the release to add it.

I should have an example of this (method 2) to you shortly.

Also, it would be nice to uuencode the binary data, however I tested some systems that I use and uudecode does not seem to be universally available, so I think it's best to just package the payload as a raw binary.

Hi Damian,
To create a bundled installer script just do something like:
cat bundle-install.sh.in opencoarrays-1.2.1.tar.gz > opencoarrays-1.2.1-bundle-install.sh

Here is the boilerplate bundled install script, bundle-instal.sh.in:
#!/bin/bash
#
# bundled-install-OCA
#
# -- This script self extracts the OpenCoarrays (OCA) distribution and then queries
# the user if they want to continue to install OCA and its prerequisites, via the
# install.sh script packaged in the root directory of the OpenCoarrays project.
#
# OpenCoarrays is distributed under the OSI-approved BSD 3-clause License:
# Copyright (c) 2015, Sourcery, Inc.
# Copyright (c) 2015, Sourcery Institute
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
#    list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice, this
#    list of conditions and the following disclaimer in the documentation and/or
#    other materials provided with the distribution.
# 3. Neither the names of the copyright holders nor the names of their contributors
#    may be used to endorse or promote products derived from this software without
#    specific prior written permission.

# IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

OCA_DIR_NAME="opencoarrays" # when untaring, what will the directory be called?

function verify_payload()
{
    match=$(grep --text --line-number '^PAYLOAD:$' $0 | cut -d ':' -f 1)
    payload_start=$((match + 1))
    tail -n +$payload_start $0 | tar -tzvf -
}

function untar_payload()
{
    match=$(grep --text --line-number '^PAYLOAD:$' $0 | cut -d ':' -f 1)
    payload_start=$((match + 1))
    tail -n +$payload_start $0 | tar -xzvf -
}

if [[ $1 == '--verify' ]]; then
    echo "Attempting to verify integrity of OpenCoarrays bundle..."
    echo ""
    verify_payload
    exit $?
fi

echo "Extracting OpenCoarrays source tree..."

untar_payload && echo "" && echo "Extraction successful"

echo ""
echo "Changing directories to OpenCoarrays source tree, $OCA_DIR_NAME"

cd "$OCA_DIR_NAME"

echo ""

echo "Passing supplied command line arguments to $OCA_DIR_NAME/install.sh"

./install.sh "$@"

cd -

exit 0

# binary payload starts after special marker. Script should stop
# being parsed before it gets here.
PAYLOAD:

I'll also email you the resulting bundled script, as I can't seem to upload it here.

It may make more sense to use makeself a widely tested and employed script for making self extracting archives. We could add this as a git submodule or with subtree merge, since, the only time we will need it is when we ship a release. Or, we could even not include it in the repo at all, and have Travis-CI detect tags, run the git-archive and then makeself and upload as a release artifact to Github.

I am close to having this done as part of my broader automation and test-matrix expansion PR that has been in the works (intermittently) for a few weeks now.

:clap:

If we add this feature, it will have to be an additional download in addition to the tarball release asset, due to homebrew, and advanced users wanting to just build via cmake instead of install.sh.... I'm tempted to close this issue as a won't fix... since I'm not entirely sure how much added value it actually provides. What do you think, @rouson? Presumably, if we offer both, I guess that means that the advanced users just get the tarball and the other users can get the self extracting script. One advantage of the self extracting script is that the GPG signature and SHA256 checksum could be verified automatically on machines that have GPG installed.... I'm torn.

I probably don't understand everything involved, but I'd say it's fine to close it.

I like this idea, however I feel that fragmenting our release assets further (the zip files github automatically makes) in addition to a self-extracting script is just going to make analytics more annoying (i.e. how many people have downloaded and installed OC) and confuse potential users. I've decided to close this as won't fix, but I'm open to counter arguments.


make the dartpad source strong mode compliant

Make the dartpad source strong mode compliant. Note: most (nearly all) of our issues are in direct and transitive package imports.

https://github.com/dart-lang/dart-pad/issues/694


the small data size training.

Thanks for your work. I trained the musicnn as your suggestion because I only have 1K train data. I finetune the musicnn last ten layer with the pretrained model you provided which is trained with MSD dataset. the result show me that:

Does that look right ? thanks in advace.

It looks like your model is overfitted to your training data. I recommend you to fine-tune only the last 1~2 dense layers and also try strong data augmentation for your inputs. You can find a useful data augmentation tool here.
https://github.com/Spijkervet/torchaudio-augmentations.git

It looks like your model is overfitted to your training data. I recommend you to fine-tune only the last 1~2 dense layers and also try strong data augmentation for your inputs. You can find a useful data augmentation tool here.
https://github.com/Spijkervet/torchaudio-augmentations.git

thanks for your reply. I will try it.

I only try last dense layer.maybe it works. but the pr and roc is low than the model trained all layer.


using same styles in different .xlsx.axlsx views

I've different .xlsx.axlsx views which are using almost same styles. i want to declare them at one common place and re-use them to avoid duplication of code. what is best way to do it ?

I just use a helper
for example
#AxlsxHelper.rb
module XlsxHelper   def style_for_body(style)     style.add_style(border: Axlsx::STYLE_THIN_BORDER)   end end
#export.axlsx.xlsx
`wb = xlsx_package.workbook
wb.styles do |style|
body_style = style_for_body(style)
wb.add_worksheet(name: "Users") do |sheet|
@users.each do |user|
sheet.add_row row, style: body_style
end
end
end
`


forked tfchain with fork-off-substarte not finalizing blocks

I tried to run fork-off-substrate, but seems some instructions are missing.
I documented here step by step what I did. This is part of a draft PR here to revise the development docs.
Can you advise what is missing or going wrong @DylanVerstraete ?
01:51:25 sameh@sameh-inspiron-3576 ~/projects/tfchain/tools/fork-off-substrate
❯ HTTP_RPC_ENDPOINT=https://tfchain.dev.grid.tf ALICE="true" npm start

><EMAIL_ADDRESS>start
> node index.js

We are intentionally using the HTTP endpoint. If you see any warnings about that, please ignore them.
Custom Schema missing, using default schema.
2023-08-02 12:51:51        API/INIT: Api will be available in a limited mode since the provider does not support subscriptions
2023-08-02 12:51:52        API/INIT: RPC methods not decorated: transaction_unstable_submitAndWatch, transaction_unstable_unwatch
Reusing cached storage. Delete ./data/storage.json and rerun the script if you want to fetch latest storage
2023-08-02 13:51:53 Building chain spec
2023-08-02 13:51:53 Building chain spec
Forked genesis generated successfully. Find it at ./data/fork.json

01:51:54 sameh@sameh-inspiron-3576 ~/projects/tfchain/tools/fork-off-substrate
❯ ./data/binary --chain ./data/fork.json --alice
2023-08-02 13:52:23 Substrate Node
2023-08-02 13:52:23 ✌  version 2.5.0-rc7-78f9b5195ac
2023-08-02 13:52:23 ❤  by<EMAIL_ADDRESS>2017-2023
2023-08-02 13:52:23 📋 Chain specification: TF Chain Live-fork
2023-08-02 13:52:23 🏷  Node name: Alice
2023-08-02 13:52:23 👤 Role: AUTHORITY
2023-08-02 13:52:23 💾 Database: RocksDb at /home/sameh/.local/share/binary/chains/tfchain_live-fork/db/full
2023-08-02 13:52:23 ⛓  Native runtime: substrate-threefold-145 (substrate-threefold-1.tx2.au1)
2023-08-02 13:52:35 Using default protocol ID "sup" because none is configured in the chain specs
2023-08-02 13:52:35 🏷  Local node identity is: 12D3KooWCPcD2a3MprMKsVnyHnujLCctbnQg7er9pEbd4gEG5FtV
2023-08-02 13:52:35 💻 Operating system: linux
2023-08-02 13:52:35 💻 CPU architecture: x86_64
2023-08-02 13:52:35 💻 Target environment: gnu
2023-08-02 13:52:35 💻 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
2023-08-02 13:52:35 💻 CPU cores: 4
2023-08-02 13:52:35 💻 Memory: 15736MB
2023-08-02 13:52:35 💻 Kernel: 5.19.5-051905-generic
2023-08-02 13:52:35 💻 Linux distribution: Ubuntu 22.04.2 LTS
2023-08-02 13:52:35 💻 Virtual machine: no
2023-08-02 13:52:35 📦 Highest known block at #0
2023-08-02 13:52:35 〽 Prometheus exporter started at <IP_ADDRESS>:9615
2023-08-02 13:52:35 Running JSON-RPC HTTP server: addr=<IP_ADDRESS>:9933, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 13:52:35 Running JSON-RPC WS server: addr=<IP_ADDRESS>:9944, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 13:52:35 💔 The bootnode you want to connect to at `/ip4/<IP_ADDRESS>/tcp/30333/p2p/12D3KooWEfHSfdVy738QyNg5RJE47rGdgNq8pt6qVxHVnQyFsCx1` provided a different peer ID `12D3KooWCPcD2a3MprMKsVnyHnujLCctbnQg7er9pEbd4gEG5FtV` than the one you expect `12D3KooWEfHSfdVy738QyNg5RJE47rGdgNq8pt6qVxHVnQyFsCx1`.
2023-08-02 13:52:35 💔 The bootnode you want to connect to at `/ip4/<IP_ADDRESS>/tcp/30333/p2p/12D3KooWEfHSfdVy738QyNg5RJE47rGdgNq8pt6qVxHVnQyFsCx1` provided a different peer ID `12D3KooWCPcD2a3MprMKsVnyHnujLCctbnQg7er9pEbd4gEG5FtV` than the one you expect `12D3KooWEfHSfdVy738QyNg5RJE47rGdgNq8pt6qVxHVnQyFsCx1`.
2023-08-02 13:52:40 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0.2kiB/s ⬆ 0.2kiB/s
2023-08-02 13:52:45 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:52:50 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:52:55 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:00 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:05 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:10 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:15 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:20 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:25 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:30 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:35 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:40 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:45 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:50 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:53:55 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:54:00 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
2023-08-02 13:54:05 💤 Idle (0 peers), best: #0 (0xb594…a651), finalized #0 (0xb594…a651), ⬇ 0 ⬆ 0
^C

Are you sure you aren't used cached data? See
Reusing cached storage. Delete ./data/storage.json and rerun the script if you want to fetch latest storage

In the output of the script.

Which version of tfchain did you compile and use in the data dir?

Which version of tfchain did you compile and use in the data dir?

latest development

are you sure you aren't used cached data?

I Cleared it and now see an error complaining about unsafe rpc call, so i guess the only option is to run a node locally with unsafe rpc flag, right?
Now, I started a local node with dev net spec as mentioned here
By default it will use full sync mode, If I left it syncing, and run fork-off-substrate to generate the fork.json and used it to start the forkd chain, still not producing blocks. do I need to let the node fully synced first before trying to run the tool against it.
If yes, is there a shortcut for saving the time? also it could required a lot of storage that not available on my machine atm.
I tried to start the node with --sync fast  and --sync wrap but both looks like not progressing (I can open another issue for that as well)

with --sync warp
02:43:46 sameh@sameh-inspiron-3576 ~/projects/tfchain/tools/fork-off-substrate
❯ ../../substrate-node/target/debug/tfchain --chain ../../substrate-node/chainspecs/dev/chainSpecRaw.json --ws-external --rpc-methods Unsafe --sync warp
2023-08-02 14:43:54 Substrate Node
2023-08-02 14:43:54 ✌  version 2.5.0-rc7-78f9b5195ac
2023-08-02 14:43:54 ❤  by<EMAIL_ADDRESS>2017-2023
2023-08-02 14:43:54 📋 Chain specification: TF Chain Devnet
2023-08-02 14:43:54 🏷  Node name: keen-truck-8090
2023-08-02 14:43:54 👤 Role: FULL
2023-08-02 14:43:54 💾 Database: RocksDb at /home/sameh/.local/share/tfchain/chains/tfchain_devnet/db/full
2023-08-02 14:43:54 ⛓  Native runtime: substrate-threefold-145 (substrate-threefold-1.tx2.au1)
2023-08-02 14:43:58 🔨 Initializing Genesis block/state (state: 0x6a2e…4030, header-hash: 0xbb7f…66be)
2023-08-02 14:43:58 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.
2023-08-02 14:44:02 Using default protocol ID "sup" because none is configured in the chain specs
2023-08-02 14:44:02 🏷  Local node identity is: 12D3KooWAiR6YTUUGpqVWuU86W2jboviFVUQkdVsGiAXAnKeiAUF
2023-08-02 14:44:02 💻 Operating system: linux
2023-08-02 14:44:02 💻 CPU architecture: x86_64
2023-08-02 14:44:02 💻 Target environment: gnu
2023-08-02 14:44:02 💻 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
2023-08-02 14:44:02 💻 CPU cores: 4
2023-08-02 14:44:02 💻 Memory: 15736MB
2023-08-02 14:44:02 💻 Kernel: 5.19.5-051905-generic
2023-08-02 14:44:02 💻 Linux distribution: Ubuntu 22.04.2 LTS
2023-08-02 14:44:02 💻 Virtual machine: no
2023-08-02 14:44:02 📦 Highest known block at #0
2023-08-02 14:44:02 〽 Prometheus exporter started at <IP_ADDRESS>:9615
2023-08-02 14:44:02 Running JSON-RPC HTTP server: addr=<IP_ADDRESS>:9933, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 14:44:02 Running JSON-RPC WS server: addr=<IP_ADDRESS>:9944, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 14:44:03 🔍 Discovered new external address for our node: /ip4/<IP_ADDRESS>/tcp/30333/ws/p2p/12D3KooWAiR6YTUUGpqVWuU86W2jboviFVUQkdVsGiAXAnKeiAUF
2023-08-02 14:44:07 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 496.6kiB/s ⬆ 19.2kiB/s
2023-08-02 14:44:21 ⏩ Warping, Downloading finality proofs, 0.00 Mib (7 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 269.2kiB/s ⬆ 1.2kiB/s
2023-08-02 14:44:26 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 784.7kiB/s ⬆ 11.8kiB/s
2023-08-02 14:44:38 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 186.6kiB/s ⬆ 0.1kiB/s
2023-08-02 14:44:43 ⏩ Warping, Downloading finality proofs, 0.00 Mib (7 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 976.0kiB/s ⬆ 4.4kiB/s
2023-08-02 14:44:55 ⏩ Warping, Downloading finality proofs, 0.00 Mib (7 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 102.9kiB/s ⬆ 0.5kiB/s
2023-08-02 14:45:00 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 928.4kiB/s ⬆ 4.2kiB/s
2023-08-02 14:45:12 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 114.3kiB/s ⬆ 1.2kiB/s
2023-08-02 14:45:17 ⏩ Warping, Downloading finality proofs, 0.00 Mib (6 peers), best: #0 (0xbb7f…66be), finalized #0 (0xbb7f…66be), ⬇ 940.2kiB/s ⬆ 4.1kiB/s

with --sync fast seems progressing but gives a lot of errors
02:46:33 sameh@sameh-inspiron-3576 ~/projects/tfchain/tools/fork-off-substrate
❯ ../../substrate-node/target/debug/tfchain --chain ../../substrate-node/chainspecs/dev/chainSpecRaw.json --ws-external --rpc-methods Unsafe --sync fast
2023-08-02 14:46:41 Substrate Node
2023-08-02 14:46:41 ✌  version 2.5.0-rc7-78f9b5195ac
2023-08-02 14:46:41 ❤  by<EMAIL_ADDRESS>2017-2023
2023-08-02 14:46:41 📋 Chain specification: TF Chain Devnet
2023-08-02 14:46:41 🏷  Node name: obedient-door-6028
2023-08-02 14:46:41 👤 Role: FULL
2023-08-02 14:46:41 💾 Database: RocksDb at /home/sameh/.local/share/tfchain/chains/tfchain_devnet/db/full
2023-08-02 14:46:41 ⛓  Native runtime: substrate-threefold-145 (substrate-threefold-1.tx2.au1)
2023-08-02 14:46:45 🔨 Initializing Genesis block/state (state: 0x6a2e…4030, header-hash: 0xbb7f…66be)
2023-08-02 14:46:45 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.
2023-08-02 14:46:49 Using default protocol ID "sup" because none is configured in the chain specs
2023-08-02 14:46:49 🏷  Local node identity is: 12D3KooWAiR6YTUUGpqVWuU86W2jboviFVUQkdVsGiAXAnKeiAUF
2023-08-02 14:46:49 💻 Operating system: linux
2023-08-02 14:46:49 💻 CPU architecture: x86_64
2023-08-02 14:46:49 💻 Target environment: gnu
2023-08-02 14:46:49 💻 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
2023-08-02 14:46:49 💻 CPU cores: 4
2023-08-02 14:46:49 💻 Memory: 15736MB
2023-08-02 14:46:49 💻 Kernel: 5.19.5-051905-generic
2023-08-02 14:46:49 💻 Linux distribution: Ubuntu 22.04.2 LTS
2023-08-02 14:46:49 💻 Virtual machine: no
2023-08-02 14:46:49 📦 Highest known block at #0
2023-08-02 14:46:49 〽 Prometheus exporter started at <IP_ADDRESS>:9615
2023-08-02 14:46:49 Running JSON-RPC HTTP server: addr=<IP_ADDRESS>:9933, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 14:46:49 Running JSON-RPC WS server: addr=<IP_ADDRESS>:9944, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2023-08-02 14:46:50 🔍 Discovered new external address for our node: /ip4/<IP_ADDRESS>/tcp/30333/ws/p2p/12D3KooWAiR6YTUUGpqVWuU86W2jboviFVUQkdVsGiAXAnKeiAUF
2023-08-02 14:46:50 Unable to pin block for finality notification. hash: 0xfc37…783a, Error: UnknownBlock: State already discarded for `0xfc37fe868195d09962a802f21419a480e77db99f650ad0471ebf9a7ef420783a`
2023-08-02 14:46:51 Unable to pin block for finality notification. hash: 0x76bb…2003, Error: UnknownBlock: State already discarded for `0x76bb64dc4ab55a710a4fd193abdca626506ccb6330bf62815045972570c32003`
2023-08-02 14:46:51 Unable to pin block for finality notification. hash: 0x83ee…ad8f, Error: UnknownBlock: State already discarded for `0x83ee784b30a1c0334813858b3c69092792107c455ffa18a6751f87b598cbad8f`
2023-08-02 14:46:52 Unable to pin block for finality notification. hash: 0x2084…41c6, Error: UnknownBlock: State already discarded for `0x20849887d1f8506b59a3b2607be8501115ed3f797949791c1402dcf48f8941c6`
2023-08-02 14:46:52 Unable to pin block for finality notification. hash: 0xb0c5…1cab, Error: UnknownBlock: State already discarded for `0xb0c5efe982f2d0d1aba12a5b7200ab8b2a66c49f932b37090e125da29ae31cab`
2023-08-02 14:46:53 Unable to pin block for finality notification. hash: 0x72cf…d65f, Error: UnknownBlock: State already discarded for `0x72cf9a1095b1a44735df2d954248ded12f2982c15a0bd978d1cb739d7660d65f`
2023-08-02 14:46:53 Unable to pin block for finality notification. hash: 0x7ae9…5c86, Error: UnknownBlock: State already discarded for `0x7ae929f145966caf90e828d80cd37ada134c558a250ae464b83f1a20266f5c86`
2023-08-02 14:46:54 ⚙  Syncing, target=#6949549 (4 peers), best: #0 (0xbb7f…66be), finalized #3584 (0x7ae9…5c86), ⬇ 215.2kiB/s ⬆ 7.2kiB/s
2023-08-02 14:46:54 Unable to pin block for finality notification. hash: 0x23ba…8ae8, Error: UnknownBlock: State already discarded for `0x23ba3aec389af70d47f8a9e16888ec240c8c5404964f687e68dfd21931e18ae8`
2023-08-02 14:46:55 Unable to pin block for finality notification. hash: 0x9d01…9736, Error: UnknownBlock: State already discarded for `0x9d0151ad9758b98c6d940be587636492b21f59f95858c7c08e81b3c5becc9736`
2023-08-02 14:46:55 Unable to pin block for finality notification. hash: 0x766f…661f, Error: UnknownBlock: State already discarded for `0x766fa0142ed84b9198f1dce2865bb040db8ae90076b08c01d79ff47920fe661f`
2023-08-02 14:46:56 Unable to pin block for finality notification. hash: 0xc521…f20f, Error: UnknownBlock: State already discarded for `0xc5219669df1ad8021d844cb1f5e119d6da5c8a00725e8a1047abd33b9b6cf20f`
2023-08-02 14:46:56 Unable to pin block for finality notification. hash: 0x77b4…0c34, Error: UnknownBlock: State already discarded for `0x77b4bba2965822444d8718c04239b1ab04ccb497dde6c19edfc1adc3e9e50c34`
2023-08-02 14:46:57 Unable to pin block for finality notification. hash: 0xa670…97ed, Error: UnknownBlock: State already discarded for `0xa6703c8dfe786758fa429a5b96f349a34a622ad136d8b9a56f9096a25bd897ed`
2023-08-02 14:46:57 Unable to pin block for finality notification. hash: 0xa976…1ae3, Error: UnknownBlock: State already discarded for `0xa976eba08334df4a604e2826cd105cd27753ed7ee1b5e7163ba42104c14e1ae3`
2023-08-02 14:46:58 Unable to pin block for finality notification. hash: 0x667e…52e0, Error: UnknownBlock: State already discarded for `0x667ef0d434c84b957d813457e172f2f2306322541c469622e240bebeafb952e0`
2023-08-02 14:46:59 Unable to pin block for finality notification. hash: 0x9c83…c5fd, Error: UnknownBlock: State already discarded for `0x9c83d02e5a81be8804b275656b32db1a29a2ce415ab9af3e50f93dfeb206c5fd`
2023-08-02 14:46:59 ⚙  Syncing  0.0 bps, target=#6949549 (4 peers), best: #0 (0xbb7f…66be), finalized #8192 (0x9c83…c5fd), ⬇ 225.8kiB/s ⬆ 3.6kiB/s
2023-08-02 14:46:59 Unable to pin block for finality notification. hash: 0x1676…2515, Error: UnknownBlock: State already discarded for `0x1676985f137a41fe67f7ed13ec7be99272ae461e1e14f96b6e0f48a218942515`
2023-08-02 14:46:59 Unable to pin block for finality notification. hash: 0xac74…eec9, Error: UnknownBlock: State already discarded for `0xac740e8562118f9dbd86bbe89adf3c41bd24cae93a0254d30403df6faef3eec9`
2023-08-02 14:47:00 Unable to pin block for finality notification. hash: 0xc71f…ec9b, Error: UnknownBlock: State already discarded for `0xc71f7831813a57b5f108ed00e8160bbe4ef49c937064dec7dc15033af1bcec9b`
2023-08-02 14:47:00 Unable to pin block for finality notification. hash: 0x310a…6c4e, Error: UnknownBlock: State already discarded for `0x310a2dc5d42763b49afb85dde266e24018f5328d75ebf927a994aaebf1386c4e`
2023-08-02 14:47:01 Unable to pin block for finality notification. hash: 0x16bb…9e66, Error: UnknownBlock: State already discarded for `0x16bb4ca98212e2c4fe8034a6edef7cf0200cc3ecc3cf5a9124cb51d2a1349e66`
2023-08-02 14:47:02 Unable to pin block for finality notification. hash: 0x1d7a…484b, Error: UnknownBlock: State already discarded for `0x1d7abb3b4582690e322ea705b7b7dadcefebf40175ba12264cf77900e18f484b`
2023-08-02 14:47:03 Unable to pin block for finality notification. hash: 0x228b…9830, Error: UnknownBlock: State already discarded for `0x228bc5a7746c6df1056cdce56178fd557f085050f5c3e8392bfe4220a5a39830`
2023-08-02 14:47:04 ⚙  Syncing  0.0 bps, target=#6949550 (4 peers), best: #0 (0xbb7f…66be), finalized #11776 (0x228b…9830), ⬇ 391.4kiB/s ⬆ 14.4kiB/s
2023-08-02 14:47:05 Unable to pin block for finality notification. hash: 0x8a12…d2f9, Error: UnknownBlock: State already discarded for `0x8a12d3c20110ff7ee3b58e5f28a51b710650b273303eb765da5b7df4c4d1d2f9`
2023-08-02 14:47:06 Unable to pin block for finality notification. hash: 0x4013…d8cc, Error: UnknownBlock: State already discarded for `0x4013f6ac4b9bedef49a11d623e2a9d1213932e075a71f6e34818978e388ad8cc`
2023-08-02 14:47:06 Unable to pin block for finality notification. hash: 0x7479…2ad1, Error: UnknownBlock: State already discarded for `0x7479be95b142ca5fe2d8c9bd3cce479cf03e59de73c4d12bfdbfd87fff032ad1`
2023-08-02 14:47:06 Unable to pin block for finality notification. hash: 0x0f77…45a0, Error: UnknownBlock: State already discarded for `0x0f77c274583a31577d948cb10154632d8a16136a93f7aec4fafe9f39532b45a0`
2023-08-02 14:47:07 Unable to pin block for finality notification. hash: 0xdee2…b1fb, Error: UnknownBlock: State already discarded for `0xdee292a789c06ac2dcdae3299d233046cfeeeee713e62f157258ae764d95b1fb`
2023-08-02 14:47:07 Unable to pin block for finality notification. hash: 0x4e51…df32, Error: UnknownBlock: State already discarded for `0x4e51716496534478655ec5b5c8b93add8c7f851da134a9386a17199f5adadf32`
2023-08-02 14:47:08 Unable to pin block for finality notification. hash: 0x21c6…0e6c, Error: UnknownBlock: State already discarded for `0x21c6fee34b9f3c19ce253b1f174ef81d0b39f22b402fa11b384d4331b3800e6c`
2023-08-02 14:47:09 Unable to pin block for finality notification. hash: 0x3ab5…60b2, Error: UnknownBlock: State already discarded for `0x3ab58d3bdee9c5eed7cc25e1929440eab08222a3dcd6d69e8f2df99daf3a60b2`
2023-08-02 14:47:09 ⚙  Syncing  0.0 bps, target=#6949551 (4 peers), best: #0 (0xbb7f…66be), finalized #15872 (0x3ab5…60b2), ⬇ 453.9kiB/s ⬆ 11.3kiB/s
2023-08-02 14:47:09 Unable to pin block for finality notification. hash: 0xa40c…fc30, Error: UnknownBlock: State already discarded for `0xa40c1144ba27c0185c60f7471186676be1be6e1809b3e9a88c1975734af5fc30`
2023-08-02 14:47:10 Unable to pin block for finality notification. hash: 0x6a75…74f0, Error: UnknownBlock: State already discarded for `0x6a75f45516ed28466498a1172bd50cb4bd10f73f049435e99d77f5494fec74f0`
2023-08-02 14:47:10 Unable to pin block for finality notification. hash: 0x4b66…137b, Error: UnknownBlock: State already discarded for `0x4b66bf551d0e4c660c675d5c3f360d5769149a302dd1f48bc701adf2447c137b`
2023-08-02 14:47:11 Unable to pin block for finality notification. hash: 0x5cd8…43d2, Error: UnknownBlock: State already discarded for `0x5cd814637f9bbc6cdeebca295139264591c818b54e62c46aa232439a339743d2`
2023-08-02 14:47:12 Unable to pin block for finality notification. hash: 0x5141…f5ec, Error: UnknownBlock: State already discarded for `0x51419592c2516be611d14e9e4e0450cc02c071f53f5f68e9229ba526bdf2f5ec`

Should I wait for the node to finish syncing in fast mode before running the script again?

You need to connect to a node that has unsafe rpc, see https://github.com/threefoldtech/tfchain/tree/development/tools/fork-off-substrate#network-list

So, @DylanVerstraete mentioned that fast and warp not supported for now.
while I'm waiting to get access to a running tfchain node for unsafe rpc operations, I did some cleaning/purge and start over, seems to have the forked chain partially working (creating blocks). but have new errors: Corrupted state and OffchainSignedTxError
logs:
Imported #36 (0x6d7b…ef78)
2023-08-02 18:44:54 No contracts to bill at block 36, index: 6
2023-08-02 18:44:54 Requested started id=1157 method=GET uri=https://horizon.stellar.org/paths/strict-receive?source_assets=USDC%3AGA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&destination_asset_type=credit_alphanum4&destination_asset_issuer=GBOVQKJYHXRR3DX6NOX2RRYFRCUMSADGDESTDNBDS6CDVLGVESRTAC47&destination_asset_code=TFT&destination_amount=100
2023-08-02 18:44:54 Got price: 8 mUSD
2023-08-02 18:44:54 Corrupted state at `[38, 170, 57, 78, 234, 86, 48, 224, 124, 72, 174, 12, 149, 88, 206, 247, 185, 157, 136, 14, 198, 129, 121, 156, 12, 243, 14, 136, 134, 55, 29, 169, 222, 30, 134, 169, 168, 199, 57, 134, 76, 243, 204, 94, 194, 190, 165, 159, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125]: Error`
2023-08-02 18:44:54 Corrupted state at `[38, 170, 57, 78, 234, 86, 48, 224, 124, 72, 174, 12, 149, 88, 206, 247, 185, 157, 136, 14, 198, 129, 121, 156, 12, 243, 14, 136, 134, 55, 29, 169, 222, 30, 134, 169, 168, 199, 57, 134, 76, 243, 204, 94, 194, 190, 165, 159, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125]: Error`
2023-08-02 18:44:54 Corrupted state at `[38, 170, 57, 78, 234, 86, 48, 224, 124, 72, 174, 12, 149, 88, 206, 247, 185, 157, 136, 14, 198, 129, 121, 156, 12, 243, 14, 136, 134, 55, 29, 169, 222, 30, 134, 169, 168, 199, 57, 134, 76, 243, 204, 94, 194, 190, 165, 159, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125]: Error`
2023-08-02 18:44:54 Corrupted state at `[38, 170, 57, 78, 234, 86, 48, 224, 124, 72, 174, 12, 149, 88, 206, 247, 185, 157, 136, 14, 198, 129, 121, 156, 12, 243, 14, 136, 134, 55, 29, 169, 222, 30, 134, 169, 168, 199, 57, 134, 76, 243, 204, 94, 194, 190, 165, 159, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125]: Error`
2023-08-02 18:44:54 (offchain call) Error submitting a transaction to the pool: Transaction pool error: Invalid transaction validity: InvalidTransaction::Payment
2023-08-02 18:44:54 failure: offchain_signed_tx: tx sent:
2023-08-02 18:44:54 OffchainSignedTxError

also there was an error when i lunched the script unable to map u16 to a lookup index, is this expected?
❯ npm start

><EMAIL_ADDRESS>start
> node index.js

We are intentionally using the HTTP endpoint. If you see any warnings about that, please ignore them.
Custom Schema missing, using default schema.
2023-08-02 17:57:30        API/INIT: Api will be available in a limited mode since the provider does not support subscriptions
2023-08-02 17:57:30        API/INIT: RPC methods not decorated: chainHead_unstable_body, chainHead_unstable_call, chainHead_unstable_follow, chainHead_unstable_genesisHash, chainHead_unstable_header, chainHead_unstable_stopBody, chainHead_unstable_stopCall, chainHead_unstable_stopStorage, chainHead_unstable_storage, chainHead_unstable_unfollow, chainHead_unstable_unpin, transaction_unstable_submitAndWatch, transaction_unstable_unwatch
2023-08-02 17:57:30        METADATA: Unknown types found, no types for BufferIndex, Burn, BurnTransaction, CertificationCodeType, CertificationCodes, CertificationType, Consumption, Contract, ContractBill, ContractBillingInformation, ContractResources, Entity, Farm, FarmingPolicy, Interface, Location, MintTransaction, Node, NruConsumption, Policy, PricingPolicy, PublicConfig, PublicIP, RefundTransaction, Resources, StellarSignature, StorageVersion, TermsAndConditions, Twin, U16F16, Validator, ValueStruct
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Unable to map u16 to a lookup index
Fetching current state of the live chain. Please wait, it can take a while depending on the size of your chain.
 ████████████████████████████████████████ 100% | ETA: 0s | 256/256
2023-08-02 18:57:32 Building chain spec
2023-08-02 18:57:32 Building chain spec
Forked genesis generated successfully. Find it at ./data/fork.json

@sameh-farouk which network and how did you fork it?

Same as the before, dev network, following steps mentioned in the issue.

How did you fork without access to the private node?

@sameh-farouk That is not really an option, you need to fork an synced network


Consider to rely on external matrix library

Hello,
I'm developing PHP-SDS ( https://github.com/SciPHPy/php-sds-polyfill ), which is in experimental state yet, but it provides two data structures that could be useful to PHP-ML:

Matrix
Tensor (like ndarray)

I know that this library also haves a Matrix class, but the Matrix class of PHP-SDS is being optimized. I didn't did a benchmark to compare them, but it has few points that suggests better performance

more data locality : I use one single "array" instead of nested arrays.
more data locality: I've reordered matrix multiplication loops to exploit data locality (benchmarked)
The "polyfill" relies on the DS Vector data structure, which offers much better performance than the array data structure (benchmarked too, there is a noticeable performance improvement).

Also... there are plans to optimize:

In the polyfill:

Consider matrix transposition to increase data locality for matrix multiplications (will be benchmarked)
Consider using "blocks" to increase data locality for matrix multiplications. (will be benchmarked)
Consider Strassen's algorithm... (it will destroy data locality, so... will be benchmarked too)
I'm implementing not-naive algorithms. For example, the inverse it's not yet implemented, but will not rely on the determinant computation (which is very slow even if "memoized").

Native extension:

I'm working on a native extension :smile:  .

And some interesting features:

Matrix and Tensor are "typed".
There are many static factories to easily create Tensor and Matrix instances without having to create an array in first place.

There are some features that aren't yet implemented in my Matrix instance, but will be done in a few days, and after implementing those basic features, I'll implement many more interesting ones that aren't available in the PHP-ML's class.
I know that using an external library will break some APIs, but given the number of current installs, it could be worth to try it (not strictly now, because I have to polish some details, but in few releases ahead... and increasing the major version to avoid problems).
The main idea is: PHP-SDS will gain performance and features over time, and PHP-ML can benefit from it. Also, relying on external & generic data structures can improve interoperability between PHP-ML and other libraries.

Hey @castarco, that looks amazing. I definitely must look at this. Some kind of benchmarks would be handy.

Hello @itcraftsmanpl , I've done a benchmark, but only checking the "internals" of matrix multiplication.
I've found surprising results (Ds\Vector is slower than array for sequential access! O_o). In any way, doing sequential access and using the i,k,j order is consistently faster than the current PHP-ML's implementation:
https://gist.github.com/castarco/5b051f9e7df04a2de87d3268f01ea461
I'll refactor my implementation to remove the usage of Ds\Vector after being sure about these results (I'm talking with the Ds developer to check if I did something wrong in the benchmark).

Hi @castarco, Ds\Vector is not faster than native php array, its consume less memor instead. Check my blog post (i now it is in polish but you can see charts): http://itcraftsman.pl/wydajne-struktury-danych-w-php-7/.

Hi again @itcraftsmanpl , I've removed the usage of Ds\Vector from the code. Now... I think that knowing which features are more necessary in PHP-ML can help me to prioritize.
I can think on these ones:

matrix inverse
matrix pseudo-inverse (for non-invertible matrix)
determinant
least squares minimization

I've been working on the QR decomposition, and I have an almost finished implementation for the LU decomposition. These two decompositions are very useful to implement solutions for these four problems.

Hi @castarco, any progress? You need help?

Hi @itcraftsmanpl , The determinant computation has been implemented, but not matrix inverse nor pseudo-inverse.
I slowed down the development because a lot of work from other fronts felt over me, and because i got stuck on a little problem: the QR decomposition works... but only for m·n matrix where m >= n. QR decomposition is possible when n >= m, and it's an interesting case for the least squares minimization problem.

Hi @castarco,
Seems like a work capable of being useful in some projects including PHP-ML. I am curious whether your library will support linear algebra operations and if so, which operations?
Recently, I have done a research about how one can handle linear algebra operations in a fast way and appearantly the only way to do is the Lapack PECL extension. However, there are some drawbacks of it, 1) It is an extension and cannot be shipped with the library and thus increases dependencies of the library, 2) Its support is limited to only some linear algebra functions, 3) It has not been updated for a long time and seemingly it is discontinued.

Hi @MustafaKarabulut . My library isn't yet complete, but it's faster than almost all the PHP matrix libraries that exist on the Packagist repositories. The problem, there is an important operation to be added: matrix inverse, and this days is hard for me to find time.
In addition, I'm working on a "clone" of this library, but in the form of a PECL extension. So, if someone implements the matrix inverse, then it will be possible to replace PHP-ML's Matrix class with PHP-SDS's Matrix class.

Hi @castarco,
Thanks for the reply. There are some PHP code available out on the internet to invert a Matrix (e.g. PEAR Math_Matrix code), so why don't you complete the code with the easy way and then improve it with "your way" when you find time?
On the other hand, my specific interest at the moment is that whether your library will/does include a feature to automatically extract eigenValues and eigenVectors in a fast way?

the eigenvalues & eigenvectors computation depend on the "singular value decomposition", which is not implemented, (we have QR and LU decomposition). But it's possible, and the remaining work shouldn't be too much.
And... yes... I suppose that I could implement the "classic" matrix inverse algorithm that relies on determinants computations rather than relying on the LU decomposition.
But the lack of commitment from other people is lowering down my motivation. So... which are your use cases? why are you interested on eigenvalues & eigenvectors?

Thanks again.
I understand how lack of support from others demotivates you. I am sure, @itcraftsmanpl also feels like this sometimes. But, until a library comes closer to a mature status, people are usually disinterested in it and looks for more mature libraries for immediate use. So, it is how things happen.
As for the eigenValues/eigenVectors, I plan to implement PCA (Principal components analysis) as a feature reduction/selection method into the PHP-ML. According to my research about the theory, the implementation will require calculation of eigenValues/eigenVectors. Moreover, I assume, future features in the category of feature selection/reduction will also require further linear algebra operations.

Hi @castarco,
Recently, we have developed some features that do heavily rely on some linear algebra operations such as LU decomposition. Through the implementation, I noticed repeatedly that these operations are much slower than their counterparts in Python (specifically speaking scikit-learn). The slowness may be attributed to PHP code being interpreted each time it is executed while as to my knowledge, some Python libraries use optimized C++ code and thus fast. However, in my opinion, some amount of this slowness may be linked to bad implementation.
At this point, I am wondering if your implementation may give higher performance for these operations. I'd be grateful if you can take some time and check the tests in #82 I have put. I need to know if some operations, say inverse of a 500x500 matrix, can be computed quicker with your library and/or anyother linear algebra library.
I'd be happy if you can respond.

I think this issue is almost dead and probably @castarco is not interested here anymore.
@itcraftsmanpl what about closing this now?


Support NumPy 2.0 and Greater.

Please excuse the blank template, but the only template publicly available for accelerate is a bug template which is not applicable here.
Currently accelerate requires numpy less than version 2.0. This has resulted in numpy being forcibly downgraded in some environments such as what is happening in https://github.com/huggingface/transformers/issues/31802. This issue was closed with Hugging Face employees recommending that a ticket for NumPy 2.0 support be opened in accelerate.
If you could support NumPy version 2.0 (or whatever the latest version of NumPy is) I and the rest of the accelerate and Hugging Face user base would be grateful.

Let me run the tests and see if anything fails. So long as nothing breaks, we're set :)

Note that there are other (commonly used) deps that require lower numpy versions, currently I'm noticing this is scikit-learn. However everything seems to run fine so I think we're okay

Has this been resolved? Still got issues when installing accelerate, which forces numpy to downgrade.

The restriction on the numpy version has been lifted:
https://github.com/huggingface/accelerate/commit/52fae0960cef264d1a9b7bda6c9cbadb2361bd33#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R73
It's included in the latest release. The most likely explanation is that another dependency is responsible. Could you show the commands you used to create this enviroment?

Thanks. Here is my YAML header file for creating the environment.
name: nlp-macos
channels:

conda-forge

dependencies:

python=3.12.*

pip

notebook

jupyterlab

ipyparallel

ipython

ipywidgets

scipy

sympy

plotly

numpy

libblas=*=*accelerate
#- transformers

pip:

Faker
tqdm
polars
pandas
altair
nltk
plotnine[all]
seaborn[stats]
emoji
pip-review
pyarrow
jax==0.4.26
jaxlib==0.4.26
jax-metal
torch
torchvision
scikit-learn
gym
tensorboard

Thanks for the file. Unfortunately, I keep running into issues trying to install from this file, probably because I'm not on Mac. Therefore, I cannot reproduce. When you create a minimal environment with only numpy 2.0 and the latest accelerate, do you still observe the numpy downgrade?

Thanks for the file. Unfortunately, I keep running into issues trying to install from this file, probably because I'm not on Mac. Therefore, I cannot reproduce. When you create a minimal environment with only numpy 2.0 and the latest accelerate, do you still observe the numpy downgrade?

Thanks for the suggestion. Just tried the following
conda create -n myenv python=3.12
conda activate myenv
conda install numpy=2.1.1
conda install accelerate

It seems OK without downgrade message. However, it only tries to install accelerate-0.31.0, not the latest one.

Then the issue appears when installing conda install accelerate=0.34.0

Then the issue appears when installing conda install accelerate=0.34.0

What about v0.34.1 or v0.34.2? Not sure if they're on the conda-forge channel, so you might have to use pip.

v0.34.1 is not on conda-forge.  v0.34.2 is, but with the same issue.

The conda channels aren't maintained by us, the pypi channels are though. Can you do conda install pip; pip install accelerate? This should work fine in the end I think


[MINOR][DOC] Fix typo in pydoc for pyspark.sql.function.from_utc_timestamp

What changes were proposed in this pull request?

Typo fix in pydoc for pyspark.sql.function.from_utc_timestamp
upported -> supported
Why are the changes needed?

Great documentation
Does this PR introduce any user-facing change?

No
How was this patch tested?

N/A

merged into master, thanks for the fix


Put debugger data viewer integration behind an experiment

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #14460 into main will decrease coverage by 0.00%.
The diff coverage is 54.54%.

@@            Coverage Diff             @@
##             main   #14460      +/-   ##
==========================================
- Coverage   59.19%   59.18%   -0.01%
==========================================
  Files         720      721       +1
  Lines       40211    40231      +20
  Branches     5829     5831       +2
==========================================
+ Hits        23802    23811       +9
- Misses      15147    15158      +11
  Partials     1262     1262

Impacted Files
Coverage Δ

src/client/telemetry/index.ts
80.41% <ø> (ø)

src/client/datascience/commands/commandRegistry.ts
34.76% <25.00%> (+0.23%)
:arrow_up:

...cience/data-viewing/dataViewerExperimentEnabler.ts
41.66% <41.66%> (ø)

src/client/common/serviceRegistry.ts
100.00% <100.00%> (ø)

src/client/datascience/constants.ts
99.78% <100.00%> (-0.01%)
:arrow_down:

src/client/telemetry/constants.ts
100.00% <100.00%> (ø)

.../pythonEnvironments/info/environmentInfoService.ts
91.42% <0.00%> (-8.58%)
:arrow_down:

src/client/pythonEnvironments/index.ts
18.86% <0.00%> (+1.22%)
:arrow_up:

Continue to review full report at Codecov.

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

@IanMatthewHuff yeah this is for October. Maybe this should be going straight into the release branch then, since I'm going to rework the integration for November?

@IanMatthewHuff yeah this is for October. Maybe this should be going straight into the release branch then, since I'm going to rework the integration for November?

I think that might be the smart approach to take, good thought on going directly to release. Otherwise this will just cause merge issues for the myNoDS change.

@DonJayamanne I believe I've addressed your comment on this PR!

@joyceerhl we need the Compiler fix in master. Insiders is currently not getting pushed out because of it.

@karthiknadig Will port it over, thanks!


disable meta generator tag document

https://github.com/hexojs/hexo/pull/3653

are you drafting? otherwise I can work on this.

No :)


Optimal coverage of Hi-C reads in order to get the best results

Dear developers,
I would like to ask which is the minimum and best Hi-C read size and coverage in order to get the best results. Is there a coverage cutoff?
Thank you in advance,
Marios

There is not a defined coverage cutoff and if you have a continuous assembly you don't need much coverage, 10x is usually enough in those cases.


Pr sadra

Adapting #241 so that it fits what we need in lighteval.
@sadra-barikbin can you tell me if anything's missing?

Adapting #241 so that it fits what we need in lighteval. @sadra-barikbin can you tell me if anything's missing?

Sorry I was busy a few days. Looks great. Just a unit test and a docstring typo in prompt_manager.py:92 is left. I'll send a follow-up if you will.

Thanks a lot, yes please do :)


Allow to use a different openssl binary than system default openssl

There might be a different openssl binary installed which should be
preferred by dehydrated over the regular openssl-named one.
Add a OPENSSL_BIN config item to support overriding.

Seems similar to: https://github.com/lukas2511/dehydrated/issues/379


[Feature request] Show active PID and % utilization

Verbatim from Grayskull user:
"NVIDIA SMI tells you which PID is using their driver and % utilization; TT-SMI is nice looking but I don't get much information from it. I want to know which PIDs are using the card and the utilization %. It's hard to tell if the Tenstorrent card is doing anything"
Let me know if there is a better board to share this kind of feedback

Hey thanks for bringing it up. PID should be fairly straightforward to add, but the % util might be a bit harder to gather atm. Will consult with the team and update the issue when we have a plan to add that to SMI


dev: deploy EOA contracts not deployed yet

Describe the enhancement request

problem: in testnet, the current flow does not allow someone to send a tx via kakarot:

precompute the starknet address of an EOA
fund it using a starknet account
send an EVM tx using that EOA

currently, one needs to manually call kakarot_core.deploy_externally_owned_account(EOA_EVM_ADDRESS)
Describe Preferred Solution
inside eth_send_raw_transaction, IF the relayer feature is on, IF the transaction is valid, IF the user's EOA account is not already deployed on starknet, THEN deploy for them

Hi @Eikix , can I be assigned this please?

Needs further scoping with @ClementWalter in next tech strat meeting


Reg\Transfers - Edit mode of Transfer form

Description:
As an internal user, I need to be able to edit a Transfer event if the status is "To be transferred" (i.e., the effective date of transfer is still in the future)
Acceptance Criteria:
Given I am an internal user
When I look at a Transfer (#1713 ) with a status of "To be transferred"
Then it is in disabled mode, and I have the option to edit certain fields by clicking the "Edit Details" button
I also see a "Cancel transfer button"
Given that I clicked "Cancel transfer"
A confirmation modal pops up.
Wireframe
Given that I clicked edit details

[ ] the form is enabled
[ ] the "edit details" button changes to "Transfer Entity"
[ ] the back button changes to "cancel" (so I know I can cancel changes)

Wireframe
Development Checklist:

[ ] at the bottom of the page there is a "Cancel Transfer" button that will cancel the entire transfer event
[ ] fields that should be editable: "Effective date of transfer", Facilities dropdown (if applicable), Operation dropdown (if applicable)
[ ] fields that should NOT be editable: "Current operator", "Select the new operator", "What is being transferred?"
[ ] to be decided by devs: should "Select the new operation this facility will be allocated to" be editable or not?
[ ] Meets the DOD

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

Blocked By/Blocking
Notes:

@zoeyli-46 it would probably be helpful if we were to have a separate wireframe for Transfers when they're being edited.

thanks @zoeyli-46 ! Just noting that when the page is in Edit mode, we'll need to add another button so that users can entirely cancel the transfer if needed. But if you're super busy with other things don't worry about the wireframe - I think we can get by without it.

Added in AC x wireframe which includes cancelling the transfer button

Should we hide the edit button when the status is set to "Transferred"?

Should we hide the edit button when the status is set to "Transferred"?

definitely. Once the Transfer has taken place, editing should not be an option.


[BUG]: REPL no longer supports TAB completion (e.g., random.strided.<TAB>)

Description
Encountered an error when attempting to see the list of potential matches in the REPL. If you don't know the possibilities, you are left in the dark as to what to type next.
Related Issues
n/a
Questions
@Snehil-Shah Is there a reason why this no longer works? Does one of your open PRs address this already?
Demo
Reproduction
$ make repl

In [1]: random.strided.<TAB>

Expected Results
Should display the list of possibilities.
Actual Results
Nothing displays.
Version
No response
Environments
Node.js
Browser Version
No response
Node.js / npm Version
No response
Platform
No response
Checklist

[X] Read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.

@kgryte Weird. It does work when you type something after the dot.

Will investigate and push a patch soon.

@Snehil-Shah Thanks for investigating!

@kgryte Found the root. While implementing auto-closing symbols, we added completion support for settings. For that you also added this (L183-188). I am not sure I understand why it was added. Do you remember it by any chance? It works fine without it.

IIRC, that originates from when we were using the built-in readline completion logic. When we relied on that, I believe that the path to reaching that regexp was different.

Hmm...now I am not so sure. In that same commit, we explicitly added the corresponding RegExp. I am not sure how/why we were reaching branch. Could be related to doing something like foo[]<TAB>.

Just checked with the default readline completer and the behavior is same as the new one. The new completer engine and the old one use the same logic underneath, it's about what the completer is generating for the given line.
Yeah, you are right, i guess related to foo[<TAB>] as doing it does result in weird behavior without the RegExp.

Maybe we can just remove the dot from the RegExp symbols?

Are there any instances where we wouldn't want TAB completion after .?

@Snehil-Shah I believe just removing . from the reserved characters regexp should be fine.

Tried some weird combinations: .<TAB>, foo..<TAB>, and no abnormal behavior was detected. Should be fine to remove the ..


[WIP] Dynamic set partitioner

Extends behaviour of SetPartitioner by handling the case of a dynamic set of items to partition. This is achieved by passing a set_path instead of a set and by repartitioning the items event when these items change (and not only when the members of the party change). This mechanism is implement by watching both the party_path and set_path using the MultiPathPatientChildrenWatch.

This is a WIP as it is rebased on #1.

 [Billing] High Availability


Fix component did update if statement

Currently the if statement is always true since ReadonlyFrameProcesser != FrameProcessor

What
Fixes if boolean

Changes

Tested on

Related issues

Nice catch, thank you!


Vulnerability roundup 106: exim-4.94.2: 1 advisory [7.5]

search, files

[ ] CVE-2021-38371 CVSSv3=7.5 (nixos-21.05, nixos-unstable)

CVE details
CVE-2021-38371
The STARTTLS feature in Exim through 4.94.2 allows response injection (buffering) during MTA SMTP sending.

Scanned versions: nixos-21.05: 6120ac5cd20; nixos-unstable: bc9b956714e.
Cc @4z3
Cc @ajs124
Cc @dasJ

There's no fix available upstream AFAICT

Exim 4.95 has been released: https://downloads.exim.org/exim4/


Reexport capped at 0.2 for many old packages

#11114 added upper bound caps via RetroCap.jl to many packages including capping compat with Reexport.jl to version "0.2". It may not be evident to maintainers of older packages such as Interact that their packages have their compatibility with Reexport.jl capped. Interact.jl for example has the compat string Reexport = "≥ 0.1.0".
As packages such as PlutoUI.jl declare their compatibility with Reexport.jl "1" this can create a situation where Pkg does not install the latest version of some packages.
For example, adding Plots, PlutoUI, and Javis to a new temporary environment results in Javis 0.4 being installed rather than the latest Javis 0.6:
(jl_tD5Mbt) pkg> add<EMAIL_ADDRESS>   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Reexport [189a3867]:
 Reexport [189a3867] log:
 ├─possible versions are: 0.2.0-1.1.0 or uninstalled
 ├─restricted by compatibility requirements with PlutoUI [7f904dfe] to versions: 1.0.0-1.1.0
 │ └─PlutoUI [7f904dfe] log:
 │   ├─possible versions are: 0.1.0-0.7.9 or uninstalled
 │   └─restricted to versions 0.7.9 by an explicit requirement, leaving only versions 0.7.9
 └─restricted by compatibility requirements with Interact [c601a237] to versions: 0.2.0 — no versions left
   └─Interact [c601a237] log:
     ├─possible versions are: 0.8.0-0.10.3 or uninstalled
     └─restricted to versions 0.10.3 by an explicit requirement, leaving only versions 0.10.3

While one could try to visit each package and reform it's compat section (e.g. https://github.com/JuliaGizmos/Interact.jl/pull/399 ), is there some action that could be taken by the registry?
cc: @Wikunia

Were there any breaking changes between Reexport 0.2.0 and Reexport 1.0.0?

Were there any breaking changes between Reexport 0.2.0 and Reexport 1.0.0?

This may be a question for @simonster and @ararslan.

No there were not

If there were absolutely no breaking changes between Reexport 0.2 and Reexport 1.0, I'll accept a PR that increases the upper bounds of some of these compat entries to include Reexport 1.0.
Normally I wouldn't do this - I would say that we should just make PRs to each of the packages to update their compat entries, and then ask the package authors to merge those PRs and register new releases of their packages.
However, I do want to encourage package authors to release version 1.0 of their packages.


fix: remove props that subgraph does not return

Description
remove props that subgraph does not return.
Is this PR related with an open issue?
Related to Issue #
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] Follows the code style of this project.
[ ] Tests Cover Changes
[ ] Documentation

we also need a test case for the new exception


Engine in VB.NET returning "nothing" to host

Dear ClearScript,
In the following code:
    Script = New VBScriptEngine(WindowsScriptEngineFlags.EnableDebugging)
    Script.EnableNullResultWrapping = True
    Script.AddHostType(GetType(Console))

    Dim doc As XmlDocument = New XmlDocument()
    doc.LoadXml("<root><page id=""1""/><page id=""2""/><page id=""3""/></root>")
    Script.AddHostObject("page", doc.DocumentElement)
    Script.Execute("
        set p = page.selectSingleNode(""text"")
        console.write(p is nothing)
    ")

with:
Public Class Console
Public Shared Sub Write(obj As Object)
If obj Is Nothing Then
Debug.Print("Object is Nothing")
Else
Debug.Print(obj.ToString())
End If
End Sub
End Class
Which results in this output:

False

Since the node "text" doesnt exist, shouldn't return "True" ?    (If i take out the EnableNullResultWrapping then I can't evaluate selectSingleNode).  Thanks for any suggestions!

Hi @juan-nxlevel,

Since the node "text" doesnt exist, shouldn't return "True" ?

Since you're using EnableNullResultWrapping, no. From the documentation: "Note that such values will always fail equality comparison with JavaScript's null, VBScript's Nothing, and other similar values."

Thanks for any suggestions!

Although ClearScript's defaults – and even some of its API names – are skewed in favor of C# and JavaScript, there may be a way to get the behavior you're looking for with VB and VBScript.
The problem is that there's no obvious mapping between .NET's null/Nothing and the various constants that script languages use to represent undefined, uninitialized, unknown, or missing data. The rules that ClearScript uses to marshal those values are complicated and not necessarily optimal in all cases.
You can adjust some aspects of ClearScript's behavior by using the script engine's NullExportValue and UndefinedImportValue properties. Here's a modified sample that demonstrates their usage:
Dim Script = New VBScriptEngine(WindowsScriptEngineFlags.EnableDebugging)
Script.NullExportValue = Microsoft.ClearScript.Windows.Nothing.Value
Script.UndefinedImportValue = Nothing
Script.AddHostType(GetType(Console))
Dim doc = New XmlDocument()
doc.LoadXml("<root><page id=""1""/><page id=""2""/><page id=""3""/></root>")
Script.AddHostObject("page", doc.DocumentElement)
    Script.Execute("
    set p = page.selectSingleNode(""text"")
    console.write(p)
    console.write(p is nothing)
")

It produces the following output:
Object is Nothing
True

Please let us know if this solution works for you. Thanks!

Perfect!  Thank you very much!


Fix display of Debug spectrograms and write unit tests

Describe the bug
The drawing of debug spectrograms, in particular the display of score tracks and the overlay of matrix scores, is yet to be properly checked. Need to write unit tests for these.
The overlay of score matrices on standard scale spectrograms has not been checked for some time.
This work needs to be done in order to facilitate the writing of new generic recognizers as in Issue #297.

Can you show the visual errors here, please?

Ok, some of this work has been done in #301.
More remains.
Text Anti-Aliasing
Compare old image vs new:
old

new

issues

the anti-aliasing on the text is the new one is way too aggressive
the quality of ImageSharp anti-aliasing seems sub-par

https://github.com/SixLabors/ImageSharp/issues/138 (ensure we're not using a pen)?
ensure sub-pixel alignment is occurring
It looks like we won't have access to clear type font rendering

the font seems to generally be smaller (DPI issue?).

Dimensions of the zero in Y scale is 6x9 in old, and 4x7 in new)
Dimensions of the W in Whistle are 7x6 in old and 5x5 in new
Title E in title bar seems to be 8*9 in old and 5x7 in new

rectangle axes segments need to be updated to be non-AA
horizontal divider needs to be updated to be non-AA
the rectangle is missing a pixel in lower right corner

@towsey - can you please precisely identify and changes you've made to the fonts/sizes of the text in question between the conversion and this point - I don't want to attribute behaviour to changes that are yours and not a bug.
@towsey - you should continue your work on the recognisers despite this image imperfections. We'll fix them up as we go and images will progressively get better.

Note: an asset committed in 04f9b044e4c0e281a6a681580bdd46c223be7037 (https://github.com/QutEcoacoustics/audio-analysis/blob/04f9b044e4c0e281a6a681580bdd46c223be7037/tests/Fixtures/EventTests_SuperimposeEventsOnImage.png) is actually reflective of the bug described in this issue and will need to be adjusted when this is fixed.

I think most of the issues highlighted here have been dealt with - except for the antialiasing.
Opening that in a new issue for easier tracking. See #449


Add Scatter mark label positioning offset

Requested in #1162, this PR adds horizontal and vertical offsets for the 'names' attribute in the Scatter mark, which overlays labels above each data point. It adds two float traitlets to the python side:

name_offset_x (float, value denotes pixels, default value=None)
name_offset_y (float, value denotes pixels, default value=None)

Both of these are optional, and if no values are passed to the constructor, positioning will fall back to the default behaviour currently exhibited.

I thought about doing that, but the reason I went with name_offset is that
oddly we call labels 'names' in the Scatter mark. Ideally we can change
both so it's labels and label_display_offset as you suggest, but that would
be a breaking change. If you don't think it makes a difference whether it's
'names' or 'labels' then I'm happy to make the change anyway! Not strongly
opinionated on this :)
On Tue, 7 Jul 2020, 00:41 martinRenou<EMAIL_ADDRESS>wrote:

@martinRenou requested changes on this pull request.
Should we name them label_display_vertical_offset and
label_display_horizontal_offset for better homogeneity with Bars?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bqplot/bqplot/pull/1168#pullrequestreview-443638165,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZICWOSNOLCAKR7Z5ZXEMDR2LGRVANCNFSM4OSPDPGQ
.

I also don't have a strong opinion on the naming, I'm fine with whatever that makes sense to you :)

Though it would be nice to have more homogeneity in the bqplot API, but we'll never get there without breaking changes, so it's more of a long term discussion I guess.

Changed it. We might as well start making things consistent now instead of waiting in perpetuity for the perfect time to rewrite the APIs.

@martinRenou okay to merge this?

Thanks a bunch @ibdafna


How to Add Validation for Hyperlink?

Hello everyone,, I got an issue when I click insert link feature. So the editor will not check if the user input valid url or not.
At first,, I notice if I insert "www.google.com", it won't open google.com but continue my system url instead (http://localhost.com:9001/www.google.com). User must insert http:// or https:// for make it the correct link.
And then I also tried insert random string (not url), like "9gag" (without dot com), and there's no validation for it, I can click "OK" button.

How to add validation for Hyperlink's OK button?
Thank you in advance 🙏

sorry I create question on tui.calendar,, it should be on tui.editor 🙏


Implement Unit Testing in Frontend

Set up unit testing for all frontend components of the project using Vitest to ensure code quality and reliability.
Tasks:

Install and configure Vitest in the project.
Write unit tests for all existing frontend components.
Ensure tests cover key functionality and edge cases.
Update the project documentation to include testing guidelines and instructions for running tests.

I would like to work on this


Train Classifier Overwrite does not work on Azure databricks.

in the 101 notebook this line fails if run twice
model.write().overwrite().save("Models/AdultCensus.mml")

yields
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory dbfs:/AdultCensus.mml/metadata already exists

This also occurs with train regressor

fix in this PR: https://github.com/Azure/mmlspark/pull/368