[stable/prometheus-operator] mkdir /prometheus/wal: permission denied

Is this a request for help?
Yes.
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Version of Helm and Kubernetes:
helm version:
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

The issue is the same with helm  v2.12.3.
kubernetes version:
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
stable/prometheus-operator
What happened:
the container prometheus does not work:
prometheus-test-prometheus-operator-prometheus-0       2/3     CrashLoopBackOff   6
the logs：
kubectl logs -f prometheus-test-prometheus-operator-prometheus-0 -c prometheus
level=warn ts=2019-03-13T11:06:40.410423052Z caller=main.go:295 deprecation_notice="\"storage.tsdb.retention\" flag is deprecated use \"storage.tsdb.retention.time\" instead."
level=info ts=2019-03-13T11:06:40.410620036Z caller=main.go:302 msg="Starting Prometheus" version="(version=2.7.1, branch=HEAD, revision=62e591f928ddf6b3468308b7ac1de1c63aa7fcf3)"
level=info ts=2019-03-13T11:06:40.410660121Z caller=main.go:303 build_context="(go=go1.11.5, user=root@f9f82868fc43, date=20190131-11:16:59)"
level=info ts=2019-03-13T11:06:40.410706994Z caller=main.go:304 host_details="(Linux 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 prometheus-test-prometheus-operator-prometheus-0 (none))"
level=info ts=2019-03-13T11:06:40.410747325Z caller=main.go:305 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2019-03-13T11:06:40.410781187Z caller=main.go:306 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-03-13T11:06:40.413968368Z caller=main.go:620 msg="Starting TSDB ..."
level=info ts=2019-03-13T11:06:40.414104205Z caller=web.go:416 component=web msg="Start listening for connections" address=<IP_ADDRESS>:9090
level=info ts=2019-03-13T11:06:40.414561626Z caller=main.go:489 msg="Stopping scrape discovery manager..."
level=info ts=2019-03-13T11:06:40.414595497Z caller=main.go:503 msg="Stopping notify discovery manager..."
level=info ts=2019-03-13T11:06:40.414606866Z caller=main.go:525 msg="Stopping scrape manager..."
level=info ts=2019-03-13T11:06:40.414617696Z caller=main.go:499 msg="Notify discovery manager stopped"
level=info ts=2019-03-13T11:06:40.414657126Z caller=main.go:485 msg="Scrape discovery manager stopped"
level=info ts=2019-03-13T11:06:40.41467679Z caller=main.go:519 msg="Scrape manager stopped"
level=info ts=2019-03-13T11:06:40.414699787Z caller=manager.go:736 component="rule manager" msg="Stopping rule manager..."
level=info ts=2019-03-13T11:06:40.414719773Z caller=manager.go:742 component="rule manager" msg="Rule manager stopped"
level=info ts=2019-03-13T11:06:40.414748959Z caller=notifier.go:521 component=notifier msg="Stopping notification manager..."
level=info ts=2019-03-13T11:06:40.414769872Z caller=main.go:679 msg="Notifier manager stopped"
level=error ts=2019-03-13T11:06:40.415381657Z caller=main.go:688 err="opening storage failed: create dir: mkdir /prometheus/wal: permission denied"

What you expected to happen:
the pod should be running.
How to reproduce it (as minimally and precisely as possible):
helm install stable/prometheus-operator --name test  \
    --set prometheusOperator.securityContext.fsGroup=2000 \
    --set prometheusOperator.securityContext.runAsNonRoot=true \
    --set prometheusOperator.securityContext.runAsUser=1000 \
    --set prometheus.prometheusSpec.securityContext.fsGroup=2000 \
    --set prometheus.prometheusSpec.securityContext.runAsNonRoot=true \
    --set prometheus.prometheusSpec.securityContext.runAsUser=1000 \
    --set alertmanager.alertmanagerSpec.securityContext.securityContext.fsGroup=2000 \
    --set alertmanager.alertmanagerSpec.securityContext.runAsNonRoot=true \
    --set alertmanager.alertmanagerSpec.securityContext.runAsUser=1000 \
    --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=1Gi \
    --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.selector.matchLabels.app="prometheus" \
    --set alertmanager.alertmanagerSpec.storage.volumeClaimTemplate.spec.resources.requests.storage=1Gi \
    --set alertmanager.alertmanagerSpec.storage.volumeClaimTemplate.selector.matchLabels.app="alertmanager"

And I created two PersistentVolume, but I tried to use nfs and  hostPath ,it did not work.
Anything else we need to know:
Here is the same issue: https://github.com/coreos/prometheus-operator/issues/966 .
Had it been fixed?

@justlaputa @vsliouniaev Could anyone help me?I'm sorry to bother you.

This seems like an issue not specific to the helm chart. The closest I've come across was an issue that was something to do with the volume provisioner here: https://github.com/coreos/prometheus-operator/issues/2182

@vsliouniaev  Thanks for your reply! It helps me! I edit the statefuset with this:
  securityContext:
    fsGroup: 0
    runAsNonRoot: false
    runAsUser: 0

It works!
By the way,it seams that could not use --set XXX.securityContext.runAsUser=0 for some reasons of the helm.

Is it good set it run as root in a prod env?

@dongwangdw it is not recommended to do this. From a security point of view this is a bad idea. There are some other setups where even this wouldn't help.

@vsliouniaev
Yes, nowadays many platform run the containers with no root access.
I think this is not a good solution.
I got some issue regarding this, but none gave the root cause and solution.
I saw you got the same problem in issue.
https://github.com/coreos/prometheus-operator/issues/2182.
Did you get it resolved?

I make it by adding the securityContext without setting the user root.
I can not understand why should set a securityContext.
What is the root cause?

This isn't required, for the last 5 months. Are you having the same issue?

yes, I made it resolved by setting a securityContext.
But I got another issue because of this added securityContext.

I added this to my Prometheus definition to avoid running as root:
  ...
  securityContext:
    fsGroup: 489
    runAsUser: 489
  ...
  initContainers:
  - command:
    - chown
    - -R
    - 489:489
    - /prometheus
    image: busybox:1.30
    imagePullPolicy: IfNotPresent
    name: init-chown-data
    resources: {}
    securityContext:
      runAsUser: 0
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /prometheus
      name: prometheus-service-prometheus-db
      subPath: prometheus-db

@maresja1
How did you add it? Do you use helm chart stable/prometheus-operator? I see that it's possible to set  securityContext via values.yaml, but can't see any option for init containers

@jdomag I just had this problem and maresja's advice works perfectly.  The config he pasted goes in your "prometheus" object.  I don't know where the helm chart puts that, but you should have one, as that's the resource that the operator uses to create your prometheus instance.  You may need to adjust the name of the volume mount.

@vsliouniaev 感谢您的回复！它帮助到我！我statefulset用这个编辑：
  securityContext:
    fsGroup: 0
    runAsNonRoot: false
    runAsUser: 0

有用！
顺便说一下，--set XXX.securityContext.runAsUser=0由于某种原因，它无法使用。

thinks

@vsliouniaev Thanks for your reply! It helps me! I edit the statefulset with this:
  securityContext:
    fsGroup: 0
    runAsNonRoot: false
    runAsUser: 0

It works!
By the way,it seams that could not use --set XXX.securityContext.runAsUser=0 for some reasons of the helm.

thinks! This is useful

@sunyl527 thinks! This is useful.


Cannot use the new command inside an Angular CLI project

I want to use Angular CLI to start a project.But I can't use the new command inside an Angular CLI project.

How can I solve it?Thank you.

There is a angular-cli.json somewhere in your path tree. The ng command looks for an angular-cli.json file recursively until it hits the root.

Closing as answered by @grizzm0 👍

Hi
I have the same issue and can you elaborate on how to check whether there's angular-cli.json in my home dir or not, I don't seem to find it.
Thanks

If you are using Windows, you should delete the package.json, package-lock.json files in the C:/Users/{username} folder.

Thx o/

Same solution , ensuer no node_modules / package.json in the directory

zhouzhou-96  Execute o prompt de comando como administrador e, em seguida, crie o novo projeto e ele deve funcionar e quando você usa o IDE, abra como administrador para editar e salvar o projeto. Use também a versão mais recente do nó, se nada funcionar, desinstale e reinstale a versão mais recente e, em seguida, siga o mesmo processo de execução CMD e IDE como administrador.

while execute this command  "ng new your-app-name" check your directory whether it has node_modules and package.json.... if it  has in the directory don't execute that command... change the directory which no node_modules and package.json and try that command it will work/////////

Same issue. I was solved by deleting package.json and package-lock.json files in user folder on mac.


[Tests] Add unit tests for SvgIcon

Initial work by @pradel from #3445

Thanks @pradel, thanks @alitaheri!


Support for oven commands

In the oven config there is commands section. We should handle it
 "commands": [
    {
      "strKey": "OVEN_SKIP_PREHEATING",
      "wifiArrayIndex": 95,
      "enumValues": [
        {
          "strKey": "OVEN_SKIP_PREHEATING_OFF",
          "wifiArrayValue": 0
        },
        {
          "strKey": "OVEN_SKIP_PREHEATING_ON",
          "wifiArrayValue": 1
        }
      ]
    }
  ]

@fotisbaco I'm going to need your help with implementing those commands.  Can you share the screen of how the commands look in the original application?


problem with npm install

Hello. I tried minos earlier and it worked fine but a few days ago I decided to run it and something went wrong. So, I decided to reinstall it and got some errors after invoking "NODE_TLS_REJECT_UNAUTHORIZED=0 npm install" (for me it doesn't work without setting this flag to 0) and "npm config set strict-ssl false" before it(to solve problem with self-signed certificate in a chain which I also have).
Error messages are next:
(node:25068) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
ERROR: Download of https://dl.bintray.com/lovell/sharp/libvips-8.5.5-linux-x64.tar.gz failed: read ECONNRESET
gyp: Call to 'node -e "require('./binding').download_vips()"' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/serhii/.nvm/versions/node/v11.1.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
gyp ERR! System Linux 4.4.0-21-generic
gyp ERR! command "/home/serhii/.nvm/versions/node/v11.1.0/bin/node" "/home/serhii/.nvm/versions/node/v11.1.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/serhii/PycharmProjects/minos/minos/server/node_modules/sstk/node_modules/sharp
gyp ERR! node -v v11.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN sstk No repository field.
npm WARN sstk No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/serhii/.npm/_logs/2018-11-12T20_18_50_062Z-debug.log
In the end:
node-gyp rebuild
at Promise.all.then.arr (/home/serhii/PycharmProjects/minos/minos/server/node_modules/execa/index.js:236:11)
at process.internalTickCallback (internal/process/next_tick.js:77:7)

code: 1,
killed: false,
And finally:
failed: true,
signal: null,
cmd: 'npm install',
timedOut: false,
exitCode: 1 }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>bootstrap: lerna bootstrap --hoist
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!

