Calculation of coordinates are wrong when Cypress scales the application view port

Problem
Depending on the Cypress view port scaling, the coordinates are calculated different and with the wrong proportions.
Code to reproduce:
describe('Real Event Demo', () => {
    beforeEach(() => {
        cy.visit('https://www.pdftron.com/webviewer/demo/')
    });

    it('Insert Rectangle', () => {
        cy.get('iframe[id="webviewer-1"]')
            .its('0.contentDocument.body')
            .then(body => cy.wrap(body))
            .within(() => {
                cy.get('div[data-element="shapeToolGroupButton"]').click()
                const startPos = {x: 100, y: 100}
                const endPos = {x: 200, y: 200}

                cy.get('div[id=pageContainer1]')
                    .realMouseDown({button: 'left', position: startPos})
                    .realMouseMove(endPos.x, endPos.y)
                    .realMouseUp({button: 'left', position: endPos});
            })
    });
});

Current Behavior:
The same test code produces different output, depending on the view port scaling:
View Port 100%:

View Port 56%:

https://user-images.githubusercontent.com/42909317/199715997-786c40f2-2cff-49ad-aa6e-546e7f02ecd2.mp4
Expected Behavior
The view port scaling should not affect the test output.
Versions

Cypress: 9.7.0
cypress-real-events: 1.7.2

I could also reproduce the problem with the click test from this repo:
Viewport Scaling to 50%:

Viewport Scaling to 100%:

I'm working on a Pull Request to fix this problem.

Thank you for digging into this— we are also having this issue!

Thanks all! New release is working like a charm :)


Atomic updates

var a = Kefir.sequentially(100, [1,2,3]);
var b = a.map(function(val){return val + 2});
var c = a.map(function(val){return val * 2});
var d = Kefir.combine([b,c], function(b, c){return [b,c]});
d.log()

Output:
[combine] <value> [3, 2]
kefir.js:841 [combine] <value> [4, 2]
kefir.js:841 [combine] <value> [4, 4]
kefir.js:841 [combine] <value> [5, 4]
kefir.js:841 [combine] <value> [5, 6]
kefir.js:843 [combine] <end>

Maybe flyd implementation of atomic updates will help:
https://github.com/paldepind/flyd/blob/master/flyd.js#L66-L101

This is something we want to have from the very beginning, but not easy one to do.
First of all, It pretty hard problem to solve by itself. As I saw in Bacon there was number of attempts to do it properly, before it was done. And even now atomic updates doesn't work with Bacon.Bus, as far as I know.
Secondly this has bad influence on performance, again in Bacon and if I understand it right.
I don't know much about Flyd, but I think it doesn't have concept of activation which simplifies thing a lot, in particular the implementation of atomic updates. But I'll look into it more carefully later perhaps we can borrow something from Flyd indeed.
Perhaps @raimohanska and @paldepind could correct my assumptions.

Flyd doesn't have a concept of activation. What value is there in that?
Once a stream updates, Flyd does a topological sort of its dependency tree. That takes O(n) time (i.e. it's pretty fast) so it potentially even lead to better performance since it avoids doing a lot of updates.
It's really not that hard and I don't see how activation would make it harder. You could just skip inactive streams. But there maybe something I'm missing.

Flyd doesn't have a concept of activation. What value is there in that?

It allows automatic resources management.
For, instance when you create a stream like stream = Kefir.fromEvents(window, 'scroll').map(...).filter(...).take(...) nothing happens until you subscribe to the stream, even if there is a lot of scrolling happening.
Also if a stream is inactive and there is no references to it, then it can be garbage collected.
We have a discussion on removing it https://github.com/pozadi/kefir/issues/43 , but current conclusion is that we need it, even though the removing could simplify everything a lot.

Ah. It's laziness. I have deliberately not included that in Flyd. My conclusion is that it can give performance gains but that any performance issues can be solved by other means so it's not worth the complexity. But that's obviously just my own opinion.
In Flyd every stream has an array of it dependents. I image Kefir might have something similar. That forms a graph. Then I just do a simple topological sort of the graph and update every dependent stream given by the sort. Skipping inactive streams in that process would not be too hard would it?

If every stream will have list of it's dependents, following wouldn't work:

if a stream is inactive and there is no references to it, then it can be garbage collected.

For instance we have b = a.map() and interested to dispose b. For now doing b = null is enough, but if a will have a link to it as a dependent, that won't work.

How do you get updates from a stream to it's dependencies if you don't keep a reference in the stream to it's dependencies? Assuming that both a and b are active.

Well, that why "if a stream is inactive ..." in the equation :)
a has a link to b only when b active.
So when we not interested in a stream we just need to unsubscribe from it, and remove our reference to it. And if nobody also interested the stream will be garbage collected.

Hm, although you are right. We need links only to active dependents for atomic updates. Will think about it!

So if b is active I can't do b = null? I.e. I'll have to remember whether or not it's active. And if I remember (or guess) incorrectly I've introduced a memory leak? That doesn't sound like a good thing to me.

Hm, although you are right. We need links only to active dependents for atomic updates. Will think about it!

Indeed! And based on that doing a topological sort is quite easy (you do a depth first search and add elements to a queue. There are many fine explanations on the web).

So if b is active I can't do b = null? I.e. I'll have to remember whether or not it's active. And if I remember (or guess) incorrectly I've introduced a memory leak? That doesn't sound like a good thing to me.

You don't have to think of whether it active, instead you need to care only about your own subscription. A stream activates when it gets a first subscription, and deactivates when the last one is removed. So you only need to unsubscribe and remove reference. If all interested parties do that, the stream will be garbage collected.

Ok. I get it know. It's a nice feature!

Yep, but comes with a lot of cost.

I just updated my comment. I think the argument based on intermediate streams is the strongest one.
var myStream = someSrc.map(fn).filter(fn);
// later
myStream.end();
myStream = undefined;

Now I've ended only the stream created by filter but not the one created by map. But no one is listening to that stream so it will automatically be collected. That's nice!

Yes, except you don't end myStream you only subscribe and unsubscribe to it. And it can end by itself in response of end of someSrc. For example someSrc = Kefir.later(1000, 1) — it emits 1 after 1s then ends.
Even if you could end a stream you shouldn't do that because there might be other interested parties.
var myStream = someSrc.map(fn).filter(fn);
myStream.onValue(fn);

// later
myStream.ofValue(fn);
myStream = undefined;

Something like this also works:
// everything* will be collected after 5 events
someSrc.map(fn).filter(fn).take(5).onValue(fn);

(*) except someSrc if there is other references to it etc.

But it also good to have libraries without this feature like yours, because it has issues. Those that are related to semantics are most annoying. And we can't have simple things like property.getValue() for example .

Yes, except you don't end myStream you only subscribe and unsubscribe to it. And it can end by itself in response of end of someSrc. For example someSrc = Kefir.later(1000, 1) — it emits 1 after 1s then ends.

Yes. I understand that a stream will end when it's source does.
But you do things a bit differently in Kefir. In Flyd you'll end a stream in order to get it to unsubscribe from it's parents.