Hi @GreyCoder25
The problem indeed appears to be with the recent node v11 release which breaks some of our npm dependencies.  Thank you for reporting this issue.  We have updated the instructions to explicitly install the latest node v10 version (i.e. run nvm install v10.13.0).  Please let us know if the issue has been resolved for you with the latest node v10.


tweak(subo): Rename scc -> scn in subo everywhere

Closes #332
Replaces #333

also fixed a variable / package name collision
moved some details to consts, and updated usages accordingly

It looks like there are a lot of linting-related changes that aren't related to the SCC -> SCN swap. Should we land those separately?

@ospencer on one hand I understand the need for it, on the other, the linting was broken in the previous version as it used the linting config from a previous version of gci.
I figured if I have to change some of the linting anyways, I might as well standardise the lints between subo and scn (gci and revive to unearth the import shadows).
To me it's a case of the boyscout rule (leave code looking better than you found it) in this case, and because it's somewhat related, I think it's fine to leave them in for now. Generally I try to separate out things into different PRs.

Closing this as it has been done in suborbital/templates. Thanks @javorszky!


Tests failing with pandas 0.25.0

I am getting the following test failures with pandas 0.25.0 that didn't occur with earlier versions of pandas:
=================================== FAILURES ===================================
____________________________ test_iris_column_names ____________________________

    def test_iris_column_names():
        iris = data.iris()
        assert type(iris) is pd.DataFrame
>       assert tuple(iris.columns) == ('petalLength', 'petalWidth', 'sepalLength',
                                       'sepalWidth', 'species')
E       AssertionError: assert ('sepalLength...h', 'species') == ('petalLength'...h', 'species')
E         At index 0 diff: 'sepalLength' != 'petalLength'
E         Use -v to get the full diff

vega_datasets/tests/test_local_datasets.py:32: AssertionError
____________________________ test_cars_column_names ____________________________

    def test_cars_column_names():
        cars = data.cars()
        assert type(cars) is pd.DataFrame
>       assert tuple(cars.columns) == ('Acceleration', 'Cylinders', 'Displacement',
                                       'Horsepower', 'Miles_per_Gallon', 'Name',
                                       'Origin', 'Weight_in_lbs', 'Year')
E       AssertionError: assert ('Name', 'Mil..._in_lbs', ...) == ('Acceleration..., 'Name', ...)
E         At index 0 diff: 'Name' != 'Acceleration'
E         Use -v to get the full diff

vega_datasets/tests/test_local_datasets.py:51: AssertionError

Thanks - #25 should fix it.


boost.uuid: add missing *.ipp export in hdrs for 1.83.0

boost.uuid do not export *.ipp in 1.83.0

Hello @Vertexwahn, modules you maintain (boost.uuid) have been updated in this PR. Please review the changes.

ok, got it

Try to resolve the issue in #2953


Suggestion: add auxiliary data field (void*) to RClass

The mrb_state structure has a void* ud auxiliary data that can be used to attach user-data to the mrb_state. It would be nice if other structures, in particular RClass (or more generally MRB_OBJECT_HEADER) had this as well.
In a project of mine I implement a mapping between various C++ classes and corresponding RClasss , so that I know how to convert an mrb_value into the right C++ type, do type checking, and so on. I do so by maintaining the mapping in the ud field of the mrb_state. This requires for instance an std::unordered_map mapping an RClass pointer to a C++ structure containing type information. So any operation on such a mapping requires a lookup in a hash table. With a void* ud field in RClass, I would be able to associate my C++ type information structure directly with the corresponding RClass.

That would be nice but the change could make mruby consume more memory. Considering mruby's memory constraints, and how often ud would be used, the addition does not seem to be a fair trade.

Maybe it could be optionally enabled via a macro?

:smiley_cat: I want to use it too, so get two uds ready! This is a joke.
It seems difficult to determine if one is sufficient and who the owner of each object is.
Given that, I think a combination of "instance variable" and mrb_data_object_alloc() would be sufficient.

I think you're right, and even using the ud field associated with the mrb_state seems dangerous retrospectively: if I write a gem that uses it, I can't guarantee that another gem won't be using it as well for something different.
I'm closing the issue.


Creating a user id with multiple value

Is it possible to generate an unique id with multiple field.e.g: first two field fixed with some value, next two values for tab code (how to take tab code on login?), next two values for year,next two values for month, next 4 field filled up by data collector...
example id: RS031901SD13
Please help with some suggestion.
Thanks

Support questions should go to https://forum.opendatakit.org/c/support


HA check offline server

all agent nodes check the server is up,  set it to slave from offline automatic
#146

@ngaut @siddontang   is there any problems?


[engine] Missing symbols in embedder_exports.lst

The linker script embedder_exports.lst has recently been added to the engine repo but it doesn't export the following symbols declared in embedder.h:

kFlutterSemanticsNodeIdBatchEnd
kFlutterSemanticsCustomActionIdBatchEnd

My custom embedder implementation uses the symbol kFlutterSemanticsNodeIdBatchEnd and is failing build for this reason.
https://github.com/flutter-tizen/embedder/actions/runs/3384058505/jobs/5620589180
I think kFlutter*; should be added to the global section in the linker script. Also maybe the issue https://github.com/flutter/flutter/issues/106453 can be closed now.
cc @jason-simmons

FYI, I'd recommend moving your embedder to the new update semantics embedder API introduced by https://github.com/flutter/engine/pull/37129. Here's the relevant changes for the macOS embedder: https://github.com/flutter/engine/pull/37404.

@loic-sharma Thank you for the information. We will check and make updates if necessary (maybe after the next Flutter stable release). cc @wanchao-xu


load existing weights and training

Can someone tell me how to load the existing trained weights from some other dataset and use it to train the model on another datasst.(class is same) ?

Hi @amardeepjaiman,
I'm not sure to understand your point. Are you interested in our trained models? In such a case, I suggest you to contact Oslandia directly by email! Otherwise, if you bring your own trained weights, transfer learning is certainly possible under the condition that the model architectures (the one which produced the weights, and ours) actually fit. As we use Keras, the weights are stored in h5 files; such files may be handled in other contexts.

No news, I close this issue.


Quantile reducer

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (e4601e3) 100.00% compared to head (7623af8) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #75   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           28        28
  Lines          799       799
  Branches        96        96
=========================================
  Hits           799       799

Impacted Files
Coverage Δ

src/arctix/reducers/base.py
100.00% <100.00%> (ø)

src/arctix/reducers/basic.py
100.00% <100.00%> (ø)

src/arctix/reducers/numpy_.py
100.00% <100.00%> (ø)

src/arctix/reducers/torch_.py
100.00% <100.00%> (ø)

src/arctix/stats/continuous.py
100.00% <100.00%> (ø)

src/arctix/testing.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Flybys activity

Hi, and thanks much for creating this plugin!
I was wondering whether you'd entertain adding a functionality:
On the Flybys Viewer (in Strava Labs) by default all Flyby activities (whether runs or rides) are shown. I often check Flybys to see who I passed on the way and, as a runner, am almost always interested only in other runners rather than cyclists.
This patch allows auto-clicking of the "Runs only" (or "Rides only"; depends on the activity) checkbox, obviously adding an option for this to the plugin options page.
Also, because the "Athlete Profile" function throws a JS error on pages where there is no user menu, I had to add a check in there, otherwise the plugin fails on pages like Strava Labs.
Thanks for your consideration!
Jeff

Looks great, very very happy to merge if you could fix up and/or address these two small niggles..?

Yes, thanks!
Committed.
I'm seeing some inconsistency, though, with this feature. Sometimes it works fine, but sometimes the Flybys list isn't loaded yet and the checkbox gets clicked but without the desired effect. I'll have to try something different than $(document).ready().

I'll have to try something different than $(document).ready().

Ah yes. So, I think you can just write this as:
// Show same-activity Flybys only (runs or rides) in the Flyby viewer.
$.option('show_same_activity_flybys', function() {
  if (window.location.pathname.indexOf('/flyby/viewer') !== 0) {
    return;
  }

  $.setInterval(function() {
    // Check the "Runs only" / "Rides only" checkbox
    $('input#hide_different_activity_type')
      .onceOnly()
      .click()
      ;
  }, 1000);
});

I saw that... I'm not crazy about the fact that it continues to run every second. I see there are a number of these running continually now when I browse Strava pages with the plugin.
I dug through Strava's JS a bit to try to find an event or callback to latch onto, but haven't had success yet.

not crazy about the fact that it continues to run every second

Agreed. However, I have plans to fix all of these at once, so if you simply follow the existing pattern then it will be easy to fix them all in one go.

Got it. And glad to hear.
Unfortunately, that approach alone still suffers the same issue where the button is clicked before it can have an effect.
I've switched over to using onceOnly() and added an extra check to ensure the activities table is loaded before clicking.

Thanks!

Released as 2.7.0

Thank you!


Fix typo in Resolution link

Removed an extra ] character from the Resolution link.

@qJake : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Verified correction to link syntax. Thank you!


PHP 5.3.3 (or higher minor rev) for 1.1?

My own personal CMS project requires 5.4 (for traits, mostly), and I'd be happy to go with that too, but it's not quite as gamechanging as 5.3 is.

Lots of stuff is officially depreciated and can be removed from the code, such as magic quotes checks
const keyword can be applied outside of classes, and these are -much- faster than define(). Although it isn't as versatile as define() (can't set arrays, can't set to a variable), this largely does not matter.
namespaces are good things. Still rather limited in 5.3, but better than nothing.
__ DIR__ is finally a thing
closures
The warm fuzzy feeling we get from not being stuck a decade in the past.

AFAIK the 1.1 plan is for 5.3+ and dropping 5.2 support in 1.1 ... So as you see old 5.2 stuff (some was commented as remove when we are 5.3+) then have at it.  Of course I should have said then in the last commit but I was to busy looking at 1.03 commits which are still 5.2

Yep, the development branch is already 5.3+ (even only because all create_function have been converted to closures).
Namespaces was something I was thinking about a while ago (there is a topic on the forum), I'm not yet entirely sure if it is meaningful to use them but I would be in favour of start using at least some.

Namespaces would be a good point to begin a full modern code refactor if you wanted to go that route.

5.4+

I think the version to move to after 5.3 is 5.6. Function/constant namespaces, etc.

Ping #1200  for reference.
Any preferences on the micro? 5.3.3? 5.3.8? 5.3.anything?

5.3.3 is the lowest that will currently run with the fastcgi quick exit call.

Good then, the install/upgrade files are already set to 5.3.3, so we are in! :dancer:

I was trolling the code and found
if (version_compare(PHP_VERSION, '5.3.6') >= 0)

what do you think if we set the minimum to 5.3.6?
I guess it doesn't make much difference in terms of install-base but it allows to drop two ifs? :angel:

What needs 5.3.6?
Though you won't find much under 5.6 in most installations these days.

The node parameter of http://php.net/manual/en/domdocument.savehtml.php ... used in the html2XXX conversion functions ... https://github.com/elkarte/Elkarte/commit/6c627cc5d02ffa72e7cb9b0863f23bbb622c26f1


Missing Segmentation for Pulmonary Artery Branches in Heartchambers_Highres Task

Currently, TotalSegmentator’s heartchambers_highres task includes segmentation of major cardiovascular structures such as myocardium, atria, ventricles, aorta, and the main pulmonary artery. However, there is no support for segmenting the pulmonary artery branches, which are crucial for analyzing and diagnosing pulmonary conditions.

Did you have a look into the lung_vessels subtask? Does this solve some of your problems?


About bmws command-line

Hi,
My Unix system cannot connect to GitHub or use Docker. Therefore, I can only manually download the code from GitHub. I would like to know how to set up the 'bmws' command-line tool. Thank you!

Hi, you are basically asking how to install a Python package completely offline. I've never attempted to do this, but I did manage to find a few recommendations online. See in particular this StackOverflow thread.

If you download the GitHub repository as bmws/ you should be able to install it by going to the directory above and running pip install -e bmws. I think the problem if you don't have internet access is that you will have to install all the dependencies manually first.


Wallet stays out of sync.

I don’t knows why, but my wallets just stopped syncing just after I received a transaction.
Restarting doesn’t help, and I don’t have such problems with other coins.

****Before you do anything backup your wallet file and the folder.
I have bad this problem before on other versions of this code.
Start by copying the wallet file out of the current directory then renaming the directory.
Next reinstall the software (a new directory is created)
Next copy your old wallet file over the new wallet file and restart the program.
It should resync to the chain and show your balance.


No Arrows on Dropdown or Scrollbar

Describe the bug
Selection arrows replaced with question marks on UIDropDownMenu and UIVerticalScrollBar
To Reproduce
Theme:
"drop_down_menu": {
    "misc": {
        "shape": "rounded_rectangle",
        "shape_corner_radius": "5",
        "shadow_width": "0"
    }
},
"drop_down_menu.button": {
    "font": {
        "name": "barlow",
        "size": "18",
        "regular_path": "assets/fonts/Barlow-Light.otf"
    }
},
"drop_down_menu.#drop_down_options_list": {
    "font": {
        "name": "barlow",
        "size": "18",
        "regular_path": "assets/fonts/Barlow-Light.otf"
    },
    "misc": {
        "shape": "rounded_rectangle",
        "shape_corner_radius": "4",
        "shadow_width": "1"
    }
},
"drop_down_menu.#drop_down_options_list.button": {
    "font": {
        "name": "barlow",
        "size": "18",
        "regular_path": "assets/fonts/Barlow-Light.otf"
    }
},

Creation:
manager = self.ui_manager
max_width = self.rect.width
max_height = self.rect.height
num_drop_downs = 3
gap = GAP_SIZE
width = int((max_width / num_drop_downs) - (gap * num_drop_downs + 2))
height = int(max_height / 12)
start_x = 0
start_y = int(max_height / 2)  # anchored to the bottom left
max_expansion = int(start_y - height)

# get traits
for key, trait in library.TRAITS.items():
    if trait.group == TraitGroup.PEOPLE:
        people.append(key)
    elif trait.group == TraitGroup.SAVVY:
        savvy.append(key)
    elif trait.group == TraitGroup.HOMELAND:
        homeland.append(key)

# bundle trait lists with group name
all_traits = [(homeland, TraitGroup.SAVVY), (people, TraitGroup.PEOPLE), (savvy, TraitGroup.SAVVY)]

# create drop downs
count = 0
for traits, trait_group in all_traits:
    x = start_x + (count * (width + gap))
    rect = Rect((x, start_y), (width, height))
    drop_down = UIDropDownMenu(
        options_list=traits,
        starting_option=traits[0],
        relative_rect=rect,
        manager=manager,
        container=self,
        object_id=trait_group,
        expansion_height_limit=max_expansion,
    )

    count += 1
    self.drop_downs.append(drop_down)

Expected behaviour
Arrow shown for vertical scroll bar and drop down menu.
Screenshots

Platform and software (please complete the following information):

OS: Windows 10
Pygame GUI version: 0.5.7
Pygame version: 2.0.0.dev10

That'll be because the font you are using doesn't have arrows in it. You should be able to pick out just the options and the selected option buttons with:
"drop_down_menu": {
    "misc": {
        "shape": "rounded_rectangle",
        "shape_corner_radius": "5",
        "shadow_width": "0"
    }
},
"drop_down_menu.#selected_option": {
    "font": {
        "name": "barlow",
        "size": "18",
        "regular_path": "assets/fonts/Barlow-Light.otf"
    }
},
"drop_down_menu.#drop_down_options_list": {
    "misc": {
        "shape": "rounded_rectangle",
        "shape_corner_radius": "4",
        "shadow_width": "1"
    }
},
"drop_down_menu.#drop_down_options_list.@selection_list_item": {
    "font": {
        "name": "barlow",
        "size": "18",
        "regular_path": "assets/fonts/Barlow-Light.otf"
    }
},

I believe. Unless I added one of those class IDs or Object IDs in 0.6.0.

Ah, sorry mate, you're spot on. Daft question, how do you work out if there is the arrow in the font? I've checked a few dozen now and none list it as a character!
Or anyway to change the arrow to a different symbol?

I used character map in Windows to find the available symbols in a font. One of the reasons I picked the default font was that it had a good range of symbols that I could use for other things. A lot of custom fonts only focus on the latin alphabet and numbers, its one of the difficulties when you want fancy typography and also wide language support.


Improve timestamp filter component

Description
closes #2802
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[x] ~End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )~

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Failed to merge changes into iso4 due to merge conflict.Please open a pull request for these branches separately.