But it also good to have libraries without this feature like yours, because it has issues. Those that are related to semantics are most annoying. And we can't have simple things like property.getValue() for example.

I'll have to take a look at those issues because I'm actually seriously considering adding the behavior to Flyd. I don't think it would be that difficult. But Flyd currently does have something equivalent to property.getValue – that's my biggest concern!

I'll have to take a look at those issues

You can find some in #43 , but it kind of hard to read through. Basically all stateful observables have issues. For instance obs.take(5) won't count events while it inactive. Or property won't update its current value while inactive, so we can't have property.getValue().

For instance obs.take(5) won't count events while inactive.

Auf! I can see that. That behavior is indeed a bit unexpected.

Returning to original topic of the issue: I've added workarounds to my first comment.

To implement atomic updates we should first define what we call "simultaneous events".
Let's start with following definition: "When two events happen in response to one parent event, those events considered as simultaneous". There is at least two cases when we can create such events.
First one is pretty obvious, and I have no question about it:
      a
     / \
    /   \
  map   map
  /       \
 b         c

b = a.map(f1)
c = a.map(f1)

Here b and c stream will contain simultaneous events. And if we combine b and c we want to treat each pair of those two events as a single event.
The second case is when we use .flatten():
a ---- flatten ---- b

b = a.flatten(x => [x + 2, x * 2]);

Here b also will contain two events in response to each event from a, so formally it satisfies our definition. But depend on how you look at it might not seem right. At least it might be unexpected and undesirable if .combine will also eliminate this kind of simultaneous events.

From implementation perspective it would be much easier if we would count .flatten as a case of simultaneous events and also eliminate them.
Looking at how it works in Bacon, it looks like it treat .flatten-like events differently depending on where in the tree flatten is inserted.
In this case it will be eliminated:

        A
       / \
      /   \
    map   map
    /       \
   /       flatten
  /           \
 B             C

But not in this one:

      A
      |
   flatten
      |
     / \
    /   \
  map   map
  /       \
 B         C

Also, is there a problem when we merge two streams that contain simultaneous events? Should .merge also handle them specially like .combine will be if we implement atomic updates? What about the case when we use result of .merge in .combine?
One problem I see with .merge is that the order in which simultaneous events appear in the result stream is not defined, and actually depends on order in which source streams activates (get first subscribers).

Related: http://staltz.com/rx-glitches-arent-actually-a-problem.html

Those are nice workarounds for the glitch problem. I don't see them as a nice solution though.
IMAO glitch prevention on the library level is a nice feature, but has its obvious drawbacks too (at least in Bacon): additional complexity, global state and degraded performance.

Yeah, I agree this is not a solution. For now I just don't know how to better approach this problem, and just collecting all relevant information and opinions.
I just not sure it can be implemented 100% correctly in a dynamic FRP lib (the category to which Rx/Bacon/Most/Kefir belongs by Evan Czaplicki's classification https://www.youtube.com/watch?v=Agu6jipKfYw).

History has shown that a perfect 100% score is extremely hard to achieve in that field, you're right. More like, it always seems just right until someone comes up with a failing case.

How about adding a .squash() operator that buffers events  in the same tick and flushes them in queueMicrotask? It would emit events earlier than setTimeout and is more expressive than .debounce(0).


Colour change when a facility is selected is too subtle

Overview
Feedback from users at the recent N3XTCODER hackathon is that the colour change on the marker when a facility is selected is too subtle. The majority of people in the room didn't notice the switch.
Expected Behavior
The colour change should be more significant, to ensure that users notice the change.
Actual Behavior
The colour change is subtle, so many people don't notice that there has been a change.
Steps to Reproduce

Run a search in the tool
Select one facility by clicking on its marker on the map
Note only subtle change of colour

Demo

Additional context
This feedback came from the team who worked on the OAR challenge at the N3XTCODER hackathon.

This feedback was shared again by a brand in response to the embedded map wire frames
@lederer @dboyer

@lederer 2 questions:

Do you have a suggestion for grey shade
The current markers in the app are png files. (https://github.com/open-apparel-registry/open-apparel-registry/blob/develop/src/app/public/images/marker.png) Are there original vector source files in a design repo/folder? Can we get an SVG version?

Let's try #838BA5 for the gray. It has a very slight tint of OAR blue in it, for good measure.
No source files, but pasting an SVG version below that ought to work.
Holler if any additional tweaks are needed.
<svg height="506" viewBox="0 0 384 506" width="384" xmlns="http://www.w3.org/2000/svg"><path d="m0 192c0-106.039 85.961-192 192-192s192 85.961 192 192c0 70.692667-64 175.359373-192 314.00012-128-138.640747-192-243.307453-192-314.00012zm192 80c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>


Better mongodb dumps/export

Mongo usually lets you dump an entire database to files, but Dokku only lets you dump one collection at once.
Would be nice to have an easy way to restore/backup with 1 command.

+1

+1

+1

Any updates on this? Pretty critical

@paralin you could do this, why not?

Brain dump....
Mongo's mongodump doesn't allow you to export an entire database to stdout, that's the most probable reason this wasn't implemented.
To get round it, you have to find all the collections in the database and iterate over them. But then writing to stdout you end up with a single file containing all the collections. That won't work.
So now you write each collection to it's own file, then that won't work using the remote ssh dokku commands (unless someone tells me it can)

As of tonight, I have this https://github.com/MozMorris/dokku-alt/commit/6f74f5af67f5bf7903ac777ba472c6a7d1824fe8
Haven't had chance to check the dumps yet, but I'm pretty sure I'm able to write each collection to a database.collection.gz file. These as I alluded to earlier, end up in the dokku user's home folder.

You want to just make the .gz file and then write the contents out of
stdout.
On Tue, Jun 23, 2015 at 2:30 PM Moz Morris<EMAIL_ADDRESS>wrote:

As of tonight, I have this MozMorris@6f74f5a
https://github.com/MozMorris/dokku-alt/commit/6f74f5af67f5bf7903ac777ba472c6a7d1824fe8
Haven't had chance to check the dumps yet, but I'm pretty sure I'm able to
write each collection to a database.collection.gz file. These as I
alluded to earlier, end up in the dokku user's home folder.
—
Reply to this email directly or view it on GitHub
https://github.com/dokku-alt/dokku-alt/issues/255#issuecomment-114647496
.

@paralin correct me if I'm wrong, but that's what I'm doing? https://github.com/MozMorris/dokku-alt/commit/6f74f5af67f5bf7903ac777ba472c6a7d1824fe8#diff-788d718e555bbb0049009fc2a519d471R198

@MozMorris I mean to the stdout of the dokku call.

But it's in a loop.

Anyway, just use ssh and some local port forwarding to dump/export. Much simpler.

mongodb:dumpall,  nice.

@osv except it doesn't work as you'd expect. The dumped collections remain on the remote host machine. This would probably confuse people running the mongodb:dumpall via their local machine ala ssh -t<EMAIL_ADDRESS>mongodb:dumpall


No class_id in the output

I excepted a multi-class multi-object tracking.
However, the output format is save_format = '{frame},{id},{x1},{y1},{w},{h},{s},-1,-1,-1\n'
which takes no account of the category id of the object, like in your YOLOV4_MCMOT.
Is this MCMOT or MOT?

Thank you for your response.
I had to go through the code for understand where to modify to output both the track and class identities as in MCMOT.
In the byte_tracker.py, I noticed you implement an update_mcmot_byte() function which is where the class identities are considered during tracking. However, this function is not used by the tracker. Instead, the update() function is used which only implements single class MOT. It is not straightforward how MCMOT is done using the byte_tracker or how it can be updated in your demo_mcmot.py file here. Please, throw more light.


[Feature Request] Load a channels entire logs without specifying a user

Being able to leave "username" field blank and just enter "channel" to load all logs saved and view them

Would love to see this feature too

it's already possible but only in text form by going to /channel/channelName (eg https://logs.ivr.fi/channel/forsen).

This works, thank you. Sadly have to manually change the date through address bar to get to it.
Would be nice to have a way to navigate through the usual UI, at the very least just being able to quickly switch between days. No emote rendering needed.

it's already possible but only in text form by going to /channel/channelName (eg https://logs.ivr.fi/channel/forsen).

you can also get it in json format by adding ?json= at the end of the url. i believe this parameter is present in the api documentation too


router cluster specifier supports extension plugin based on header match

Title: router cluster specifier supports extension plugin based on header match
Description:
The extension cluster specifier plugin can support select cluster based on header match. If it is reasonable, i can try to submit a PR, thanks.

Can you elaborate a bit? It sounds like what http router does today.

maybe we want to select different clusters under a  route instead of creating multiple routes to simplify management of the configuration.

friendly ping @lizan , also cc @wbpcode as code owner.

The DR of Istio may create multiple clusters for different version of same service. We hope to select different versions based on additional header match and avoid the creations of multiple routes.
I see it as something like the subset lb: choosing subset of specific service. (subset lb is super powerful but sometimes hard to debug)

cc @lizan If this feature is reasonable, i will try to submit API first, thanks.

routes:
  - match:
      prefix: "/"
    route:
      inline_cluster_specifier_plugin:
        extension:
          name: condition_cluster_specifier
          typed_config:
            "@type": type.googleapis.com/proxy.router.cluster_specifier.condition_cluster_specifier.v3.ConditionClusterSpecifierConfig
            matchers:
              - matcher:
                  headers:
                    - name: foo1
                      string_match:
                        exact: bar1
                cluster: service-v1
              - matcher:
                  headers:
                    - name: foo2
                      string_match:
                        exact: bar2
                cluster: service-v2
            default_cluster: service-v1

here is a example, we can select different versions of same service under a route instead of creating multiple routes. @lizan

friendly ping @lizan


[bug]

Build/Run method

[x] Docker
[ ] PKG
[ ] Snap package
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 3.0.0
zwave-js version: 7.0.0
Describe the bug
In Vivaldi browser the control-panel is NOT fully loaded. The table with the nodes is not shown but the rest of the GUI elements are loading and working correctly.
The error visible in the developer console is attached.  The issue is happening only in Vivaldi after the upgrade to 3.0.0. The same container shows the whole GUI correctly in Chrome and Firefox. Vivaldi in privacy mode also displays everything correctly.
Expected behavior
The node table is displayed
Additional context
I have cleared the browser cache and cockies, also the json cockies in the /store directory. The results are without change.
Any other suggestions?

Just installed 3.0.0 with git pull method - can confirm this issue. I came to see if anyone had reported.
Like @idyedov , I can see the nodes list in private browser mode but not in regular mode. Screenshot with private on the right:

Sorry I don't have any other information, just confirming and following the issue. Thanks!

One more clarification - the Vivaldi that is having the problem is on Linux. I tested with Vivaldi on Windows and it was working.
@crxporter I assume you are running MacOS?

@Zaibot  yup this fixed it. I have hidden the beaming column.
Should I close the issue? In my opinion such error cases should be handled by automatically reset the setting.
@robertsLando  do you see any improvement necessary?

Like @Zaibot said the problem is with the localstorage. ATM it contains all user preferences like table filtering/sorting and with 7.0.0 lot node properties have changes. This could cause some inconsistences with the localstorage that I didn't noticed on my development instance but:

Looks like propDefs does not contain isBeaming anymore? It does contain supportsBeaming.

This is the reason. What you could do is to clear localstorage to fix the probelm, I need to check this to see if I can find a way to prevent the error. Could someone show me the browser console error shown?

I have submitted a fix #940, anyone can gives it a try?

I'm running on raspberry pi.
Just updated to latest on GH- looks good.
Thanks as always!


Extend from PR #3209 to cover other framework-provided messages

PR does not cover all errors for which the model binding system provides messages added to the ModelStateDictionary.
For example, comments from design phase of that PR:
        // See use of Resources.Common_ValueNotValidForProperty in ValidationHelpers.
        // <summary>
        // Fallback error message HTML and tag helpers display when a property is invalid but the
        // <see cref="ModelError"/>s have <c>null</c> <see cref="ModelError.ErrorMessage"/>s.
        // </summary>
        // <value>Default <see cref="string"/> is "The value '{0}' is invalid.".</value>
        ////Func<string> ValueInvalid_UnknownErrorResource { get; }

        // See how Resources.ModelError_InvalidValue_MessageWithModelValue is used
        // <summary>
        // Replacement <see cref="ModelError.ErrorMessage"/> used in <see cref="ModelError"/> when
        // <see cref="ModelError.Exception"/> is of type <see cref="FormatException"/> and value is known i.e. when
        // the bound value could not be converted and the "replacer" has the attempted value.
        // </summary>
        // <value>Default <see cref="string"/> is "The value '{0}' is not valid for {1}.".</value>
        ////Func<string> ValueInvalid_WithValueResource { get; }

        // See how Resources.ModelError_InvalidValue_GenericMessage is used.
        // <summary>
        // Replacement <see cref="ModelError.ErrorMessage"/> used in <see cref="ModelError"/> when
        // <see cref="ModelError.Exception"/> is of type <see cref="FormatException"/> and value is unknown i.e. when
        // the bound value could not be converted and the "replacer" does not have the attempted value.
        // </summary>
        // <value>Default <see cref="string"/> is "The supplied value is invalid for {0}.".</value>
        ////Func<string> ValueInvalid_WithoutValueResource { get; }

Also see

PR comment:

One way to avoid this framework-provided string entirely would be to use the next two Funcs to ensure ModelErrors never have a null or empty ErrorMessage. Then DefaultHtmlGenerator and ValidationHelpers would never need to fill a gap the model binding system left.

PR comment:

The relevant code here is ModelStateDictionary.AddModelError(... Exception ...). That method isn't currently passed the associated ModelMetadata but could be. Would affect all the call sites but keep the special cases in one place.

PR comment:

If changing the AddModelError(... Exception ...) method to pass the ModelMetadata in as well, could also require the AttemptedValue. Might only need ValueInvalid_WithValueResource (well, renamed to ValueInvalidResource :smiley_cat: ).

See also #2969 which covers a different set of user-visible messages which should also be customizable in ModelBindingMessages. In #2969, the messages are provided in IClientModelValidator implementations and not by the model binding system.

Reassigning to myself since we want this to happen before @kichalla gets back.

04453a2


when a Button is disabled, the Ripple still working.

Unfortunately, none of the components support a 'real' disabled state now.
Should have it in future releases


Removed from Chrome store?

Is there a reason the extension's been removed?

Any chance you could resubmit this? Works fine when installing from the repo, but I'd like to sync it across the different machines I use.


Remove unneeded sandboxes from tests of metarequire

[x] tests and linter show no problems (npm t)
[x] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)

Landed in https://github.com/metarhia/metavm/commit/978c4c29585f09d27396992f734983719646bba0


Is this warning ok ?

Hello, I use FSR with Unity 2022.3.4f1, and when I reload a Script everything works but I get this warning :
FSR: Unable to create assembly with 'InternalsVisibleToAttribute' for dynamically recompiled code. Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'UnityEngine.CoreModule, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
Is it harmless ?
Thanks a lot for your work though, it's really amazing.

Thanks, glad you like it. Yes it's harmless.
Happens for stuff like Rider integration assy.
I'll hide it behind debug for firther release as ot's generally not that
important.
On Sun, 9 Jul 2023, 12:40 Nico, @.***> wrote:

Hello, I use FSR with Unity 2022.3.4f1, and when I reload a Script
everything works but I get this warning :
FSR: Unable to create assembly with 'InternalsVisibleToAttribute' for
dynamically recompiled code. Mono.Cecil.AssemblyResolutionException: Failed
to resolve assembly: 'UnityEngine.CoreModule, Version=<IP_ADDRESS>,
Culture=neutral, PublicKeyToken=null'
Is it harmless ?
Thanks a lot for your work though, it's really amazing.
—
Reply to this email directly, view it on GitHub
https://github.com/handzlikchris/FastScriptReload/issues/94, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQM2MXJJRPIRQMK7VRHKY3XPKDCVANCNFSM6AAAAAA2DNMCUU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I get this error whenever I make any change, so it's a little annoying.
Could you change the log level please?


Performance improvements by caching

This MR makes 3 changes to improve the layer layouts:

calls to g.Layers() are now stored in a variable to avoid computing it in loops (layer assigner, cycle remover, brandeskopf)
neighbors are also cached to avoid parsing the whole segment list when trying to find neighbors of a single node (brandeskopf, cycle_remover)
crossings comparisons for adjacent nodes in a layer are now computed only between these 2 adjacent nodes, since it is not useful to add crossing of unrelated nodes

Benchmarks
Running with No ordering assigner (0 epoch)
	gl := layout.SugiyamaLayersStrategyGraphLayout{
		CycleRemover:   layout.NewSimpleCycleRemover(),
		LevelsAssigner: layout.NewLayeredGraph,
		OrderingAssigner: layout.WarfieldOrderingOptimizer{
			Epochs:                   0,
			LayerOrderingInitializer: layout.BFSOrderingInitializer{},
			LayerOrderingOptimizer: layout.CompositeLayerOrderingOptimizer{
				Optimizers: []layout.LayerOrderingOptimizer{
					// layout.WMedianOrderingOptimizer{},
					layout.SwitchAdjacentOrderingOptimizer{},
				},
			},
		}.Optimize,
		NodesHorizontalCoordinatesAssigner: layout.BrandesKopfLayersNodesHorizontalAssigner{
			Delta: 125,
		},
		NodesVerticalCoordinatesAssigner: layout.BasicNodesVerticalCoordinatesAssigner{
			MarginLayers:   125,
			FakeNodeHeight: 50,
		},
		EdgePathAssigner: layout.StraightEdgePathAssigner{}.UpdateGraphLayout,
	}
	gl.UpdateGraphLayout(g)

Example: tree with 5000 nodes:
input.jsonl.json
Time for main version: 23 seconds
cycle remover:  322.1371ms
levels assigner:  328.6456ms
validate:  0s
ordering assigner:  2.5544ms
node horizontal coordinates:  22.2575877s
node vertical coordinates:  5.3355ms
Time for this version: 50ms seconds
cycle remover:  2.1821ms
levels assigner:  5.5674ms
validate:  536µs
ordering assigner:  4.5944ms
node horizontal coordinates:  22.4342ms
node vertical coordinates:  4.5977ms
Example: tree with 50000 nodes:
input-50000.jsonl.json
Time for main version: ?
cycle remover:  32.1171135s
levels assigner:  32.568738s
validate:  5.0201ms
ordering assigner:  46.0467ms
node horizonal coordinates: ? Didn't let it finish
Time for this version: 550ms
cycle remover:  37.5156ms
levels assigner:  48.2833ms
validate:  9.937ms
ordering assigner:  39.7217ms
node horizontal coordinates:  257.2831ms
node vertical coordinates:  52.993ms

btw, @gverger do you want to lead this project? I can share repo ownership to you. or if you want, to new github org.
I did not update this for 3 years, and looks like you know a lot about this and is working on it. this project better be in good hands!

Thanks for your comments, they make sense!
I can take over if you don't plan to go back at it. I like the direction it has taken. I don't know how long I will make changes to it, but I can take care of it a little bit :)