Merged into branches master, iso5 in c6ea5323d0936eb4b34238b630d412882d276a8e

Not closing this pull request due to previously commented issues for some of the destination branches. Please open a separate pull request for those branches. You can safely close this pull request and delete the source branch.


type: 'cli'

for use on CLIs and stuff.  prefix with a tab, don't show timestamp and then put tags last (if they are passed).  take in an optional color to color the whole line
    some message here (blah, blah)

we should probably move the colors object into its own file


Enable swap column of Rowkeys in Cube Designer

Rowkey order is very important part to optimize cube, the current Cube Designer do not support change rowkey column's order as below:

Add swap button to move down or up selected column to change the order like:

Enabled in new cube designer


Building schema failed: Type <type name> declared in createTypes looks like a node, but doesn't implement a Node interface

Description
With @imgix/gatsby enabled, gatsby develop and gatsby build result in the following error:

warn Type ImagesJson declared in createTypes looks like a node, but doesn't implement a Node interface. It's likely that you should add the Node interface to your type def:
type ImagesJson implements Node { ... }
If you know that you don't want it to be a node (which would mean no root queries to retrieve it), you can explicitly disable inference for it:
type ImagesJson @dontInfer { ... }
ERROR
Building schema failed
not finished building schema - 0.106s

To Reproduce
I have the following tandem configured: gatsby-source-filesystem to read a json file called images.json with data, like this:
[
    {
        "url": "https://bucket.imgix.net/images/header/splash.jpg"
    }
]

then gatsby-transformer-json to parse the JSON file, and finally @imgix/gatsby with the following configuration:
        {
            resolve: "@imgix/gatsby",
            options: {
                domain: "bucket.imgix.net",
                sourceType: ImgixSourceType.AmazonS3,
                fields: [
                    {
                        nodeType: "ImagesJson",
                        getURL: (node) => node.url,
                        fieldName: 'image'
                    }
                ]
            }
        }

If I disable @imgix/gatsby in the config - build succeeds. The JSON is parsed just fine, verified in GraphiQL.
It appears to be clear that the issue is isolated to imgix/gatsby.
Expected behaviour
No error, and an images node with stuff added to my ImagesJson object. The configuration above used to work with gatsby-plugin-imgix and Gatsby v2 before.
Information:

imgix/gatsby version: 1.6.11
browser version: Version 1.25.72 Chromium: 91.0.4472.101 (Official Build) (64-bit)
OS used: Debian GNU/Linux 10 (buster)

Additional context
I'm happy to provide any additional information, if required.

Hi @cecasey 👋  thanks for opening this issue. Sorry that you've had this experience - I've put this on my schedule to investigate next week. I'll provide any updates here.

Hi @cecasey wave thanks for opening this issue.

Pardon? 🙁

Sorry @arsinclair, I was responding to another at the same time and I must have got my wires crossed here!

Hey @arsinclair,
Having trouble reproducing the issue. Do you think you could create and link an example repo that reproduces it?
Thanks again for taking the time to report this.

Do you think you could create and link an example repo that reproduces it

Sure. Here's the repo: https://github.com/arsinclair/gatsby-image-schema-bug-reproduction
Just run npm install && npm run develop.
P.S.: I used a test image from imgix, because I can not use put my organization's endpoint. I don't know if Imgix uses Amazon.S3 as the backend for their assets.imgix.net, but it is clear that the issue is reproduced with any image.

If you comment out the @imgix/gatsby config in gatsby-config.js file and use GraphiQL, you'll see that the actual image URL is parsed okay and the type name matches:
{
  imagesJson {
  	__typename
    url
  }
}

output:

```json
{
  "data": {
    "imagesJson": {
      "__typename": "ImagesJson",
      "url": "https://assets.imgix.net/examples/bluehat.jpg"
    }
  },
  "extensions": {}
}

Hey @arsinclair,
Thanks again for sending over the example repo, it was extremely helpful!
This issue should be fixed in version 1.6.12-rc.1. You can install it by running npm i @imgix/gatsby@next or npm i<EMAIL_ADDRESS>If for any reason this issue isn't resolved please free to open this ticket again.

Hey @luqven, can you confirm this is fixed with 1.7.1 and there is not a regression? I am experience the same issue of @arsinclair but with ImgixSourceType.WebProxy,.

@lezan thanks for tagging me and letting me know this issue wasn't fixed.
It appears that #138 never made it into main. I've gone ahead and PRd the change and will update when it's released.

Hey @lezan, thanks again for letting us know this was still an issue.
The issue should be fixed in version 1.7.3. You can install it by running npm i @imgix/gatsby@latest or npm i<EMAIL_ADDRESS>If for any reason this isn't resolved please free to comment on this issue so we can open it up again.


[QUESTION]: can we update this test to show what ember 2.x tests would do?

I found this line in a test today after looking over some code in ember-qunit
this.registry.register('template:components/zap-zap', Ember.Handlebars.compile('zap zap');

I realized you need a compiler to run this now but ... with a little modification it seems to work like this in ember 2.3. Is it possible to change this so future readers see how easy this is?
this.registry.register('template:components/zap-zap', hbs`<span>zap zap</span>`);

https://github.com/rwjblue/ember-qunit/blob/master/tests/module-for-component-test.js#L17

Also interested in the idiomatic way to handle this case.
how does this piece of code work?
hbs`<span>zap zap</span>`

Is hbs a function? how can it be called with out parens?

@josephchappell great question ... come to think of it I never asked how this actually worked myself :)

Alright, so hbs`hello`  is a so called tagged template string and the short form for hbs("hello"), where hbs is just a normal function.
hbs is imported via import hbs from "htmlbars-inline-precompile". This is where the ember-cli-htmlbars-inline-precompile addon comes in place: it adds a babel transform to the pipeline, which replaces all occurrences of hbs`template string`   with the precompiled HTMLBars version (which is just a JavaScript function).
So
import hbs from "htmlbars-inline-precompile";
import { module, test } from "ember-qunit";

module("my-test");

test("test all the templates", function(assert) {
  var template = hbs`
    hello world
  `;
});

is transformed via ember-cli-htmlbars-inline-precompile to
import hbs from "htmlbars-inline-precompile";
import { module, test } from "ember-qunit";

module("my-test");

test("test all the templates", function(assert) {
  var template = Ember.HTMLBars.template((function () {
        return {
          isHTMLBars: true,
          revision<EMAIL_ADDRESS>          blockParams: 0,
          cachedFragment: null,
          hasRendered: false,
          build: function build(dom) {
            var el0 = dom.createDocumentFragment();
            var el1 = dom.createElement('div');
            dom.setAttribute(el1, 'class', 'custom-content');
            var el2 = dom.createComment('');
            dom.appendChild(el1, el2);
            dom.appendChild(el0, el1);
            return el0;
          },
          render: function render(context, env, contextualElement) {
            var dom = env.dom;
            var hooks = env.hooks,
                content = hooks.content;
            dom.detectNamespace(contextualElement);
            var fragment;

            if (env.useFragmentCache && dom.canClone) {
              if (this.cachedFragment === null) {
                fragment = this.build(dom);

                if (this.hasRendered) {
                  this.cachedFragment = fragment;
                } else {
                  this.hasRendered = true;
                }
              }

              if (this.cachedFragment) {
                fragment = dom.cloneNode(this.cachedFragment, true);
              }
            } else {
              fragment = this.build(dom);
            }

            var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]), 0, 0);
            content(env, morph0, context, 'formField.value');
            return fragment;
          }
        };
      })())
});

@pangratz dude you rawk - hands down the single best reply I've ever seen to a question like this on github. Keep on improving => the ember community is great because of people like you who take the time to help n00bs like me :)

Thanks for the nice words @toranb! Replies like this make it worth to take the time and add an explanation. I am very glad that I could help!

yes thank you very much @pangratz for taking the time to explain that!

seems like the "issue" here is solved? I'll close this one for now


Show only unread articles (DEFAULT_TO_UNREAD_ONLY!) doesn't stay enabled

When opening SmartRSS it shows read articles too, even though DEFAULT_TO_UNREAD_ONLY! seems to be enabled. When disabling and enabling again, read articles disappear, but doesn't remain after closing SmartRSS and opening again.
Version 2.25.2.

I've seen few reports of things not saving, but can't pinpoint anything just yet. What browser are you using?

Chrome 111


Ability to change sidekicks images when upgrading a service

Add --new-sidekick-image to change a sidekick image when upgrading a service #9
The option can be passed multiple times in a command (in the case where you have multiple sidekicks per service), and accept a tuple(sidekickName, newImage).
Example:
rancher-gitlab-deploy ... --new-sidekick-image sidekick1 registry.fakename.com:5000/code:v0.0.2 --new-sidekick-image sidekick2 registry.fakename.com:5000/assets:v0.0.2

I've merged the PR and published this to Docker Hub -- thanks @kariae 👍


IIIF manifest and canvas cache eviction is asynchronous and could led to unexpected responses

Describe the bug
While testing parallel builds on same machine (Bitbucket instance) we experienced systematic failures of following tests:

IIIFControllerIT.findOneWithCacheEvictionAfterBitstreamUpdate
IIIFControllerIT.findOneWithCacheEvictionAfterItemUpdate

We suppose this can be done to an asynchronous cache eviction and invalitation.
To Reproduce
Steps to reproduce the behavior:

configure a parallel execution of unit-tests and integration-tests builds on same machine (i.e. a bitbucket Pipeline)
run parallel builds

Expected behavior
Test passing
Related work
We (4Science) can look into this in order to have synchronous cache eviction, in 1 or 2 hours.
Link to any related tickets or PRs here.

Closing, fixed by #8245


Adjust busola extension to have dependancies as string

Description
Changes proposed in this pull request:

Adjust busola extension to have dependancies as string

Related issue(s)

/hold

/resume

/hold

/remove-hold

/test check-main-tags

/lgtm

/lgtm

/uncc

/unassign


COS based simple networking appliance

Pending tests and README

Woult it make sense to build this on top of the cloud-config-container module?

Still missing tests but otherwise ready to merge. PTAL.


backtrace is printed to the CLI if exception is raised before logger is initialized

I didn't catch this originally, but it looks like error logging behavior changed during the configuration object PR. Specifically, this line: https://github.com/fishtown-analytics/dbt/blame/dev/guion-bluford/dbt/main.py#L96
We definitely shouldn't throw away the backtrace if logging isn't yet initialized, but I think we can do better than printing a backtrace to the terminal. I'm curious if we can either initialize logging earlier, or suppress backtraces for exceptions raised by dbt directly, like validation errors. I'm open to keeping backtraces for unhandled exceptions

Ugh, I added that during debugging and forgot to remove it.
You basically can't build the logger until you've parsed the config object (it is one place where the default log directory is set). So on any errors related to config parsing you must lose the stacktrace unless you dump it to stdout/stderr.
Maybe the log directory should not be project-configurable.

only print stack traces on unhandled errors, dbt-generated errors can just be printed normally


Upgrade gradle, app dependency versions, warnings for dependency conf…

…igurations (compile to implementation, etc). Addresses #562 on todo-mvp-dagger branch

Why hasn't this PR been accepted?

@googlebot I am ok with my commit being contributed to the project. I committed @NalediMadlopha suggestions, I believe he might need to confirm too.

Hey @ryanzhou7, the build is failing. The changes being made is only in the build.gradle files as well as the gradle.properties file. The change that I suggested in in the .travis.yml file.
I do not mind pushing the changes onto this PR unless you want to do it. Should go ahead or you'll do it?

@NalediMadlopha If you could do it that would be great! I am still new to this would appreciate your expertise.

@ryanzhou7, I have open a pull request #621 to fix the issue, please check it out.

@NalediMadlopha thanks! So the correct thing for me to do is to close this PR, correct?

We bump versions following a process that require merging branches. Please don't send PRs to update this. Thanks!

@JoseAlcerreca, I'm a bit lost with regards to the context of your comment. May you please clarify what you mean when you say "Please don't send PRs to update this."
Do you mean we should not update the versions of the dependencies or do you mean we should not update the version of the SDK in the .travis.yml file?

I think he is referring to the travis.yml file. Perhaps all of the projects need to be updated at the same time?


Added theano

I see python-theano available as a debian package: https://packages.debian.org/unstable/main/python-theano starting with stretch
And ubuntu: http://packages.ubuntu.com/yakkety/python-theano starting with yakkety.
Could you fill in the rules for the other distros so that others can use this? Note that you can use the short hand and skip the packages: line to be more compact.

It's also in fedora as of 23: https://admin.fedoraproject.org/pkgdb/package/rpms/python-theano/

Added fedora,debian,arch, older ubunuts
Thanks,
-E

The changes are implemented. Right?

Yeah, I added them thanks.


feat: #32 Functional version of finite state machine

Issue
Closes #32
Description
Functional version of finite state machine with transitioner
PR Type
What kind of change does this PR introduce?
- [] Bugfix
- [x] Feature
- [] Code style update (formatting, local variables)
- [] Refactoring (no functional changes, no api changes)
- [] Build related changes
- [] CI related changes
- [] Documentation content changes
- [] Other... Please describe:

Does this PR introduce a breaking change?
- [] Yes
- [x] No

What is the new behavior?
Changes Summary

[x] Added API definition for state machine
[x] Added finite state machine implementation with finite transition

ACs not met:
AC. There is a close method on state machine to finalize it.
AC. Closing a machine prevents from further triggering events to it
AC. Closing a machine in a non final state should throw an error


Passing "this" to destroy so we know what is destroyed

By passing the "this" variable, we can now see what element was destroyed. Knowing that something was destroyed isn't very useful compared to know what was destroyed.

Very reasonable!

Looks like there was a bad merge somewhere? This looks reverted

Whoops: quite possibly! Will take a look. Also: @ButchMonkey would you have time and the will to be another committer on GoldenLayout? You seem to be producing the most PRs at the moment, and each has gone in smoothly (except when I've broken them!)

Ah! The change wasn't reverted -- but you edited only the (generated) dist file. This file is automatically generated by grunt dist from all the broken-up Javascript files. I'll make the edit in those, then re-run the grunt. Ideally the dist file shouldn't be there at all and should always be fresh-generated each time...but then bower doesn't work. So this is the compromise!

Ok just re-added the change and built (including the minified version) -- let me know if you have any further issues!

Oh woops. Must have forgot on this commit.
Thanks also :)
I'm happy to help out on the commits, been using the GoldenLayout a fair bit and have a good grasp on some areas. ( Not so much the React / Angular side though)

That's great: thanks! I'll add you now. I also have no React/Angular experience (which is why a lot of bugs in that area are unanswered).

I can take a look at the Angular issues with my basic knowledge.
Mind if label up the Angular / React issues?

Go for it! Please :)
On Tue, Jan 24, 2017 at 9:11 AM ButchMonkey<EMAIL_ADDRESS>wrote:

I can take a look at the Angular issues with my basic knowledge.
Mind if label up the Angular / React issues?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/golden-layout/pull/182#issuecomment-274831183,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdRbIXfVbs8sYmS185AVkgh1M3L8Gks5rVhSagaJpZM4LR5LC
.


cmd/link: include hint about embedded struct field in DWARF

For the following code:

type A struct {  val int   }
type B struct {  A }

This is the dwarf type info for B. From this info, it's not possible to distinguish whether the field A is embedded or, a field explicitly named as A.

 <1><37954>: Abbrev Number: 21 (DW_TAG_structure_type)
    <37955>   DW_AT_name        : main.B
    <3795c>   DW_AT_byte_size   : 8
    <3795d>   Unknown AT value: 2900: 25
 <2><3795e>: Abbrev Number: 6 (DW_TAG_member)
    <3795f>   DW_AT_name        : A
    <37961>   DW_AT_data_member_location: 2 byte block: 23 0    (DW_OP_plus_uconst: 0)
    <37964>   DW_AT_type        : <0x37944>
 <2><3796c>: Abbrev Number: 0
 <1><3796d>: Abbrev Number: 22 (DW_TAG_typedef)
    <3796e>   DW_AT_name        : main.B
    <37975>   DW_AT_type        : <0x37954>

Delve or others have been using heuristics to determine whether a field is an embedded one, e.g.,
https://github.com/derekparker/delve/blob/master/pkg/proc/variables.go#L711
But those heuristics are fragile at best (delve's heuristic doesn't work after 1.9, and also with type alias).
We need an explicit mechanism to tell embedded field.
@alandonovan @dr2chase @mdempsky @heschik

@derekparker

Perhaps the best way to represent the additional bit that distinguishes these two declarations:
   type T { A }
   type T { A A }

is to use the DW_TAG_inheritance mechanism, which can record that in the first declaration, "T inherits from A, and an A can be found at offset zero within T".  Although this terminology has a bias towards C++ and Java, it's not a bad fit for Go, and you can use multiple 'inheritance' tags to describe a struct type that contains multiple "anonymous" fields.

Embedded field can be accessed via its implicit name (T.A.val or T.val). So, we need a way to infer the implicit name.
If DW_TAG_inheritance allows DW_AT_name attribute, the name can be encoded there.
Otherwise, DW_TAG_inheritance has the type attribute, and the type's name can be used as the field's name.
One minor issue to sort out is that currently DWARF info doesn't have type entry for aliased types. In the following case, the field name "AA" should be encoded somewhere.

type AA = A
type T struct { AA }

I tried adding an additional DW_TAG_inheritance to the struct, so that the embedded field is defined both as inheritance and a member. That lets you omit or include the field name as you like, and GDB was fine with it, though it did print a bit strangely:
{<> = {val = 2}, A = {val = 2}}
The problem is that you can embed non-structs, and GDB doesn't like that at all:
../../gdb-7.9.x/gdb/gnu-v3-abi.c:207: internal-error: gnuv3_dynamic_class: Assertion TYPE_CODE (type) == TYPE_CODE_STRUCT || TYPE_CODE (type) == TYPE_CODE_UNION' failed.`
And it really doesn't like embedding a struct pointer -- it core dumped.
I suppose we could try to claim this is a GDB bug, but my feeling is that embedding and inheritance are different. I would be happier just adding a Go-specific attribute to the member tag.