I changed its name on my side, hopefully it won't collide anymore.

ok, I see you renamed. but I am still getting error. I guess no other way but full remove it. looks like GitHub trackes repos not by name but by some hashes/ids.
so that we don't miss your updates and this history, let's merge this into master first. then please back up locally your repo and all your branches. ping me when you delete it. and I will transfer it.
I am merging these PRs first!

@gverger I merged you PRs.
hope that my comments remain in PR history after transfer!
I added tags and releases before your patches, if you need reference
once you delete fork, I will transfer it to you. hope that works!

yes, there should not be fork, even renamed one. https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository

Hello again, sorry about that :)
My fork is nuked. You should be able to transfer.
Thank you for your responsiveness 👍

of course! I initiated transfer, look out for notifications from GitHub if you get any

repo is is transferred


Increase the timeout

Increase the timeout for the GivenValidMessageReceivesValidResponse test. Without this setting the test does intermittently timeout in the CI pipeline.

Just adding a comment to hold this until we are 100% sure this is going to fix the intermittent test issues.


[App] wandb.plot.bar no permission to view

Describe the bug
As of recently, none of the wandb.plot.bar plots are displaying in any of my projects
To Reproduce
Steps to reproduce the behavior:
I tried a simple test such as this
wandb.init(...)
testData = [[0,5], [1,10], [2,3], [3,20]]
testTable = wandb.Table(data=testData, columns=['index', 'block'])
wandb.log({'testTable': wandb.plot.bar(testTable, 'index', 'block', title='test')})
Expected behavior
A clear and concise description of what you expected to happen.
A bar chart should appear. Instead, getting the message: "This chart does not exist or you don't have permission to view it."
Screenshots
If applicable, add screenshots to help explain your problem.

I can manually edit the plot to make it a histogram, but this is not formatted as a bar chart

Operating System

OS: [e.g. iOS] MacOS 12.0.1
Browser [e.g. chrome, safari] Safari 15.1
Wandb version 0.12.6