@derekparker, what do you think about cl/41873?
If ok, I can make a change to delve as well after the cl is submitted.

@hyangah that change LGTM -- and yes, please do submit a patch to Delve as well. Thanks!

@hyangah I've written the patch for delve, I'm waiting on this CL to submit it.

Anything else should be done to fix this issue or it should be closed?


Signficant differences between measurements and predictions on Pixel 4

Hi,
I am trying to reproduce the results of nn-Meter by comparing the measurements on Pixel 4 with the results from the pre-trained predictors (i.e., cortexA76cpu_tflite21 and adreno640gpu_tflite21). However, I observed significant differences between the measurements and predictions.
I converted the provided TensorFlow pb models (i.e., pb_models) into .tflite format, and built the binary benchmark_model from TFLite v2.1 source. I benchmarked all the models with the following commands on Pixel 4 (Snapdragon 855 and Adreno 640):
# For CPUs:
/data/local/tmp/benchmark_model --warmup_runs=10 --num_runs=10 --num_threads=1 --graph=${path}

# For GPUs:
/data/local/tmp/benchmark_model --warmup_runs=10 --num_runs=10 --use_gpu=true --graph=${path}

For example, the measurement of resnet18_0 on CPU shows:
$ /data/local/tmp/benchmark_model --warmup_runs=10 --num_runs=10 --num_threads=1 --graph=${path}
STARTING
...
Loaded model /data/local/tmp/output/tflite-pb-tf21/resnet18_0.tflite
resolved reporter
INFO: Initialized TensorFlow Lite runtime.
Initialized session in 0.732ms
[Init Phase] - Memory usage: max resident set size = 3.07422 MB, total malloc-ed size = 14.5485 MB
[Init Phase] - Memory usage: max resident set size = 3.07422 MB, total malloc-ed size = 14.5485 MB
Running benchmark for at least 10 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds.
count=10 first=150351 curr=119397 min=119349 max=150351 avg=122502 std=9282

Running benchmark for at least 10 iterations and at least 1 seconds but terminate if exceeding 150 seconds.
count=10 first=119529 curr=119341 min=119341 max=119529 avg=119410 std=53

[Overall] - Memory usage: max resident set size = 71.4961 MB, total malloc-ed size = 31.3739 MB
Average inference timings in us: Warmup: 122502, Init: 732, no stats: 119410

but the prediction on cortexA76cpu_tflite21 is:
...
(nn-Meter) Get weight shape of fc13.fc/MatMul from ['fc13.fc/weight'], input shape:[512, 1000].
(nn-Meter) Get input shape of fc13.fc/MatMul from Reshape, input shape:[-1, 512].
(nn-Meter) Input shape of fc13.fc/MatMul op is [[-1, 512]].
(nn-Meter) Output shape of fc13.fc/MatMul op is [[-1, 1000]].
(nn-Meter) Predict latency:<PHONE_NUMBER>9005837 ms
resnet18_0,216.19714599005837

with error 81% (i.e., 216.19 v.s. 119.41).
Similarly, for resnet50_0 on GPU, the measurement is:
$ /data/local/tmp/benchmark_model --warmup_runs=10 --num_runs=10 --use_gpu=true --graph=${path}
STARTING!
...
Loaded model /data/local/tmp/output/tflite-pb-tf21/resnet50_0.tflite
resolved reporter
INFO: Initialized TensorFlow Lite runtime.
INFO: Created TensorFlow Lite delegate for GPU.
ERROR: Next operations are not supported by GPU delegate:
MEAN: Operation is not supported.
First 70 operations will run on the GPU, and the remaining 2 on the CPU.
INFO: Initialized OpenCL-based API.
Applied GPU delegate.
Initialized session in 665.544ms
[Init Phase] - Memory usage: max resident set size = 274.34 MB, total malloc-ed size = 1.32245 MB
Running benchmark for at least 10 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds.
count=10 first=51879 curr=58338 min=43539 max=58484 avg=55702.5 std=4507

Running benchmark for at least 10 iterations and at least 1 seconds but terminate if exceeding 150 seconds.
count=18 first=58433 curr=58263 min=56980 max=59873 avg=58350.9 std=674

[Overall] - Memory usage: max resident set size = 274.34 MB, total malloc-ed size = 1.90115 MB
Average inference timings in us: Warmup: 55702.5, Init: 665544, no stats: 58350.9

and the predictor produces the following:
...
(nn-Meter) Find node fc21.fc/MatMul with its weight op fc21.fc/weight.
(nn-Meter) Get weight shape of fc21.fc/MatMul from ['fc21.fc/weight'], input shape:[2048, 1000].
(nn-Meter) Get input shape of fc21.fc/MatMul from Reshape, input shape:[-1, 2048].
(nn-Meter) Input shape of fc21.fc/MatMul op is [[-1, 2048]].
(nn-Meter) Output shape of fc21.fc/MatMul op is [[-1, 1000]].
(nn-Meter) Predict latency: 91.73126828870865 ms
resnet50_0,91.73126828870865

with error 57% (i.e., 91.73 v.s. 58.35).
I am wondering whether I set up the same experimental environment as the one for training the predictors. I can provide more information (e.g., the tflite models) if needed and look into the issue further.
Thank you!

Hi @AIxyz . In my observation, using a larger value of --num_runs=xx may help to reduce the variance of the measurements but not really substantially change the average. Thanks for your reminder - I didn’t realize that they set CPU affinity with taskset 70 when collecting training data for CPU experiments. I repeated my experiments by setting the same CPU affinity and found that the measured end-to-end latency of resnet18_0 is now 137.14ms (still a substantial error compared to the prediction of 182.79ms):
# taskset 70 /data/local/tmp/benchmark_model --warmup_runs=10 --num_runs=50 --num_threads=1 --graph=${path}
...
Loaded model /data/local/tmp/output/tflite-pb-tf21/resnet18_0.tflite
resolved reporter
Initialized session in 0.682ms
[Init Phase] - Memory usage: max resident set size = 3.12109 MB, total malloc-ed size = 14.6232 MB
Running benchmark for at least 10 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds.
count=10 first=151057 curr=136984 min=136418 max=151057 avg=138180 std=4295

Running benchmark for at least 50 iterations and at least 1 seconds but terminate if exceeding 150 seconds.
count=50 first=136997 curr=137191 min=136834 max=138724 avg=137144 std=264

[Overall] - Memory usage: max resident set size = 71.4961 MB, total malloc-ed size = 31.4656 MB
Average inference timings in us: Warmup: 138180, Init: 682, no stats: 137144

For running predictors, I only installed the source code pip install . as well as tensorflow==2.6.0 (with python 3.8):
$ nn-meter predict --predictor cortexA76cpu_tflite21 --predictor-version 1.0 --tensorflow resnet18_0.pb
...
(nn-Meter) Input shape of fc13.fc/MatMul op is [[-1, 512]].
(nn-Meter) Output shape of fc13.fc/MatMul op is [[-1, 1000]].
(nn-Meter) Predict latency:<PHONE_NUMBER>9005837 ms
(nn-Meter) [RESULT] predict latency for resnet18_0.pb:<PHONE_NUMBER>9005837 ms

Regarding the code for converting .pb to .tflite, since the provided .pb models are generated in TF1, I have to use the API from TF1 tf.compat.v1.lite.TFLiteConverter.from_frozen_graph:
input_path = f"{name}.pb”
tflite_path = f"{name}.tflite”
name_to_output ={
    'alexnet_0': 'fc3.fc/MatMul’,
    'densenet_0': 'fc74.fc/MatMul’,
    'googlenet_0': 'fc3.fc/MatMul’,
    'mnasnet_0': 'fc20.fc/MatMul’,
    'mobilenetv1_0': 'fc3.fc/MatMul’,
    'mobilenetv2_0': 'fc20.fc/MatMul’,
    'mobilenetv3large_0': 'fc19.fc/MatMul’,
    'mobilenetv3small_0': 'fc15.fc/MatMul’,
    'proxylessnas_0': 'fc24.fc/MatMul’,
    'resnet18_0': 'fc13.fc/MatMul’,
    'resnet34_0': 'fc21.fc/MatMul’,
    'resnet50_0': 'fc21.fc/MatMul’,
    'shufflenetv2_0': 'fc19.fc/MatMul’,
    'squeezenet_0': 'fc3.fc/MatMul’,
    'vgg11_0': 'fc3.fc/MatMul’,
    'vgg13_0': 'fc3.fc/MatMul’,
    'vgg16_0': 'fc3.fc/MatMul’,
    'vgg19_0': 'fc3.fc/MatMul’,
}

converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph(
    input_path, input_arrays=["input_im_0"], output_arrays=[name_to_output[name]])
tflite_model = converter.convert()
open(tflite_path, "wb").write(tflite_model)

Hi,
Thanks for your interests of nn-Meter. There are many factors that can affect the measurement latency, such as the CPU affinity, CPU frequency, and the compiling benchmark model. Maybe you could try to apply our provided benchmark models to profile models or set a fixed CPU frequency for the calling CPU cores by commands like:
cd sys/devices/system/cpu/cpu4/cpufreq
echo "userspace" > scaling_governor
echo 2419200 > scaling_max_freq
echo 2419200 > scaling_min_freq
echo 2419200 > scaling_setspeed