Additional context
Add any other context about the problem here.
I cannot view the Bar chart on this wandb report as well: https://wandb.ai/wandb/plots/reports/Custom-Bar-Charts--VmlldzoyNzExNzk

+1 encountering this issue as well

I also encounter this issue as well. 😢

+1

This issue is still ongoing, correct? I still seem to have it.

Hi All, this should now be fixed. Please reach out and let us know if you still see this anywhere or have any issues. Thank you!


Markers Ar ? Any possiblity to use a Marker recognition like Vuforia or similar?

It is possible to use an old "simple" marker system like vuforia?

Not at this time. We are looking into adding support for marker API's in a future release. Will update this issue when we have more information

Is there any estimated date for this?

We are currently working on adding support for ARKit 1.5 (iOS only) which includes marker/image tracking functionality. We are targeting late Feb for this release. (Note: ARKit 1.5 is in developer preview and Apple has said that it will go live this spring.)
We are also working on our own cross platform image tracking solution that works across iOS and Android. We are targeting end of this quarter for this release.

What about ARCore?

Image tracking for ARCore will be supported in our cross platform solution targeted for end of quarter release.

ViroReact 2.4 has been released and supports ARKit 1.5 developer preview. ARKit 1.5 includes marker/image tracking functionality. This is now available with ViroReact on iOS. ViroReact 2.4 release notes and upgrade instructions here -> https://docs.viromedia.com/docs/releases
Please read our documentation on enabling ARKit 1.5 development on Viro -> https://docs.viromedia.com/docs/enable-arkit-15-beta-features

We added support for image/recognition to ARCore/Android in our latest release, ViroReact 2.6.0. Now you can build cross platform AR apps with image recognition. Release Notes and upgrade instructions here -> https://docs.viromedia.com/docs/releases
Some demos and code samples for you to try it out yourself.

AR Poster Demo code sample -> https://github.com/viromedia/viro/tree/master/js/ARPosterDemo

AR Car Marker Demo code sample -> https://github.com/viromedia/viro/tree/master/js/ARCarDemo


Add instagram

Hey, great package thank you for making this available!
I see instagram isn't one of the available sharing options though, do you think it's simple to add it? I need ig sharing in my platform, let me know if you plan on doing that soon or if I need to switch to another sharing tool.
Best regards

@henriquesaias AFAIK Instagram does not have direct share link API like facebook/other platforms since it's primary goal is to share images not link, if there is please let me know, I think I can remove LinkedIn 😂


Moved GUI docs

What does this PR do?
Moved GUI README to the docs/beta folder.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?

@masci I started adding a link in the changes doc & decided to just merge the two files, seems to make more sense than having a separate document for the GUI specifically


Add option for enabling userinactive focus

When video paused and page is scrolled where the player is not visible, code for setting focus to the controlbar in userinactive event cause page to scroll up to the video again. Which is undesired in some cases. By simply adding an option to enable/disable this behaviour it is possible to overcome this glitch. #39

Thanks


Minor Changes

Added RomFS support and Resolution Constants for Nintendo Switch

About the RomFS, i think it should be optional to the developer, to use it or not, so it can be initialized in the application code and not the library.
For the resolution constants, its probably fine to have it defined in constants, but the CORE.Window.display needs to be set in order to raylib know the size of the screen.


Release 0.4 exe needs explicit stdout/stderr redirect

Running lolremez.exe doesn't seem to "do" anything unless one explicitly redirects the stdout (and stderr).
This works but one has to inspect the txt files afterwards manually:
lolremez >stdout.txt 2>stderr.txt

I know this is a very ancient bug, but I ensured the latest release (0.7) works properly in both cmd.exe and Powershell.


Break up moveit simple into offline robot and online robot object.

The moveit_simple object is currently used in two different manors.  The first way uses moveit_simple to perform kinematics and path planning.  The second way builds on top of this functionality to execute paths (online).  Specifically the execute method and the updateState are used exclusively for online functionality.  The big difference between offline and online functionality is that the current robot state (online) is often used to seed various IK calls.  When used in an offline manor, how the seed is determines is unclear (in reality it simply uses the joint pose calculated from the last call to IK, which might not be expected).

@geoffreychiou, could you look at this one?

I think we have already addressed this in #21


Can't manage to push multiple requests

I have tried a variety of ways to send a list of 21 files in a push request.  But it seems that somewhere something is ending causing the server to crash
/home/alan/dev/node-http2/lib/protocol/stream.js:627
      throw new Error('Sending illegal frame (' + frame.type + ') in ' + this.state + ' state.');
      ^

Error: Sending illegal frame (DATA) in CLOSED state.
    at Stream.transition [as _transition] (/home/alan/dev/node-http2/lib/protocol/stream.js:627:13)
    at Stream._pushUpstream (/home/alan/dev/node-http2/lib/protocol/stream.js:230:8)
    at Stream._finishing (/home/alan/dev/node-http2/lib/protocol/stream.js:351:10)
    at emitNone (events.js:67:13)
    at Stream.emit (events.js:166:7)
    at finishMaybe (_stream_writable.js:468:14)
    at endWritable (_stream_writable.js:478:3)
    at Stream.Writable.end (_stream_writable.js:443:5)
    at OutgoingResponse._finish (/home/alan/dev/node-http2/lib/http.js:355:17)
    at emitNone (events.js:72:20)

I go through a process which gives me an array of objects with the push url and filename in each object.  My code is
        if(req.url === '/' || req.url === '/index.html') {
          if(res.push) {
            pushlist.forEach(item=> {
              var p = res.push(item.url)
              p.writeHead(200);
              fs.createReadStream(item.filename).pipe(p);
            })
          }
        }
        router(req,res,donewrapper);

the router(req,res,donewrapper); goes on to server index.html via serve-static.
without the push stuff, the server works perfectly - and single stepping through the initialisation of each of the file readstreams also seems to work.  It is only later when one of the streams end (see how OutgoingResponse._finish is at the bottom of the call stack) that this happens.
I don't know where to go next.

This looks like a duplicate of #107 (the stack is exactly the same). I suspect your client is sending a RST_STREAM for one or more of the pushes, for some reason or another.


As a user, I want the product to have a consistent brand so that I can easily identify it

Story/task details
I @strburst can get started on the logo/color scheme after we pick a name if no one feels strongly.

[x] Choose a name for the product (qna)
[ ] Create a logo (an svg?)
[ ] Choose a decent color scheme

Acceptance scenarios
Given
Nothing needs to happen beforehand.
When
Visiting the site should trigger this feature, since color, name, and logo should all be clearly visible.
Then
We will follow consistent design guidelines when implementing the product.
Definition of done
This feature is ready when the product has all the essential branding elements chosen.

Possible logos:

@strburst the branding idea is pretty cool. I like the logos so far as well. However, will this ticket also apply to the overall theme of the app itself? Or is this just for colorscheme and logo as a precursor to that?

@strburst we should also have a ticket for the overall theme of the app. As we will have a consistent menu bar and header per our prototype

Closing because there hasn't been much discussion, and the choice of colors/logo/etc. is arguably best decided over a group chat/in person.