I hope the information could help you get the consistent latency with our predicted values.
And hi @AIxyz , thanks for join the discussion! I try to reproduce the bug you mentioned by running nn-meter predict --predictor cortexA76cpu_tflite21 --predictor-version 1.0 --tensorflow pb_models/resnet18_0.pb but I got no error. My message is shown as follows:
(nn-Meter) checking local kernel predictors at /data/jiahang/working/nnmeterdata/predictor/cortexA76cpu_tflite21
(nn-Meter) load predictor /data/jiahang/working/nnmeterdata/predictor/cortexA76cpu_tflite21/relu.pkl
/home/jiahang/.local/lib/python3.8/site-packages/sklearn/base.py:329: UserWarning: Trying to unpickle estimator DecisionTreeRegressor from version 0.23.1 when using version 1.1.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:
https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations
  warnings.warn(
/home/jiahang/.local/lib/python3.8/site-packages/sklearn/base.py:329: UserWarning: Trying to unpickle estimator RandomForestRegressor from version 0.23.1 when using version 1.1.1. This might lead to breaking code or invalid results. Use at your own risk.  Thanks a lot!
Best regards,
Jiahang

@JiahangXu Thanks for sharing more information about the experimental setup. For fixing CPU frequency, I wonder whether it needs to first root the phone to acquire permission.
I tried the customized benchmark tool (i.e., benchmark_model_cpu_v2.1 and benchmark_model_gpu_v2.1); it turned out that the measurements are much closer to the predictions for both CPUs and GPUs. I understand that the predictors are possibly trained on the data collected from the customized benchmark tool. However, I don’t quite understand why there is a huge gap between the measurements from the customized tool and the one built from TF source (both in TFLite v2.1). Particularly, the end-to-end latencies on CPU measured from the customized tool are always higher (as shown in the table below). Could you provide some insights about the difference? For example, did you modify the source code based on branch v2.1.0? Did you change any important component in TFLite which can potentially affect the performance in your customized code? Thank you!
CPU, TFLite v2.1

Model
Measure (Source)
Measure (Customized)
Prediction

alexnet_0
53052
78515
84794

densenet_0
249067
346175
360042

googlenet_0
111755
168581
177484

mnasnet_0
35028
56792
51644

mobilenetv1_0
43295
67463
66980

mobilenetv2_0
30212
49380
45951

mobilenetv3large_0
24612
37526
35451

mobilenetv3small_0
8548
12541
12559

proxylessnas_0
33052
51811
51633

resnet18_0
137144
209733
216197

resnet34_0
266756
398761
422993

resnet50_0
284198
446612
452728

squeezenet_0
61544
90353
97732

vgg11_0
483518
760352
786351

vgg13_0
759010
1185350
1212278

vgg16_0
1017060
1578400
1633950

vgg19_0
1273210
1971940
2055622

Hi,
Our customized benchmark models are compiled in about year 2020. We have not specified to use Aarch64 for model profiling, which is an optional argument at that moment. After the code of nn-Meter released, we found that the compiled benchmark model without Aarch64 will cause all profiling latency larger than that with Aarch64. However, for the consistency with our paper, we didn't modify our released benchmark model.
We checked the official doc of TFLite benchmark model and notice the use of Aarch64 is a default setting by now. So I think maybe this is the reason of your observation.
We will note this information in our doc about our customized benchmark model, thanks for raising this question!
Best regards,
Jiahang

Hi, @JiahangXu , this is my log in docker container from ubuntu:focal (3bc6e9f30f51), but now I can't repeat the error in a new container. It's like everything suddenly got better, but the result of "python3 -m pip freeze" didn't change. And 'git log' in nn-Meter as follows:
commit 4c10c002715e6df4649f015c9187dc8b28bfcc11 (HEAD -> xyz, origin/dev/dataset-generator, main)
Author: Jiahang Xu<EMAIL_ADDRESS>Date:   Fri Jul 1 11:07:10 2022 +0800

    Update version info after v2.0 (#75)

'diff -r /home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter /home/john/Work/nn-Meter/nn_meter' only show the pychche.
My log in docker container from ubuntu:focal (3bc6e9f30f51):
root@53ad9dd671a5:/home/john/Projects/pb_models# nn-meter get_ir --tensorflow resnet18_0.pb -o resnet18_0.nnmir.json
2022-10-31 10:35:33.852847: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2022-10-31 10:35:33.852902: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
(nn-Meter) Input shape of fc13.fc/weight op is [].
(nn-Meter) Output shape of fc13.fc/weight op is [[512, 1000]].
(nn-Meter) Input shape of fc13.fc/weight/read op is [].
(nn-Meter) Output shape of fc13.fc/weight/read op is [[512, 1000]].
# ……………………………………………………………………………………………………………………………………………………………………………………………
(nn-Meter) Input shape of input_im_0 op is [].
(nn-Meter) Output shape of input_im_0 op is [[1, 224, 224, 3]].
(nn-Meter) Failed to get shape of node conv1.conv/Conv2D.
(nn-Meter) {'inbounds': ['input_im_0', 'conv1.conv/weight/read'], 'attr': {'name': 'conv1.conv/Conv2D', 'type': 'Conv2D', 'output_shape': [], 'attr': {'dilations': [1, 1, 1, 1], 'strides': [1, 2, 2, 1], 'data_format': b'NHWC', 'padding': b'SAME'}}, 'outbounds': ['conv1.bn.batchnorm/BatchNorm/FusedBatchNormV3']}
Traceback (most recent call last):
  File "/home/john/Python/env_py36X/bin/nn-meter", line 8, in <module>
    sys.exit(nn_meter_cli())
  File "/home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter/utils/nn_meter_cli/interface.py", line 266, in nn_meter_cli
    args.func(args)
  File "/home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter/utils/nn_meter_cli/predictor.py", line 69, in get_nnmeter_ir_cli
    graph = model_file_to_graph(args.tensorflow, 'pb')
  File "/home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter/ir_converter/utils.py", line 42, in model_file_to_graph
    converter = FrozenPbConverter(filename)
  File "/home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter/ir_converter/frozenpb_converter/frozenpb_converter.py", line 23, in __init__
    ShapeInference(self.model_graph, dynamic_fetcher)
  File "/home/john/Python/env_py36X/lib/python3.6/site-packages/nn_meter/ir_converter/frozenpb_converter/shape_inference.py", line 943, in __init__
    graph, graph[node_name]
TypeError: 'NoneType' object is not iterable
root@53ad9dd671a5:/home/john/Projects/nn_meter_cli/WorkSpace/pb_models#
root@53ad9dd671a5:/home/john/Projects/nn_meter_cli/WorkSpace/pb_models#
root@53ad9dd671a5:/home/john/Projects/nn_meter_cli/WorkSpace/pb_models#
root@53ad9dd671a5:/home/john/Projects/nn_meter_cli/WorkSpace/pb_models# python3 --version
Python 3.6.10 :: Anaconda, Inc.
root@53ad9dd671a5:/home/john/Projects/nn_meter_cli/WorkSpace/pb_models# cd
root@53ad9dd671a5:~#
root@53ad9dd671a5:~#
root@53ad9dd671a5:~#
root@53ad9dd671a5:~# python3 --version
Python 3.6.10 :: Anaconda, Inc.
root@53ad9dd671a5:~# python3 -m pip freeze
absl-py==0.15.0
astor==0.8.1
astunparse==1.6.3
attrs==22.1.0
cached-property==1.5.2
cachetools==4.2.4
certifi==2021.5.30
charset-normalizer==2.0.12
clang==5.0
cloudpickle==2.1.0
colorama==0.4.5
contextlib2==21.6.0
dataclasses==0.8
decorator==4.4.2
filelock==3.3.2
flatbuffers==1.12
future==0.18.2
gast==0.4.0
google-auth==2.10.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.47.0
h5py==3.1.0
hyperopt==0.1.2
idna==3.3
importlib-metadata==4.8.3
importlib-resources==5.4.0
joblib==1.1.0
json-tricks==3.15.5
jsonlines==3.1.0
keras==2.6.0
Keras-Preprocessing==1.1.2
Markdown==3.3.7
networkx==2.5.1
nn-meter @ file:///home/john/Work/nn-Meter
nni==2.6.1
numpy==1.19.5
oauthlib==3.2.0
onnx==1.9.0
onnx-simplifier==0.3.6
onnxoptimizer==0.2.7
onnxruntime==1.10.0
opt-einsum==3.3.0
packaging==21.3
pandas==1.1.5
Pillow==8.4.0
prettytable==2.5.0
protobuf==3.19.4
psutil==5.9.1
pyasn1==0.4.8
pyasn1-modules==0.2.8
pymongo==4.1.1
pyparsing==3.0.9
python-dateutil==2.8.2
PythonWebHDFS==0.2.3
pytz==2022.2
PyYAML==6.0
requests==2.27.1
requests-oauthlib==1.3.1
responses==0.17.0
rsa==4.9
schema==0.7.5
scikit-learn==0.24.2
scipy==1.5.4
simplejson==3.17.6
six==1.15.0
tensorboard==2.10.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.6.0
tensorflow-estimator==2.8.0
termcolor==1.1.0
threadpoolctl==3.1.0
torch==1.9.0
torchvision==0.10.0
tqdm==4.64.0
typeguard==2.13.3
typing-extensions==<IP_ADDRESS>
urllib3==1.26.11
wcwidth==0.2.5
websockets==9.1
Werkzeug==2.0.3
wrapt==1.12.1
zipp==3.6.0

@JiahangXu Thanks for the clarification.


ICE Trains on Radar disappear after travelling a short distance.

I've been curious to watch the path of ICE trains through Germany and have noticed that they disappear or don't match timetables at all.
For instance, the Hamburg-Munich services depart Hamburg-Altona north and then take the curve towards Sternschanze, disappearing from the data feed once they pass the station.
Is there any chance to be able to watch the full path of these trains?

To be honest: I don't know the inner workings of the Deutsche Bahn HAFAS endpoint.
I know that, for most trains, it just estimates the positions based on (more or less) realtime delay data; I don't know if this applies to ICE trains though.
Probably @marudor can tell more about this.

This seems to have been resolved? There's a lot more data now available.

Please close this Issue if it looks like it has been resolved.

Apologies for leaving this open. Data is looking good now.


Verifying deployment: FAILED on Ubuntu 16.04

Hi, I have this Meteor app which was running alright on Debian 8.5 x64 on DigitalOcean, but now I have to move it to my private server with Ubuntu 16.04 x64, it seems it uploads alright but it fails at  Verifying deployment, any idea how to fix it? thanks
mupx logs --tail=50:
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/domain-browser
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/events
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/http-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/http-browserify/node_modules/Base64
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/http-browserify/node_modules/inherits
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/https-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/os-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/path-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/process
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/punycode
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/querystring-es3
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream/node_modules/core-util-is
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream/node_modules/inherits
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream/node_modules/isarray
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream/node_modules/process-nextick-args
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/string_decoder
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/readable-stream/node_modules/util-deprecate
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/stream-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/stream-browserify/node_modules/inherits
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/timers-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/tty-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/url
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/url/node_modules/punycode
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/url/node_modules/querystring
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/vm-browserify
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/meteor-node-stubs/node_modules/vm-browserify/node_modules/indexof
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/minimist
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/moment
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/ms
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/reflect-metadata
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/rxjs
[<IP_ADDRESS>]<EMAIL_ADDRESS>/bundle/bundle/programs/server/npm/node_modules/zone.js
[<IP_ADDRESS>] {
[<IP_ADDRESS>]   "meteor-dev-bundle": "0.0.0",
[<IP_ADDRESS>]   "npm": "3.10.5",
[<IP_ADDRESS>]   "ares": "1.10.1-DEV",
[<IP_ADDRESS>]   "http_parser": "2.5.2",
[<IP_ADDRESS>]   "icu": "56.1",
[<IP_ADDRESS>]   "modules": "46",
[<IP_ADDRESS>]   "node": "4.4.7",
[<IP_ADDRESS>]   "openssl": "1.0.2h",
[<IP_ADDRESS>]   "uv": "1.8.0",
[<IP_ADDRESS>]   "v8": "<IP_ADDRESS>",
[<IP_ADDRESS>]   "zlib": "1.2.8"
[<IP_ADDRESS>] }
[<IP_ADDRESS>] npm WARN<EMAIL_ADDRESS>No description
[<IP_ADDRESS>] npm WARN<EMAIL_ADDRESS>No repository field.
[<IP_ADDRESS>] npm WARN<EMAIL_ADDRESS>No license field.
[<IP_ADDRESS>] => Starting meteor app on port:80

my mup.json:
{
  "servers": [
    {
      "host": "w.x.y.z",
      "username": "xyz",
      "password": "123",
      "env": {}
    }
  ],

  "setupMongo": true,

  "appName": "app-name",

  "app": ".",

  "env": {
    "PORT": 7777,
    "ROOT_URL": "http://w.x.y.z/"
  },

  "deployCheckWaitTime": 200,

  "enableUploadProgressBar": true
}

Mup uses upstart which was removed in ubuntu 16. It was replaced with something called systemd.
I have a fork that supports meteor 1.4 and ubuntu 16. Feel free to give it a try. You have to clone and npm install npm link the repo but will let you deploy hopefully.
https://github.com/sean-stanley/meteor-up/


[plugins.json] Add cocoapods-rij-bin

Please add the following entry to the plugins.json file:
{
  "gem": "cocoapods-rij-bin",
  "name": "CocoaPods Rij Bin",
  "author": "jonassun",
  "url": "https://git.woa.com/ReadInJoy/cocoapods-rij-bin.git",
  "description": "A longer description of cocoapods-rij-bin."
}

Please add the following entry to the plugins.json file:
{
  "gem": "cocoapods-rij-bin",
  "name": "CocoaPods Rij Bin",
  "author": "jonassun",
  "url": "https://git.woa.com/ReadInJoy/cocoapods-rij-bin.git",
  "description": "A longer description of cocoapods-rij-bin."
}


增加实时创建数据源功能

What kind of change does this PR introduce? (check at least one)

[ ] Feature

The description of the PR:
增加实时创建数据源功能，应对多租户场景
Other information:

看不懂要干啥


reduce pipeline.Discard allocations

We could reuse these pipeline maps rather than reallocating.
https://github.com/buraksezer/olric/blob/a2126a36354d18254e2fa93556ce4ed67d8d96f6/pipeline.go#L445-L446
for k := range dp.commands {
        delete(dp.commands, k)
}

for k := range dp.result {
        delete(dp.result, k)
}

That map clearing idiom is highly optimized as of this change
https://go-review.googlesource.com/c/go/+/110055
Additionally, while I'm not sure if this would cause problems if there are references outside of here, but we could possibly also reuse the []redis.Cmder with a sync.Pool.

Fixed by #204


Impossile to change color of the blinking cursor

When the styles to change the blinking cursor color are giving !important, the cursor stops blinking. If they are not given !important, the style is not applied.

Hi.
Cursor can blink only because of the following animation:
.characterSelected {
  color: $cursor-contrast-color;
  background-color: $cursor-color;
  animation: blink-character 1s steps(1, end) infinite;
}

@keyframes blink-character {
  50% {
    color: $cursor-color;
    background-color: transparent;
  }
}

If you want change cursor style, you should also change blinking animation itself
For css-modules it should look like (detailed path is provided for better understanding):
.parent-container-style {
  :global
    .crt-terminal
    .crt-terminal__command-line
    .crt-command-line
    .crt-command-line__input-wrapper
    .crt-command-line__input-string
    .crt-cursor-symbol.crt-character {
      color: red;
      background-color: yellowgreen;

      & :local {
        animation: blink-character-custom 1s steps(1, end) infinite;
      }
  }

  @keyframes blink-character-custom {
    50% {
      color: yellowgreen;
      background-color: transparent;
    }
  }
}


Major bump rollup-plugin-ts from 2.0.4 to 3.0.2, fixes #9

The current language example is one major out of date on its rollup typescript plugin (2.0.4 vs 3.0.2.)  On Windows, the older plugin fails.
Updating the plugin resolves this, as discovered by @corwin-of-amber.  That is the purpose of this PR, which has only been tested on Windows.
npm also chose to rearrange your dependencies to alphabetize them
This pr resolves issue #9

john@DESKTOP-26H4050 MINGW64 /e/projects/lang-example (main)
$ npm install

><EMAIL_ADDRESS>prepare
> rollup -c

src/index.ts → dist/index.cjs, ./dist...
[!] (plugin Typescript) TypeError: path.charCodeAt is not a function
src/index.ts
TypeError: path.charCodeAt is not a function
    at getEncodedRootLength (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:7826:24)
    at Object.isRootedDiskPath (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:7733:16)
    at Object.isExternalModuleNameRelative (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:12558:52)
    at tryLoadModuleUsingOptionalResolutionSettings (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:43831:17)
    at tryResolve (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:44036:28)
    at E:\projects\lang-example\node_modules\typescript\lib\typescript.js:44032:69
    at Object.forEach (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:377:30)
    at nodeModuleNameResolverWorker (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:44032:25)
    at nodeModuleNameResolver (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:44005:16)
    at Object.resolveModuleName (E:\projects\lang-example\node_modules\typescript\lib\typescript.js:43732:30)

npm ERR! code 1
npm ERR! path E:\projects\lang-example
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c rollup -c

npm ERR!      C:\Users\john\AppData\Local\npm-cache\_logs\2022-09-17T19_06_17_465Z-debug.log

john@DESKTOP-26H4050 MINGW64 /e/projects/lang-example (main)
$ npm i rollup-plugin-ts@latest

added 1 package, changed 5 packages, and audited 135 packages in 1s

found 0 vulnerabilities

john@DESKTOP-26H4050 MINGW64 /e/projects/lang-example (main)
$ npm install

><EMAIL_ADDRESS>prepare
> rollup -c

src/index.ts → dist/index.cjs, ./dist...
created dist/index.cjs, ./dist in 1.7s

up to date, audited 135 packages in 4s

found 0 vulnerabilities

Thanks!


InputBox code not converted

Input:
InputBox, Hotstring, New Hotstring, Provide the corrected word on the right side. You can also edit the left side if you wish.`n`nExample entry:`n::teh::the,,,,,,,, ::%Hotstring%::%Hotstring%

The converter didn't convert this code.
Manually converted code:
Hotstring := InputBox("Provide the corrected word on the right side. You can also edit the left side if you wish.`n`nExample entry:`n::teh::the", "New Hotstring", "", "::%Hotstring%::%Hotstring%")

InputBox() returns an obj so your conversion is wrong
if/when we add conversion support, we should probably do it like this:
v1
InputBox, OutputVar , Title, Prompt

v2
OutputVar := InputBox(Prompt, Title).VALUE

but there is also the hassle of converting all the options

From V1 docs:

ErrorLevel is set to 1 if the user presses the CANCEL button, 0 if the user presses OK, or 2 if the dialog times out.

From v2 docs:

This function returns an object with the following properties:

Value (String): The text entered by the user.
Result (String): One of the following words indicating how the input box was closed: OK, Cancel, or Timeout.

So, if Errorlevel is present after the InputBox as in https://github.com/mmikeww/AHK-v2-script-converter/issues/134#issuecomment-1908633632, it needs to converted as well.

yep thats annoying
maybe a multi line conversion, something like this
v1
InputBox, OutputVar, Title, Prompt

v2
InputBoxObj := InputBox(Prompt, Title)
OutputVar := InputBoxObj.Value
ErrorLevel := (InputBOxObj.Result = "OK") ? 0 : (InputBoxObj.Result = "Cancel") ? 1 : 2

something like that.. would need testing

Minimal example InputBox, Hotstring, ::Test::Test
I think the hotkey regexs are firing even when it shouldn't

This RegEx probably could be used, needs more testing
From: ^\s*(.*[^\s]::).*$
To:___ ^\s*([^,\s]*|[$~!^#+]*,)::.*$


Automator: update istio/api@master dependency in istio/istio@master

Generated by Automator - 2020-06-01T14:39:34+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio
a9f1e60903341946f4090ec9568d7a137d0e43d1
link
/test integ-mixer-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Migrating from Sqlite to Postgres

Hi Henri [@hyandell] ,
I work with David [@fernomac] at Salesforce. And we have been using this awesome tool for reporting on our external git repos. Eventually we plan to use it to host on Heroku for internal access. Hence had to convert this tool to use Postgres.
David mentioned you were planning to migrate this tool as well here #1.
We spent some time to convert this to Postgres, using ruby:sequel.
This PR is the first draft of the changes, let me know what you think about these.
There was cleanup and query syntax updates which I had to make to get this working with Postgres and Sequel.
Would be great if we can provide any feedback and any other ideas you have to get this fully merged for general use.

Hey @hyandell wondering if you got a chance to look at this PR. Trying to get it in sync before we get major merge conflicts..

Apologies - I've been sick then homelife busy the last few days, so hadn't noticed this.
That said - it's Brilliant that you've done this - thank you, thank you :)
I was debugging the --xsync approach tonight, which means I just introduced some clashes with your code :( Not major changes though, nearly all my changes were in the sync-tng code rather than the db side of it.

Just went through all the commits - I'd like to say "Brilliant!" and thank you again :) Liking the look of the sequel library.

Hey @hyandell
Glad I could of any help...
Couple of things I wanted to clarify -

I heard from @fernomac that you were thinking to replace the sqlite with postgres to keep it consistent going further. We used sequel so that it can support different DB's, but currently during this migration change, I had to rewrite some queries to be more postgres compliant, so even though sequel can support sqlite or postgres, right now the current code only supports postgres. If you think thats the direction we should go forward with, I would like to cleanup the sqlite specific code and the config stuff.

I haven't touched any of the --xsync code yet, as I was trying to make the current process work end to end. Once we agree/merge the core changes, I can try a separate PR for the --xsync query code changes.

Since our final goal was to get this dashboard running on Heroku from salesforce usage perspective, I have a separate PR with those changes. I wasnt really sure if you want to include them in master as such. But the idea was to make this dashboard fully automated, with scheduled refresh jobs and a dedicated web interface. Here is personal copy of dashboard which works end to end on Heroku. Let me know your thoughts on this, and we discuss how we can move forward.
https://oss-dash-new.herokuapp.com/

Thanks Amit :)
I'm going to branch/release the current code first.
To double check - could you please confirm this contribution is under the terms of the Apache 2.0 license?
On the couple of things:

I'd love to keep sqlite. Being able to get started quickly with this locally has been very useful to me.
As a lot of the github-sync-tng relies on the db/libs, and with your having hit them already, hopefully a lot of that is already done. I'm now using the new code for everything bar the metadata. The problem with the metadata is that it won't recognize if something is deleted. I think I need to unwind the code a little to be halfway between the new queueing code and the old 'do everything in one go' code.
Your Heroku setup sounds cool (and I'm clueless) - what's involved in a Heroku configuration? I'm wondering if this makes sense in this repo or as a separate one.

Thanks Henri,
"Yes, we're contributing this under the terms of the Apache 2.0 license"
In meantime -

For the sqlite parity with postgres, I guess we need to fix some queries especially the dateTime checker ones as they differ on the syntaxes. May be once we run this PR with sqlite config we can see all the problems and fix them in a separate PR thoughts ?

Heroku setup we can talk later or once we get this merged :) as that part can wait for time being!

For next steps -

Please let me know how to get this in mergeable state and and any help on sqlite query fixes.

Previous code is released/tagged as v0.2.

PR merged :) Now for the fun of learning to run this/getting the sqlite bits working.
I'll branch the v0.2 if my current prod needs any fixes.

Awesome !!
Just so that I understand this correctly, in order to fix any sqlite bugs based on sequel, should I branch from master and fix them or use the v0.2??

Hey @hyandell on side note -
Doing some reading around supporting postgres and sqlite together, it would a be a tricky thing to do. As the query syntaxes differ quite a bit. Just thinking in terms of code maintainability it will be difficult to handle queries like this -
issue_query="SELECT repo, COUNT(id), ROUND(AVG(closed_at::date - created_at::date)::numeric, as mttr FROM issues WHERE state='closed' AND org=? GROUP BY org, repo ORDER BY mttr
We will probably need If/else for checking context and running the queries which are platform specific.. Just my thoughts.

New development should be on master; the 0.2 matches the sqlite version I'm using as production at Amazon.
I got an example running on postgres locally tonight; so now I can update the README etc. The usual pains of licensee and libxml dependencies being 'fun' to install. The --xsync sync worked with just a one line change, so looks like all your work on the db/lib files took care of things.
On sqlite - maybe we should drop it. I suspect I'm speaking from emotional attachment in wanting to keep it. I'd much rather your energy was spent constructively instead of painfully supporting two databases. :)


placeholder blueprint files BUG-58088

these are currently placeholders requested by Attila
most will not work at this time since HDP25 isn't ready.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@akanto Within the blueprint files I left the blueprint_name generic (e.g. hdp-etl-edw). Let me know if you want it version specific (e.g. hdp25-etl-edw)

Thanks.


/Pods/!ProtoCompiler/protoc: No such file or directory

Steps to Reproduce:
I bridged the c code in the ios（swift） module, and then my program can not be compiled, the log is
Launching lib/main.dart on iPhone 6s in debug mode...
Running pod install...
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Finding Podfile changes
      A Flutter
      A flutter_blue
      A google_maps_flutter

    Fetching external sources
    -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
    -> Fetching podspec for `flutter_blue` from `.symlinks/plugins/flutter_blue/ios`
    -> Fetching podspec for `google_maps_flutter` from `.symlinks/plugins/google_maps_flutter/ios`

    Resolving dependencies of `Podfile`

    Comparing resolved specification to the sandbox manifest
      A !ProtoCompiler
      A Flutter
      A GoogleMaps
      A Protobuf
      A flutter_blue
      A google_maps_flutter

    Downloading dependencies

    -> Installing !ProtoCompiler (3.6.1)
      > Copying !ProtoCompiler from `/Users/baolong/Library/Caches/CocoaPods/Pods/Release/!ProtoCompiler/3.6.1-5d6b6` to `Pods/!ProtoCompiler`

    -> Installing Flutter (1.0.0)

    -> Installing GoogleMaps (2.7.0)
      > Copying GoogleMaps from `/Users/baolong/Library/Caches/CocoaPods/Pods/Release/GoogleMaps/2.7.0-f79af` to `Pods/GoogleMaps`

    -> Installing Protobuf (3.7.0)
      > Copying Protobuf from `/Users/baolong/Library/Caches/CocoaPods/Pods/Release/Protobuf/3.7.0-7a877` to `Pods/Protobuf`

    -> Installing flutter_blue (0.0.1)
     > Running prepare command
       $ /bin/bash -c  set -e mkdir -p gen /Users/baolong/AndroidStudioProjects/swagger_flutter/Pods/!ProtoCompiler/protoc         --objc_out=gen         --proto_path=../protos         ../protos/*.proto
    [!] /bin/bash -c
    set -e
    mkdir -p gen
    /Users/baolong/AndroidStudioProjects/swagger_flutter/Pods/!ProtoCompiler/protoc         --objc_out=gen         --proto_path=../protos         ../protos/*.proto

    /bin/bash: line 3: /Users/baolong/AndroidStudioProjects/swagger_flutter/Pods/!ProtoCompiler/protoc: No such file or directory

    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/executable.rb:69:in `execute_command'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/executable.rb:27:in `block in executable'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb:66:in `block (2 levels) in run_prepare_command'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb:60:in `chdir'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb:60:in `block in run_prepare_command'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb:59:in `run_prepare_command'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb:37:in `prepare!'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_installer.rb:63:in `install!'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:426:in `install_source_of_pod'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:377:in `block (2 levels) in install_pod_sources'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:86:in `titled_section'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:376:in `block in install_pod_sources'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:359:in `each'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:359:in `install_pod_sources'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:189:in `block in download_dependencies'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:188:in `download_dependencies'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:137:in `install!'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb:48:in `run'
    /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in `run'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/bin/pod:55:in `<top (required)>'
    /usr/local/bin/pod:22:in `load'
    /usr/local/bin/pod:22:in `<main>'

Error output from CocoaPods:
↳
       /bin/bash: line 3: /Users/baolong/AndroidStudioProjects/swagger_flutter/Pods/!ProtoCompiler/protoc: No such file or directory

    [!] Automatically assigning platform `ios` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone 6s.

I found that  “/ios/”  is missing from the path.
Error output from CocoaPods:
↳
       /bin/bash: line 3: /Users/baolong/AndroidStudioProjects/swagger_flutter/Pods/!ProtoCompiler/protoc: No such file or directory

Logs
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.3.8, on Mac OS X 10.14.3 18D109, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.3)
[✓] Connected device (1 available)

• No issues found!

Did you find the solution that fixed this issue? @baoolong

same bug, any solution for this?

Got the same issues, still there, no fix?

Seems related to https://github.com/pauldemarco/flutter_blue/issues/292


Resolve multi-database connection limitations

If I am an API backend developer, then I can issue & deploy a single app that connects with all current (as of this story) databases in one mechanism.
Suggested background knowledge, https://mongoosejs.com/docs/connections.html#mongos_connections

Duplicates https://github.com/UTDNebula/nebula-api/issues/31


logistic_regression.js - epsilon

Hi,
I'm using natural (and thus apparatus) to perform some classification. I'm using the logistic regression classifier for various reasons. I have the issue when learning with about 500 datasets (each set consisting out of approx. 10 words), it's taking quite some time. It'd be nice to be able to set the epsilon
            if(last - current < 0.0001)
                break;
            }

dynamically when using apparatus instead of having to change it in the source code. Is there any possibility to set all those numbers via a config when calling the classifier?
Regards,
Philipp Krone

+1
as well as learningRate and learning rate "division step"

Why don't you write a PR for that? But if you care about performance, some changes might affect speed. You might want to test both options (with a variable vs. with a constant).