adb doesn't work

Describe the bug
"adb" does not work, even after setting up Android Studio
To Reproduce
Steps to reproduce the behavior:

Run the mobilehacktools installer (at least for android)
open a terminal
type adb

Expected behavior
the adb help page shows in terminal
Terminal output
-bash: adb: command not found
Desktop (please complete the following information):

OS: macOS

Additional context

Can you check on master? It should work now :)


Update Every Post to Use Image Template

This is something that I've put off for a LONG time. Now, I plan to tackle it while doing #221 and #222.

Update Java Tutorial Rework.

Updated image on 23 Tech Topics to Tackle.

Updated yet another blog post: https://therenegadecoder.com/blog/kicking-off-the-new-year-with-a-password-manager/

Updated Plex Organizer Script.

Blogs are done! Only things that need fixed are old updates.

Updated image: https://therenegadecoder.com/updates/the-massive-image-overhaul/

Updated: https://therenegadecoder.com/updates/crack-open-cold-one-celebrate-50-articles/

Updated: https://therenegadecoder.com/updates/marketing-make-ends-meet/

Updated: https://therenegadecoder.com/updates/welcome-to-the-renegade-coder/

Updated: https://therenegadecoder.com/updates/branding-ecommerce-seo/

Updated: https://therenegadecoder.com/updates/paragon-vs-renegade/

Updated: https://therenegadecoder.com/updates/edison-genealogy-festivities/

11 to go!

Updated: https://therenegadecoder.com/updates/chapter-closing-season/

Updated: https://therenegadecoder.com/updates/genes-cats-code/

Updated: https://therenegadecoder.com/updates/actualizaciones-en-espanol/

Updated: https://therenegadecoder.com/updates/competition-results-return-grind/

3 to go! ☯

Updated: https://therenegadecoder.com/updates/georgia-patreon-and-bumper-stickers/


Cannot open the program without an error showing up

I tried using older versions but it wouldnt let me log in so i constantly tried redownloading the newest one but i keep getting an error that won't allow me to open it https://prnt.sc/116xyyx

Duplicate https://github.com/pypy-vrc/VRCX/issues/151 https://github.com/pypy-vrc/VRCX/issues/129#issuecomment-751898884 older versions wont work anyway due to https://github.com/pypy-vrc/VRCX/issues/171

Duplicate #151 #129 (comment) older versions wont work anyway due to #171

uhh you might wanna read the rest of there message

so i constantly tried redownloading the newest one but i keep getting an error that won't allow me to open it https://prnt.sc/116xyyx

yea misread, oh well still applies

not really they tried using "NEWEST" version so might want go fix that error since there getting it on the "NEWEST" version

that's what the first two links are for, other people having the same issue and the last link explaining why older versions don't work


Failed dependencies

Hello,
Thank you so much for this tool!
I've been testing it out and I've come across some failed tasks. I've installed the required dependencies but I still get an output with tasks failed or left pending. Here is a screenshot of my console.
Any help is much appreciated!
user@ubuntu:~/osGeo/osm-data-classification$ PYTHONPATH=src python3 -m luigi --local-scheduler --module analysis_tasks AutoKMeans --dsname prince-edward-island

/home/user/.local/lib/python3.5/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version.
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      OSMHistoryParsing(datarep=data, dsname=prince-edward-island)
2017-10-12 17:12:46,953 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      OSMHistoryParsing(datarep=data, dsname=prince-edward-island)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:12:46,954 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   OSMHistoryParsing_data_prince_edward_is_ee0c385c15   has status   DONE
2017-10-12 17:12:46,954 :: INFO :: _add_task : Informed scheduler that task   OSMHistoryParsing_data_prince_edward_is_ee0c385c15   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:12:46,954 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:12:46,954 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:12:46,955 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 21
2017-10-12 17:12:46,955 :: DEBUG :: run : Pending tasks: 21
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   OSMElementEnrichment(datarep=data, dsname=prince-edward-island)
2017-10-12 17:12:46,955 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   OSMElementEnrichment(datarep=data, dsname=prince-edward-island)
/home/user/.local/lib/python3.5/site-packages/numpy/lib/arraysetops.py:463: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  mask |= (ar1 == a)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      OSMElementEnrichment(datarep=data, dsname=prince-edward-island)
2017-10-12 17:13:32,723 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      OSMElementEnrichment(datarep=data, dsname=prince-edward-island)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:13:32,723 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   OSMElementEnrichment_data_prince_edward_is_ee0c385c15   has status   DONE
2017-10-12 17:13:32,724 :: INFO :: _add_task : Informed scheduler that task   OSMElementEnrichment_data_prince_edward_is_ee0c385c15   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:13:32,724 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:13:32,724 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:13:32,724 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 20
2017-10-12 17:13:32,725 :: DEBUG :: run : Pending tasks: 20
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
2017-10-12 17:13:32,725 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
2017-10-12 17:14:06,386 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:06,386 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   ChangeSetMetadataExtract_data_prince_edward_is_ee0c385c15   has status   DONE
2017-10-12 17:14:06,387 :: INFO :: _add_task : Informed scheduler that task   ChangeSetMetadataExtract_data_prince_edward_is_ee0c385c15   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:06,387 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:06,387 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:06,387 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 19
2017-10-12 17:14:06,388 :: DEBUG :: run : Pending tasks: 19
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   UserMetadataExtract(datarep=data, dsname=prince-edward-island)
2017-10-12 17:14:06,388 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   UserMetadataExtract(datarep=data, dsname=prince-edward-island)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      UserMetadataExtract(datarep=data, dsname=prince-edward-island)
2017-10-12 17:14:14,528 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      UserMetadataExtract(datarep=data, dsname=prince-edward-island)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:14,529 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   UserMetadataExtract_data_prince_edward_is_ee0c385c15   has status   DONE
2017-10-12 17:14:14,529 :: INFO :: _add_task : Informed scheduler that task   UserMetadataExtract_data_prince_edward_is_ee0c385c15   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:14,529 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:14,529 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:14,530 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 18
2017-10-12 17:14:14,530 :: DEBUG :: run : Pending tasks: 18
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
2017-10-12 17:14:14,530 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
2017-10-12 17:14:15,679 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:15,680 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   AddExtraInfoUserMetadata_data_prince_edward_is_5_ae03abeb60   has status   DONE
2017-10-12 17:14:15,680 :: INFO :: _add_task : Informed scheduler that task   AddExtraInfoUserMetadata_data_prince_edward_is_5_ae03abeb60   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:15,681 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:15,681 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:15,681 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 17
2017-10-12 17:14:15,681 :: DEBUG :: run : Pending tasks: 17
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   MetadataNormalization(datarep=data, dsname=prince-edward-island, metadata_type=user)
2017-10-12 17:14:15,681 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   MetadataNormalization(datarep=data, dsname=prince-edward-island, metadata_type=user)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      MetadataNormalization(datarep=data, dsname=prince-edward-island, metadata_type=user)
2017-10-12 17:14:22,565 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      MetadataNormalization(datarep=data, dsname=prince-edward-island, metadata_type=user)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:22,566 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   MetadataNormalization_data_prince_edward_is_user_37dbbaf168   has status   DONE
2017-10-12 17:14:22,566 :: INFO :: _add_task : Informed scheduler that task   MetadataNormalization_data_prince_edward_is_user_37dbbaf168   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:22,566 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:22,567 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:22,567 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 16
2017-10-12 17:14:22,567 :: DEBUG :: run : Pending tasks: 16
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   VarianceAnalysisTask(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_mindimensions=3, nb_maxdimensions=12, features=)
2017-10-12 17:14:22,567 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   VarianceAnalysisTask(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_mindimensions=3, nb_maxdimensions=12, features=)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      VarianceAnalysisTask(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_mindimensions=3, nb_maxdimensions=12, features=)
2017-10-12 17:14:22,589 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      VarianceAnalysisTask(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_mindimensions=3, nb_maxdimensions=12, features=)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:22,589 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   VarianceAnalysisTask_data_prince_edward_is__de6ea788c3   has status   DONE
2017-10-12 17:14:22,590 :: INFO :: _add_task : Informed scheduler that task   VarianceAnalysisTask_data_prince_edward_is__de6ea788c3   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:22,590 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:22,590 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:22,590 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 15
2017-10-12 17:14:22,591 :: DEBUG :: run : Pending tasks: 15
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingVarianceAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
2017-10-12 17:14:22,591 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingVarianceAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingVarianceAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
2017-10-12 17:14:23,022 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingVarianceAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:23,023 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   PlottingVarianceAnalysis_data_prince_edward_is__dba8e840cb   has status   DONE
2017-10-12 17:14:23,023 :: INFO :: _add_task : Informed scheduler that task   PlottingVarianceAnalysis_data_prince_edward_is__dba8e840cb   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:23,023 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:23,023 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:23,023 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 14
2017-10-12 17:14:23,024 :: DEBUG :: run : Pending tasks: 14
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
2017-10-12 17:14:23,024 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
2017-10-12 17:14:23,182 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:23,183 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   AutoPCA_data_prince_edward_is__dba8e840cb   has status   DONE
2017-10-12 17:14:23,183 :: INFO :: _add_task : Informed scheduler that task   AutoPCA_data_prince_edward_is__dba8e840cb   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:23,183 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:23,183 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:23,183 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 13
2017-10-12 17:14:23,184 :: DEBUG :: run : Pending tasks: 13
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingPCAFeatureContributions(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
2017-10-12 17:14:23,184 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingPCAFeatureContributions(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingPCAFeatureContributions(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
2017-10-12 17:14:23,906 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingPCAFeatureContributions(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:23,907 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   PlottingPCAFeatureContributions_data_prince_edward_is_user_712495f9c5   has status   DONE
2017-10-12 17:14:23,907 :: INFO :: _add_task : Informed scheduler that task   PlottingPCAFeatureContributions_data_prince_edward_is_user_712495f9c5   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:23,908 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:23,908 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:23,908 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 12
2017-10-12 17:14:23,908 :: DEBUG :: run : Pending tasks: 12
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingPCACorrelationCircle(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
2017-10-12 17:14:23,908 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   PlottingPCACorrelationCircle(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingPCACorrelationCircle(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
2017-10-12 17:14:24,874 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      PlottingPCACorrelationCircle(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:24,875 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   PlottingPCACorrelationCircle_data_prince_edward_is_user_712495f9c5   has status   DONE
2017-10-12 17:14:24,876 :: INFO :: _add_task : Informed scheduler that task   PlottingPCACorrelationCircle_data_prince_edward_is_user_712495f9c5   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:24,876 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:24,876 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:24,876 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 11
2017-10-12 17:14:24,876 :: DEBUG :: run : Pending tasks: 11
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=5)
2017-10-12 17:14:24,876 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=5)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=5)
2017-10-12 17:14:25,304 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=5)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:25,304 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_23ac327dcf   has status   DONE
2017-10-12 17:14:25,305 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_23ac327dcf   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:25,305 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:25,305 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:25,305 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 10
2017-10-12 17:14:25,306 :: DEBUG :: run : Pending tasks: 10
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=6)
2017-10-12 17:14:25,306 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=6)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=6)
2017-10-12 17:14:25,764 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=6)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:25,764 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_107c39fe48   has status   DONE
2017-10-12 17:14:25,765 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_107c39fe48   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:25,765 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:25,765 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:25,765 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 9
2017-10-12 17:14:25,766 :: DEBUG :: run : Pending tasks: 9
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=7)
2017-10-12 17:14:25,766 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=7)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=7)
2017-10-12 17:14:26,272 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=7)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:26,272 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_a7a3bb456f   has status   DONE
2017-10-12 17:14:26,273 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_a7a3bb456f   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:26,273 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:26,273 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:26,273 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 8
2017-10-12 17:14:26,274 :: DEBUG :: run : Pending tasks: 8
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=8)
2017-10-12 17:14:26,274 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=8)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=8)
2017-10-12 17:14:26,834 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=8)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:26,835 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_d62355b835   has status   DONE
2017-10-12 17:14:26,835 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_d62355b835   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:26,835 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:26,836 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:26,836 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 7
2017-10-12 17:14:26,836 :: DEBUG :: run : Pending tasks: 7
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=3)
2017-10-12 17:14:26,836 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=3)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=3)
2017-10-12 17:14:27,182 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=3)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:27,182 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_2afd311993   has status   DONE
2017-10-12 17:14:27,183 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_2afd311993   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:27,183 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:27,183 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:27,183 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 6
2017-10-12 17:14:27,184 :: DEBUG :: run : Pending tasks: 6
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=4)
2017-10-12 17:14:27,184 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=4)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=4)
2017-10-12 17:14:27,579 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=4)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:27,580 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_3d109ea54e   has status   DONE
2017-10-12 17:14:27,581 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_3d109ea54e   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:27,581 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:27,581 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:27,581 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 5
2017-10-12 17:14:27,581 :: DEBUG :: run : Pending tasks: 5
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2)
2017-10-12 17:14:27,581 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2)
2017-10-12 17:14:27,779 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:27,779 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_6fba20c9dd   has status   DONE
2017-10-12 17:14:27,780 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_6fba20c9dd   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:27,780 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:27,780 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:27,780 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 4
2017-10-12 17:14:27,781 :: DEBUG :: run : Pending tasks: 4
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=9)
2017-10-12 17:14:27,781 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=9)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=9)
2017-10-12 17:14:28,377 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=9)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:28,377 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_f145ee7fbd   has status   DONE
2017-10-12 17:14:28,378 :: INFO :: _add_task : Informed scheduler that task   KMeansFromPCA_data_prince_edward_is_user_f145ee7fbd   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:28,378 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:28,378 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:28,378 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 3
2017-10-12 17:14:28,378 :: DEBUG :: run : Pending tasks: 3
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
2017-10-12 17:14:28,379 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
2017-10-12 17:14:28,490 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) done      KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:28,491 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansReport_data_prince_edward_is_user_17626ff787   has status   DONE
2017-10-12 17:14:28,491 :: INFO :: _add_task : Informed scheduler that task   KMeansReport_data_prince_edward_is_user_17626ff787   has status   DONE
DEBUG: Asking scheduler for work...
2017-10-12 17:14:28,492 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:28,492 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:28,492 :: INFO :: prune : Done pruning task graph
DEBUG: Pending tasks: 2
2017-10-12 17:14:28,493 :: DEBUG :: run : Pending tasks: 2
INFO: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
2017-10-12 17:14:28,493 :: INFO :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) running   KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
ERROR: [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) failed    KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/luigi/worker.py", line 194, in run
    new_deps = self._run_get_new_deps()
  File "/home/user/.local/lib/python3.5/site-packages/luigi/worker.py", line 131, in _run_get_new_deps
    task_gen = self.task.run()
  File "/home/user/osGeo/osm-data-classification/src/analysis_tasks.py", line 910, in run
    self.nbmin_clusters, self.nbmax_clusters)
  File "/home/user/osGeo/osm-data-classification/src/unsupervised_learning.py", line 451, in kmeans_elbow_silhouette
    s = random.sample(range(len(feature)), 2000)
  File "/usr/lib/python3.5/random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population
2017-10-12 17:14:28,608 :: ERROR :: run : [pid 31843] Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) failed    KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/luigi/worker.py", line 194, in run
    new_deps = self._run_get_new_deps()
  File "/home/user/.local/lib/python3.5/site-packages/luigi/worker.py", line 131, in _run_get_new_deps
    task_gen = self.task.run()
  File "/home/user/osGeo/osm-data-classification/src/analysis_tasks.py", line 910, in run
    self.nbmin_clusters, self.nbmax_clusters)
  File "/home/user/osGeo/osm-data-classification/src/unsupervised_learning.py", line 451, in kmeans_elbow_silhouette
    s = random.sample(range(len(feature)), 2000)
  File "/usr/lib/python3.5/random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population
DEBUG: 1 running tasks, waiting for next task to finish
2017-10-12 17:14:28,632 :: DEBUG :: run : 1 running tasks, waiting for next task to finish
INFO: Informed scheduler that task   KMeansAnalysis_data_prince_edward_is_user_17626ff787   has status   FAILED
2017-10-12 17:14:28,639 :: INFO :: _add_task : Informed scheduler that task   KMeansAnalysis_data_prince_edward_is_user_17626ff787   has status   FAILED
DEBUG: Asking scheduler for work...
2017-10-12 17:14:28,639 :: DEBUG :: _get_work : Asking scheduler for work...
2017-10-12 17:14:28,639 :: INFO :: prune : Starting pruning of task graph
2017-10-12 17:14:28,639 :: INFO :: prune : Done pruning task graph
DEBUG: Done
2017-10-12 17:14:28,640 :: DEBUG :: _log_remote_tasks : Done
DEBUG: There are no more tasks to run at this time
2017-10-12 17:14:28,640 :: DEBUG :: _log_remote_tasks : There are no more tasks to run at this time
DEBUG: There are 2 pending tasks possibly being run by other workers
2017-10-12 17:14:28,640 :: DEBUG :: _log_remote_tasks : There are 2 pending tasks possibly being run by other workers
DEBUG: There are 2 pending tasks unique to this worker
2017-10-12 17:14:28,640 :: DEBUG :: _log_remote_tasks : There are 2 pending tasks unique to this worker
DEBUG: There are 2 pending tasks last scheduled by this worker
2017-10-12 17:14:28,640 :: DEBUG :: _log_remote_tasks : There are 2 pending tasks last scheduled by this worker
INFO: Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) was stopped. Shutting down Keep-Alive thread
2017-10-12 17:14:28,641 :: INFO :: run : Worker Worker(salt=081532708, workers=1, host=ubuntu, username=user, pid=31843) was stopped. Shutting down Keep-Alive thread
INFO:
**===== Luigi Execution Summary =====

Scheduled 23 tasks of which:
* 1 present dependencies were encountered:
    - 1 EditorCountByUser(datarep=data, n_top_editor=5)
* 20 ran successfully:
    - 1 AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
    - 1 AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
    - 1 ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
    - 8 KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2...9)
    - 1 KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
    ...
* 1 failed:
    - 1 KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
* 1 were left pending, among these:
    * 1 had failed dependencies:
        - 1 AutoKMeans(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)

This progress looks :( because there were failed tasks

===== Luigi Execution Summary =====

2017-10-12 17:14:28,648 :: INFO :: _schedule_and_run :
===== Luigi Execution Summary =====

Scheduled 23 tasks of which:
* 1 present dependencies were encountered:
    - 1 EditorCountByUser(datarep=data, n_top_editor=5)
* 20 ran successfully:
    - 1 AddExtraInfoUserMetadata(datarep=data, dsname=prince-edward-island, n_top_editor=5)
    - 1 AutoPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, nb_min_dim=3, nb_max_dim=12, features=)
    - 1 ChangeSetMetadataExtract(datarep=data, dsname=prince-edward-island)
    - 8 KMeansFromPCA(datarep=data, dsname=prince-edward-island, metadata_type=user, n_components=0, nb_clusters=2...9)
    - 1 KMeansReport(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
    ...
* 1 failed:
    - 1 KMeansAnalysis(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)
* 1 were left pending, among these:
    * 1 had failed dependencies:
        - 1 AutoKMeans(datarep=data, dsname=prince-edward-island, metadata_type=user, nbmin_clusters=3, nbmax_clusters=8)

This progress looks :( because there were failed tasks

===== Luigi Execution Summary =====

Hi @ktjaco!
Thank you for your nice comment!
By checking your log, it seems that the problem does not come from a missing dependency.
How many users are there in your dataset? I bet it is less than 2000. If so, the problem comes from the way we are computing the cluster silhouette (as it is computer-intensive, we sample only 2000 users and do the computation on them, however if you have less user than this threshold, the 'sample' function will crash).
We work on it!

@delhomer I was able to follow the blog posts and generate some statistics on tagsets anyway. Thank you again for this framework!


CI Fix

Describe your changes

Removed test test_db_driver_error_raised because the latest DuckDB release is handling these cases:

modified the sqlglot parsing logic to check for Nonetype.

Opened issues for the pending fixes:
https://github.com/ploomber/jupysql/issues/994
https://github.com/ploomber/jupysql/issues/993
Issue number
Closes #991
Checklist before requesting a review

[ ] Performed a self-review of my code
[ ] Formatted my code with pkgmt format
[ ] Added tests (when necessary).
[ ] Added docstring documentation and update the changelog (when needed)

📚 Documentation preview 📚: https://jupysql--992.org.readthedocs.build/en/992/

Please review @edublancas

@neelasha23 the tests are still failing: https://github.com/ploomber/jupysql/actions/runs/8007801460/job/21872791573?pr=992

@neelasha23 the tests are still failing: https://github.com/ploomber/jupysql/actions/runs/8007801460/job/21872791573?pr=992

Yes it's the clickhouse tests only. Opened an issue and tagged in the PR description: https://github.com/ploomber/jupysql/issues/993
I'm still figuring out the issue @edublancas