There is no such --namespace=kube-system parameter

Hello,
I ran your /bin/rescheduler command from the docker. There is no such --namespace param. But it is mentioned in https://github.com/pusher/k8s-spot-rescheduler/blob/master/deploy/deployment.yaml
docker run -it --rm quay.io/pusher/k8s-spot-rescheduler:v0.1.0 --help
Usage of rescheduler: rescheduler --running-in-cluster=true:
      --alsologtostderr                     log to standard error as well as files
      --housekeeping-interval duration      How often rescheduler takes actions. (default 10s)
      --kube-api-content-type string        Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
      --listen-address string               Address to listen on for serving prometheus metrics (default "localhost:9235")
      --log_backtrace_at traceLocation      when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                      If non-empty, write log files in this directory
      --logtostderr                         log to standard error instead of files (default true)
      --max-graceful-termination duration   How long should the rescheduler wait for pods to shutdown gracefully before
		 failing the node drain attempt. (default 2m0s)
      --min-replica-count int               Minimum number or replicas that a replica set or replication controller should have to allow their pods deletion in scale down
      --node-drain-delay duration           How long the scheduler should wait between draining nodes. (default 10m0s)
      --on-demand-node-label string         Name of label on nodes to be considered for draining. (default "node-role.kubernetes.io/worker")
      --pod-eviction-timeout duration       How long should the rescheduler attempt to retrieve successful pod
		 evictions for. (default 2m0s)
      --running-in-cluster                  Optional, if this controller is running in a kubernetes cluster, use the
		 pod secrets for creating a Kubernetes client. (default true)
      --skip-nodes-with-local-storage       If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath (default true)
      --skip-nodes-with-system-pods         If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods) (default true)
      --spot-node-label string              Name of label on nodes to be considered as targets for pods. (default "node-role.kubernetes.io/spot-worker")
      --stderrthreshold severity            logs at or above this threshold go to stderr (default 2)
  -v, --v Level                             log level for V logs
      --vmodule moduleSpec                  comma-separated list of pattern=N settings for file-filtered logging

@duckty Apologies, theres a typo in the creation of the namespace flag. I've opened a PR to fix it and will make a 0.1.1 release for you

Thanks !


Fix an issue when the mysql2 gem is included in a project that uses non-mysql databases.

The old implementation assumed if the gem was present, that all databases were mysql. Connecting to a DB of any other type would cause exceptions. Instead, we check the connection adapter type in each instance of the cleaner, and only use the mysql2 specific code when using the mysql2 adapter.

This should also fix #345


Reading LQ from Linux fails

Hi,
I'm trying to read LQ data from Linux using your Python library but I get the following error:
>>> from labquest import LabQuest
>>> lq = LabQuest()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/labquest/__init__.py", line 37, in __init__
    dll_version = init.load_ngio_library_get_version()
  File "/usr/local/lib/python3.8/dist-packages/labquest/labquest_init_functions.py", line 11, in load_ngio_library_get_version
    config.dll = ngio_lib.load_library()
  File "/usr/local/lib/python3.8/dist-packages/labquest/ngio_library_functions.py", line 29, in load_library
    config.logger.debug("Name of the shared library to open: " + str(dll_name))
UnboundLocalError: local variable 'dll_name' referenced before assignment

Looks like some Windows library is missing. Any change I'll get this working under Linux?

Hello,
The Python module for LabQuest only supports Windows 10 or macOS computers.
All the best,
Sam


Taken photo hasn't been saved.

From @GoogleCodeExporter on May 31, 2015 11:31
What device(s) are you experiencing the problem on?
Sony Ericsson Arc S

What firmware version are you running on the device?
Android 4.4.4

What steps will reproduce the problem?
My code:
# -*- coding: utf-8 -*-
import android

droid = android.Android()
droid.cameraInteractiveCapturePicture('/storage/sdcard0/Download/foo.jpg')
exit()

What is the expected output? What do you see instead?
Expected:
User take a photo and after click the tick, the photo is saved and can be seen
at the specified path(/storage/sdcard0/Download/) with the specified
name(foo.jpg)

Instead of it:
After put the tick, the camera quit and the script is running, doesn't reach
exit()

What version of the product are you using? On what operating system?
The newest one: r6x03
OS: Windows 8.1 Enterprise

Please provide any additional information below.
I tried with other pathes(windows Download folder and android sl4's script
folder) and emulator(Android virtual device).

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 3 Nov 2014 at 11:02
Attachments:

log.txt

Copied from original issue: damonkohler/android-scripting#710

From @GoogleCodeExporter on May 31, 2015 11:31
I solved the problem. I connect my phone in MTP mode and then some files are
not visible for the computer. If I choose UMS I can acces the files but i
needed a kitkat widget: running a system wide media scan. Normal apps can't do
this anymore as of KitKat so you need root unfortunately. I used this app:

https://play.google.com/store/apps/details?id=com.logika.rescan&hl=en

Original comment by<EMAIL_ADDRESS>on 5 Nov 2014 at 11:40


typos: 1.24.6 -> 1.25.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/crate-ci/typos/releases.
meta.description for typos is: Source code spell checker
meta.homepage for typos is: https://github.com/crate-ci/typos
meta.changelog for typos is: https://github.com/crate-ci/typos/blob/v1.25.0/CHANGELOG.md
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.25.0 with grep in /nix/store/1g7g0gdd0ss21ic4rffc8i8g54pdd537-typos-1.25.0
found 1.25.0 in filename of file in /nix/store/1g7g0gdd0ss21ic4rffc8i8g54pdd537-typos-1.25.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

typos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1g7g0gdd0ss21ic4rffc8i8g54pdd537-typos-1.25.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A typos https://github.com/r-ryantm/nixpkgs/archive/99910b45fba2cb9c5e96cd8f66b2ccaf005dc70b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/99910b45fba2cb9c5e96cd8f66b2ccaf005dc70b#typos

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1g7g0gdd0ss21ic4rffc8i8g54pdd537-typos-1.25.0
ls -la /nix/store/1g7g0gdd0ss21ic4rffc8i8g54pdd537-typos-1.25.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

typos

Maintainer pings
cc @figsoda @mgttlinger for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


Build fails with Plugin not found

When I tried to build Vespa using mvn (in a fresh clone), I got:
[ERROR]   The project com.yahoo.vespa:vespalog:6-SNAPSHOT (/vespa/vespalog/pom.xml) has 2 errors
[ERROR]     Unresolveable build extension: Plugin com.yahoo.vespa:bundle-plugin:6-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.yahoo.vespa:bundle-plugin:jar:6-SNAPSHOT -> [Help 2]
[ERROR]     Unknown packaging: container-plugin @ line 14, column 14

Can someone tell me how to build the project ?
Thanks

Run
./bootstrap.sh
in the root directory first (needed every time you run mvn clean).


Nood question

Hello guys, i can't seem to understand why my project hasn't a tittle info next to the rotating logo :(
Help please.

@thelmapeluche  Your Texts file may not have any string to describe it . Or maybe you do not have a texts file - check there first.

Strange, whats the variable I would change in text please ?

You should debug it yourself.

This is like coming here and saying my car is not working any idea?

sorry won't asking, i came from a windows background, and yes i was getting for fast free help, but i guess  @volkanceylan if this is the kind of help i get, oh well gut look for your future !!!


Unexpected behaviour of counting size of collection of collection

Description

I  tried mapping the number of elements of a collection in my EntityView that required two joins (e.g. @Mapping("SIZE(carrierProfiles.supplierEntries)")).
Expected behavior

Retrieving the number of elements of the collection, without changing the number of results.
Actual behavior

Using COUNT and SIZE  both results in a subquery that counts the elements, but when using SIZE, the results of the entity view query are not grouped after joining. Thereby the mapping unexpectedly increases the results of the query.
Steps to reproduce

Environment

Version: 1.3.0-Alpha3
JPA-Provider:
DBMS:
Application Server:

I will not deviate from what the JPA specification says about the SIZE function which is, that the last attribute in the path must be a plural attribute and for that, it will determine the count. To count the overall size of all elements, one will have to write a subquery.


Exclude code snippets in lib folder via configuration

This patch introduces a new configuration parameter called exclude_code_snippets, taking a list of strings which will be served to filter out (say: exclude) code snippets from lib folder.
Nanoc automatically loads so called 'code snippets' (plain rb files) from lib folder prior execution. Nanoc as well provides a Rakefile for handy tasks. In my case, I extended rakefile to a number of tasks for which I needed some gems (and private libs) as well. Naturally, I put them into lib folder.
In this scenario, I obviously don't want all the 3rd party gems (and my personal libs) not to be auto-loaded by Nanoc. In order to both run Nanoc and my rake tasks flawlessly side by side, I introduced this patch.
The patch has been taken from a 3.1.8 running Nanoc and weaved in to master. I tested it with 3.1.8 only. Hope it might be useful.

Hi Ilker,
Apologies for not answering earlier.
I am a bit torn on this change. I am not sure whether the code for your Rake tasks should be in the lib/ directory. As I see it, creating a tasks/ folder in which you place the extra code for your tasks would make such a exclude_code_snippets configuration option unnecessary, wouldn’t it? You can create separate .rake files in the tasks/ folder and then import them like this:
Dir.glob('tasks/*.rake').each { |r| import r }

Would this solution work for you?

Hi Denis,
To be honest, I was thinking by myself to change my custom tasks inclusion anyway. I'm very fine with your proposed solution since it provides what I need as well as keeps config / complexity low on nanoc. No need to change code here, hence closing request.
Thank you.


Swift 2.3 - Use 0.22.0 release tag.

New Issue Checklist

[ ] I have looked at the Documentation
[ ] I have read the F.A.Q.

Issue Info

Info
Value

Platform
e.g. ios/osx/tvos

Platform Version
e.g. 8.0

SnapKit Version
e.g. 0.19.0

Integration Method
e.g. carthage/cocoapods/manually

Issue Description

@yangzhixiao please see my edit to your issue title

@yangzhixiao you need to use the 0.22.0 tagged release for Swift 2.3

pod 'SnapKit', '~> 0.22.0'
right ?

@yangzhixiao correct


Using grizzly

Can grafonnet be used with grizzly ?
I can an error when trying to use the grr preview command:
FATA[0000] recursion did not resolve in a valid Kubernetes object.  In path '.' found key 'schemaVersion' of type 'float64' instead.
Any idea ?

You also need to use it with github.com/grafana/jsonnet-libs/grizzly to wrap the grafonnet object in a k8s style object.

Thanks for the swift answer.
I just installed it using jb install github.com/grafana/jsonnet-libs/grizzly. Is it the right way ?
My dashboard.jsonnet looks like this:
local grafonnet = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet';

grafonnet.dashboard.new('My Dashboard')

Can you please provide me an example of how to "wrap" the grafonnet object ?

I did this:
local grafonnet = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet';
local grizzly = import 'grizzly/grizzly.libsonnet';

grizzly.fromPrometheusKsonnet(grafonnet.dashboard.new('My Dashboard'))

But when running this command jsonnet -J vendor dashboard.jsonnet I get this error:
RUNTIME ERROR: Field does not exist: grafanaDashboards
	vendor/grizzly/grizzly.libsonnet:11:30-52	thunk from <object <anonymous>>
	vendor/grizzly/grafana.libsonnet:14:31-41	thunk from <function <anonymous>>
	<std>:1539:24-25	thunk from <function <anonymous>>
	<std>:1539:5-33	function <anonymous>
	vendor/grizzly/grafana.libsonnet:14:14-42	function <anonymous>
	vendor/grizzly/grafana.libsonnet:(7:33)-(15:4)
	vendor/grizzly/grafana.libsonnet:(7:33)-(15:4)
	vendor/grizzly/grizzly.libsonnet:11:14-70	object <anonymous>
	Field "grafana"
	During manifestation

I managed to make it work with this:
local g = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet';
local grizzly = import 'grizzly/grizzly.libsonnet';

grizzly.dashboard.new("Test", g.dashboard.new('My Dashboard'))

For future readers, some time ago I created minimal working example of Grafonnet in combination with Grizzly, which is available here: https://github.com/joanlopez/grafonnet-example

@joanlopez Maybe you can help me on this one:
With the previous grafonnet version grafonnet-lib, I could specify the grafana folder I wanted my dashboards to be pushed to with grizzly.
{
  grafanaDashboardFolder:: 'SomeFolder',
  grafanaDashboards:: {
    foo: import 'myDashboard.libsonnet',
  }
}

Now, with the new Grafonnet here, I can't find a way to do the same thing. What am I missing ?

As far as I can tell, it looks like grafanaDashboardFolder is still being used in combination with grafanaDashboards (see https://github.com/grafana/grizzly/blob/main/pkg/grizzly/grizzly.jsonnet#L32), but that's Grizzly bits, so I'm not sure how the interoperability between that and the new Grafonnet might have been affected.
I think that's a better question for either @Duologic  or @malcolmholmes. Sorry for not being to shed some light! 🙏🏻

You set a folder metadata element on your k8s style object. Perhaps there is also a withFolder function in the grizzly lib?


Analysis v4

Proposed Changes

deprecated all *_obj.py compatibility modules
deprecated titanlearn.py
deprecated visualization.py
removed matplotlib from requirements
removed extra submodule imports in Analysis
added typehinting, docstrings for each function

Refer to individual changelogs for more details.

Unit tests are not passing because the tests have been changed.


Memory issues?

When I load multiple memories at the same time, the third/fourth memory or so gets stuck at Loading models...
Is this because I do not have enough memory? I currently have 16 GB in this machine.

@davidecaroselli Help?

@LoekvanKooten
sorry for the late answer,
very likely, the problem is that you are trying to upload your memories at the same time
and so there is a lot of concurrency when they are written on the DB.
Moreover, while uploading the TM, the CPU is used.
Hence, there is the risk that you run out of memory if your TMs are big and/or you upload multiple TMs.
So I strongly suggest to upload the TMs sequentially.

Noob alert! Is there a batch command that makes sure it does not execute the next command until the previous command is completely finished? As I think that they are being uploaded one by one in a batch file.

@LoekvanKooten
which is the command you used?

@LoekvanKooten
Actually the standard command to import a TM is using a command like this:
mmt import -e ENGINE -x TMX
```
this command show a progress bar.
When it reaches 100%, the import job is completed.

And you can safely start a new import

This is my current batch:
echo "Starting Tensorflow..." cd test_function() { . $HOME/anaconda2/bin/activate; } test_function tensorflow echo "Starting ModernMT with verbose log..." cd mmt7 ./mmt stop -e engdut ./mmt stop -e engjap ./mmt stop -e japeng ./mmt stop -e japdut ./mmt start -e engdut -v 2 ./mmt start -e engjap -p 8048 --cluster-port 5019 --datastream-port 9095 --db-port 9045 -v 2 ./mmt start -e japeng -p 8049 --cluster-port 5020 --datastream-port 9096 --db-port 9046 -v 2 ./mmt start -e japdut -p 8046 --cluster-port 5017 --datastream-port 9093 --db-port 9043 -v 2 exec bash ~

Everything goes well, until the last one (japdut) is started. It gets stuck at Loading models, but not consistently. Sometimes it does load the model in its entirety.

Are you starting 4 different engines, each one handling one language?
or rather
are you interesting in uploading multiple translation memories in the same engine?
please clarify your scenario in order to let me help in the best way.
By the way, if you are using four different engine at the same time, it is very likely that you ran out of GPU memory. you can monitor the GPU RAM using the command
nvidia-smi

I'm indeed trying to serve four memories simultaneously (as I switch language ;pairs constantly on a day). How would I solve the memory issue? Place a 2nd graphics card? Would that also speed up the suggestions?

have you trying the multilingual facility of ModernMT
As you can see in this page https://github.com/modernmt/MMT/wiki/Multilingual-Engines
Starting from release 2.0, ModernMT supports multilingual engines. This means that you can use a single ModernMT system to handle multiple language directions.
This allows having more languages without GPU memory problems, even with just one GPU on board.
As you can read in the instructions, there is no need to re-train the single-language engines.
Please follow carefully the instructions to build a "multilingual engine", and report if you succeeds.

Thank you very much! That sounds like an interesting option. I just loaded four memories by the way, and am only using 6 out of 12 MiB. So I wonder whether memory is the real issue. I'll run the nvidia-smi command again once the engines get stuck again.
Would a 2nd card speed up suggestions by the way? And if so, would I need the same make/model?

I would suggest to monitor continuously both the GPU and the CPU usage for instance using
watch nvidia-smi
and
watch free -h
which print =s statistics every few seconds.
Having a 2 GPU permits to split the load on the two GPUS.
If you have 4 engines, you should specify two engines on GPU A and two engines on GPU B as explained here
https://github.com/modernmt/MMT/wiki/Advanced-Configurations#engine-configuration
But it is better to understand if your OOM on the GPU is occurring during the uploading of the memories or rather during the translation.
I would suggest first of all to test the engines without memories trying to translate a bunch of queries for all languages in a random way. Then, you can upload the memories, and re-do the test of translation.

Right after training I get this:
2019-03-07 18:46:07,777 DEBUG eu.modernmt.cluster.ClusterNode [main] Cluster node status changed: CREATED -> JOINING
2019-03-07 18:46:07,786 INFO  eu.modernmt.cluster.ClusterNode [main] Node is joining the cluster
2019-03-07 18:46:08,332 DEBUG eu.modernmt.cluster.ClusterNode [main] Cluster node status changed: JOINING -> JOINED
2019-03-07 18:46:08,333 INFO  eu.modernmt.cluster.ClusterNode [main] Node joined cluster of 1 members in 0.396s
2019-03-07 18:46:08,333 DEBUG eu.modernmt.cluster.ClusterNode [main] Cluster node status changed: JOINED -> LOADING
2019-03-07 18:46:08,334 INFO  eu.modernmt.cluster.ClusterNode [main] Model loading started
2019-03-07 18:46:08,347 INFO  eu.modernmt.aligner.fastalign.FastAlign [main] Loading FastAlign models
2019-03-07 18:46:08,399 INFO  eu.modernmt.aligner.fastalign.FastAlign [main] Loaded 1 FastAlign models in 0s
2019-03-07 18:46:08,536 INFO  eu.modernmt.decoder.neural.execution.impl.DecoderQueueImpl [pool-7-thread-1] Native decoder process on GPU 0 is starting
2019-03-07 18:46:11,593 ERROR eu.modernmt.decoder.neural.execution.impl.DecoderQueueImpl [pool-7-thread-1] Native decoder process on GPU 0 failed to start
java.io.IOException: Failed to start neural decoder, received: null
at eu.modernmt.decoder.neural.execution.impl.PythonDecoderImpl.init(PythonDecoderImpl.java:107)
at eu.modernmt.decoder.neural.execution.impl.PythonDecoderImpl$Builder.start(PythonDecoderImpl.java:78)
at eu.modernmt.decoder.neural.execution.impl.PythonDecoderImpl$Builder.startOnGPU(PythonDecoderImpl.java:49)
at eu.modernmt.decoder.neural.execution.impl.Handler.restart(Handler.java:55)
at eu.modernmt.decoder.neural.execution.impl.DecoderQueueImpl$Initializer.run(DecoderQueueImpl.java:194)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Hardly any CPU or GPU memory is used. It just doesn't start. I train using tensorflow, then press Ctrl+C to interrput, then start the memory. This happens.

I was able to reproduce the issue. The engine simply stops at Loading models in ModernMT 3.0. There is still tons of free CPU and GPU memory, so this is not being caused by memory issues. Then what is causing it?

See the updates on #457 ... you should be able to start MMT on CPU. There seems to be an issue with using GPU memory.

Hi @LoekvanKooten
actually your problem seems like #457.
So please follow the same instructions I gave here
https://github.com/modernmt/MMT/issues/457#issuecomment-478896695
and please report your error

As reported in another thread, this issue seems to be solved. If not, please feel free to re-open it with newer infos.
Thanks!


remove relative links

Remove relative links from Readme to create automation to copy to docs.microsoft.com ref

Closing PR based on offline discussion


Implemented aggregate reports

Resolves #20, #43

Great news :) was waiting for this actual feature so much.
When it will be released?
Is it possible to test / use it even before official release?


Migrate to Vite

The initial build and load times in create-react-app are very long. The app takes a long time to start up.
On the other hand, using vite, the times are reduced by a significant amount! So, I think migrating to vite can really enhance developer's experience.

Yeah that's true I use vite for my other project and it's very fast.
Do you want to work on it?

Yeah, sure! I'd love to!


Create About Section

Create a quick about section for the project. It'll include what exactly the web app was designed for and how to use all the features included. Currently, I want to have this display on the page for when you first get there and then hide it once they load a graph.

Section added to the page for when you first arrive that describes the web app and its functions. Once you load or create a graph, it disappears.


Updating Modal snapshots

Jira
http://vjira2:8080/browse/BDS-2010
Summary
Update modal snapshots.
Details
Modal snapshots were failing. As far as we can tell it was due to the change in JPG compression quality, but then why aren't other tests failing, too? For now, updating these snapshots fixes the failing tests.
How to test

See new snapshots and verify they look as expected

PR was released with v2.18.0


Heart Rate, Blood Pressure, Continuous Glucose, Health Temperature

🤘 Huge Super Pull Request
👨🏭 What have been done
That PR includes implementation of next profiles:

Cycling Speed and Cadence Sensor
Heart Rate Monitor
Running Speed and Cadence Sensor
Continuous Glucose Monitor

⌨ How code has been changed

Added Generic chart data section which creates cell with Linear Data Chart

Peripherals, Services and Characteristics now are described with structure Peripheral
  struct Peripheral {
      struct Service {
          struct Characteristic {
              enum Action {
                  case read, write, readWrite, notify(Bool)
              }

              let uuid: CBUUID
              let action: Action
          }
          let uuid: CBUUID
          let characteristics: [Characteristic]
      }
      let uuid: CBUUID
      let services: [Service]?
  }

  // E.g.
  // Continious Glucose Monitor profile
  extension Peripheral {
  		// Profile contains list of services
      static let continuousGlucoseMonitor = Peripheral(uuid: CBUUID(hex: 0x181F), services: [.battery, .continuousGlucoseMonitor])
  }

  // Continious Glucose Monitor sevice
  private extension Peripheral.Service {
  		// Service contains list of characteristics which will be discovered
      static let continuousGlucoseMonitor = Peripheral.Service(uuid: CBUUID(hex: 0x181F), characteristics: [.feature, .measurement, .sessionRunTime, .sessionStartTime, .specificOpsControlPoint, .status])
  }

  // Continious Glucose Monitor characteristics
  private extension Peripheral.Service.Characteristic {
  		// Here I have a little doubt regarding `action` parameter.
  		// I'm not sure it's action.
  		// Maybe it's access type or something
      static let feature = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AA8), action: .read)
      static let measurement = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AA7), action: .notify(true))
      static let sessionRunTime = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AAB), action: .read)
      static let sessionStartTime = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AAA), action: .read)
      static let specificOpsControlPoint = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AAC), action: .read)
      static let status = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2AA9), action: .read)
      static let measurementContext = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2A34), action: .read)
      static let recordAccessPoint = Peripheral.Service.Characteristic(uuid: CBUUID(hex: 0x2A52), action: .read)
  }

CBUUID now can be created with simple HEX

Randomizer

That is structure which mimic real data to make fancy screenshots since SDK provides boring linear of flat data.
That works only on Debug mod so on production we will still get boring real data from SDK

🛠 Should be done
Continuous Glucose Monitor

Implement Record Access point to read previously read values
Implement CGM Feature
Implement CGM status

UPD:
Proximity is here!
Added proximity service. Unfortunately only for one connected peripheral.
What was implemented:

RSSI level
Current approximate distance and graphic. It's very approximate. It's based on Tx and RSSI value and it has quite a wide spread. So I take median from last 10 values to build chart.
Find me feature is working in Background. It displays notification with a sound.

📷 Screenshots

@philips77  @dinesharjani  👆

Regarding "action". It already has a name and it's called a "property". Also, a characteristics may have multiple properties, I don't know how do you handle this case. For example .write and .indicate. I would also distinguish notify and indicate, as this may be useful for validation. The behavior of enabling both may be the same, of course, setting isNotify to Bool.

One other thing. Do you specify somewhere which services or characteristics are optional? For example, Battery Service may not be there, or may only have .read property, or only .notify, depending on the device. For Glucose, the device doesn't need to have Context characteristic, etc. The spec says which services and characteristics are required.

One other thing. Do you specify somewhere which services or characteristics are optional? For example, Battery Service may not be there, or may only have .read property, or only .notify, depending on the device. For Glucose, the device doesn't need to have Context characteristic, etc. The spec says which services and characteristics are required.

If we cannot handle handle characteristic it just will be ignored. So I don't specify directly whether it is optional or required.

Ok, but what if a device advertises as a let's say Heart Rate and if has completely different services? I think if you don't find all required ones you should display something like "Device not supported".

Device

Make sense.

Ok, but what if a device advertises as a let's say Heart Rate and if has completely different services? I think if you don't find all required ones you should display something like "Device not supported".

Make sense

Regarding "action". It already has a name and it's called a "property". Also, a characteristics may have multiple properties, I don't know how do you handle this case. For example .write and .indicate. I would also distinguish notify and indicate, as this may be useful for validation. The behavior of enabling both may be the same, of course, setting isNotify to Bool.

I left only two properties: read and notify. They indicate which action should we do where characteristic is discovered first. I've also made it optional in case we don't want do anything.
struct Characteristic {
    enum Property {
        case read, notify(Bool)
    }

    let uuid: CBUUID
    let properties: Property?
}

Updated notification text with peripheral name.

Updated notification text with peripheral name.


Feat/auth integration

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Changes Unknown when pulling d571f7f240fe77dc10b32b16b30533a09e8d4278 on feat/auth-integration into ** on master**.


Unable to tearDown and ReBoot  webcontainer  on page change

Describe the bug
GITHUB LINK: https://github.com/pratham15541/webcontainer-trial-react
i am trying to teardown webcontainer and once again boot in react app
but it shows error:
/docs
Webcontainer.jsx:98 null
Webcontainer.jsx:59 Booting WebContainer...
Webcontainer.jsx:75 WebContainer booted successfully!
/docs
Webcontainer.jsx:98 {"_instance":{},"_runtimeInfo":{"path":"/bin:/usr/bin:/usr/local/bin","cwd":"/home/httplocalhost5173-b5wu"},"_iframe":{},"fs":{"_fs":{}}}
Webcontainer.jsx:101 Stopping WebContainer...
Webcontainer.jsx:104 WebContainer stopped
Webcontainer.jsx:59 Booting WebContainer...
Webcontainer.jsx:93
Error booting WebContainer: Error: WebContainer already booted
at WebContainer.boot (index.js:140:19)
at initializeComponents (Webcontainer.jsx:60:47)
at Webcontainer.jsx:150:7
Link to the blitz that caused the error
https://stackblitz.com/~/github.com/pratham15541/webcontainer-trial-react
Steps to reproduce
code:
import React, { useEffect } from "react";
import { WebContainer } from "@webcontainer/api";
import { expressFiles } from "../files/express";
import { Terminal } from "xterm";
import { FitAddon } from "xterm-addon-fit";
import "xterm/css/xterm.css";
import { useLocation } from "react-router-dom";

// Declare variables for DOM elements and WebContainer instance
let webcontainerInstance = null;
let terminalEl = null;
let iframeEl = null;
let editorEl = null;
let shellProcess = null;
let terminal = null;
let fitAddon = null;
let initialized = false;

// Function to check if DOM elements are ready
function areDOMElementsReady() {
  return iframeEl && editorEl && terminalEl;
}

async function createTerminal(terminalEl) {
  fitAddon = new FitAddon();
  const terminal = new Terminal({
    // cursorBlink: true,
    convertEol: true,
  });
  terminal.loadAddon(fitAddon);
  terminal.open(terminalEl);

  // Return a promise that resolves when the terminal is ready
  await new Promise((resolve) => {
    terminal.onRender(() => {
      fitAddon.fit(); // Call fitAddon.fit() when the terminal is ready
      resolve(terminal);
    });
  });

  return terminal;
}

// Function to initialize the components
async function initializeComponents() {
  try {
    // Get DOM elements
    iframeEl = document.getElementById("iframeEl");
    editorEl = document.getElementById("editor");
    terminalEl = document.getElementById("terminalEl");

    // Check if any of the elements are null
    if (!areDOMElementsReady()) {
      console.log("One or more elements are null. Retrying in 2 seconds...");
      setTimeout(initializeComponents, 2000); // Retry after 2 seconds
      return;
    }

    console.log("Booting WebContainer...");
    webcontainerInstance = await WebContainer.boot();
    await webcontainerInstance.mount(expressFiles);

    // When the server is ready, set the iframe's src
    webcontainerInstance.on("server-ready", (port, url) => {
      iframeEl.src = url;
      // console.log(url)
    });

    webcontainerInstance.on("port", async (port, type, url) => {
      if (type === "close") {
        iframeEl.src = "./serverOpenClose.html";
      }
    });

    console.log("WebContainer booted successfully!");

    // Create a terminal
    terminal = await createTerminal(terminalEl);

    await startShell(terminal);

    // Resize the terminal when the window is resized
    window.addEventListener("resize", () => {
      fitAddon.fit();
      shellProcess.resize({
        cols: terminal.cols,
        rows: terminal.rows,
      });
    });

    initialized = true;
  } catch (error) {
    console.error("Error booting WebContainer:", error);
  }
}

async function stopWebContainer() {
  console.log(JSON.stringify(webcontainerInstance)); // Log the instance before teardown
  if (webcontainerInstance !== null) {
    try {
      console.log("Stopping WebContainer...");

      await webcontainerInstance.teardown();
      console.log("WebContainer stopped"); // Log after teardown
      webcontainerInstance = null;
    } catch (error) {
      console.error("Error stopping WebContainer", error);
    }
  }
}

async function startShell(terminal) {
  try {
    shellProcess = await webcontainerInstance.spawn("jsh", {
      terminal: {
        cols: terminal.cols,
        rows: terminal.rows,
      },
    });

    shellProcess.output.pipeTo(
      new WritableStream({
        write(data) {
          terminal.write(data);
        },
      })
    );

    const input = shellProcess.input.getWriter();

    terminal.onData((data) => {
      input.write(data);
    });

    return shellProcess;
  } catch (error) {
    console.error("Error starting shell:", error);
    // return null; // Handle the error gracefully, you can return null or another value
  }
}

// Wait for the DOM to load and then initialize components

const Webcontainer = () => {
  const location = useLocation();

  useEffect(() => {
    if (location.pathname === "/playground") {
      // console.log(location.pathname);
      initializeComponents();
    } else {
      console.log(location.pathname);
      stopWebContainer();
    }
  }, [location]);

  return <></>;
};

export default Webcontainer;

Expected behavior
i think it should destroy and again start new webcontainer Instance..
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform

OS: [ Windows]
Browser: [ Chrome]

Additional context
No response

hi :wave: thanks for reporting this issue!
I pulled the code and started the app, but wasn't sure exactly how the error should be trigger.
Can you list the steps you take to reproduce this issue?

if you run it locally
and install app and start dev server
then it shows the four routes
like /docs , /playground,  in navbar
when i switch to /playground it boots webcontainer successfully
and change page i am calling function for teardown webcontainer
and when user gets back again /playground then it shows error webcontainer already booted!

no reply since 2 days

Thanks for the reproduction notes, We've been trying to debug this issue but haven't got to the bottom of it yet.
Once the issue if figured out we will post an update here!


Flickering effect when input

Especially when press 'Delete' button. Any workaround for this to make it looks smoother?
Demo video:
https://drive.google.com/open?id=1c_8O9RCqXhTW2xeCqTQ5O6aWrwMNfeo1

Hi,
Are you run your app in debug or release mode?
Because it's appear to be related to Issue #12.

Hi, the effect is seen in both debug and release mode. Is there any workaround than using the solution suggested in #12?

Hi, for now, use that tricks =).

I have the same issue, I tried the work around proposed from #12 , but didn't work because the this.props.type was always undefined.

@pavlokitdev Hi, I wasn't able to get it work back then and didn't use this component anymore

what component do you use for this one my friend??

same issue hi @dhonaldJC , @all any solution

same issue hi @dhonaldJC , @all any solution


Fix concurrent emitting of Motion Updates, setting a maxConcurrentOperationCount of 1.

I was in the right direction thinking this is a locking issue and trying NSReursiveLock, but the actual issue is that NSOperationQueue isn’t serial, so setting maxConcurrentOperationCount to 1 makes sure we don’t get two concurrent emissions.
Thanks to @kzaher for the help in pointing this out :)
Fixes #14

Updated the OperationQueue solution for all emitters @askielboe


When running Snapd programs with built-in Systemd support, there is some Waring about D-Bus session daemon

Version
Microsoft Windows [版本 10.0.22621.755]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 22.04
Other Software
vlc, version 3.0.18 . Refer to https://snapcraft.io/vlc .
gnome-text-editor, version 42.2 . Refer to https://snapcraft.io/gnome-text-editor .
Repro Steps

Download and open https://www.microsoft.com/store/productId/9PDXGNCFSCZV .
Edit /etc/wsl.conf and restart the WSL instance to turn on systemd support.
Run the following command to install the snapcraft program.

sudo apt update && sudo apt upgrade -y
sudo snap install gnome-text-editor
sudo snap install vlc

Open the application with the following two commands, and we can see the log.

gnome-text-editor ~/.bashrc
vlc

Expected Behavior

Considering that D-Bus is a basic component, I don't think there should be a warning related to this.

Actual Behavior

When executing vlc, I saw some warnings related to D-Bus.

lingh@DESKTOP-TPTE5D5:~$ vlc
2022/11/05 11:00:21.215286 cmd_run.go:1055: WARNING: cannot start document portal: dial unix /run/user/1000/bus: connect: no such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
VLC media player 3.0.18 Vetinari (revision 3.0.18-0-ge9eceaed4d)
[000055593a3cb670] dbus interface error: Failed to connect to the D-Bus session daemon: Failed to connect to socket /run/user/1000/bus: No such file or directory
[000055593a3cb670] main interface error: no suitable interface module
[000055593a313a10] main libvlc error: interface "dbus,none" initialization failed
[000055593a313a10] main libvlc: 正在以默认界面运行 vlc。使用“cvlc”可以无界面模式使用 vlc。
[000055593a3d85d0] main playlist: playlist is empty

When executing gnome-text-editor ~/.bashrc, I also saw some warnings related to D-Bus.

lingh@DESKTOP-TPTE5D5:~$ gnome-text-editor ~/.bashrc
2022/11/05 11:03:04.902465 cmd_run.go:1055: WARNING: cannot start document portal: dial unix /run/user/1000/bus: connect: no such file or directory

(process:1852): Gdk-WARNING **: 11:03:06.028: Settings portal not found: 无法连接：No such file or directory
Gdk-Message: 11:03:06.322: Failed to get file transfer portal: 无法连接：No such file or directory

Diagnostic Logs

Null.

This is #8842 ; the quick answer is that the way wsl.exe creates Linux-side processes doesn't go through PAM, so a user login session is never set up, so a user systemd instance is never started, so a user dbus is never created.
(There are various workarounds for this. Mine is bottle-imp, which I'm mentioning here because there are also several gotchas to implementing functioning user-login-session support which it fixes, and it would take a long time to explain them all.
...WSL team, I hope it's not too bad form to advertise my own solution like this, but...)

@pmartincic I noticed that you have made a self-assignment in https://github.com/microsoft/WSL/issues/8842 . Should I close this issue of mine?

@cerebrate: You mention that bottle-imp is a workaround.  How do you use it to fix the problem?  I've installed it according to the instructions on your link, but I'm not sure to do with it once it's installed - the README is a bit inscrutable to someone with my understanding of what systemd is doing.  I ran "imp -i", but all the other commands just produce an error that says "imp: cannot launch command; systemd-machined is not active".

@sbroberg
Which distro are you using?
bottle-imp uses systemd-machined (apt package name: systemd-containerd for some reason) to start user sessions when you use one of the -s/-c/-l options (and thus ensure that all the PAM/systemd session initialization is done correctly). That error message is the one you get if systemd-machined is somehow not enabled - despite bottle-imp doing so at runtime - or not installed, which the (Debian/Arch) packaged versions of bottle-imp should do automatically.
You can check the state of the service with
systemctl status systemd-machined
If it's not installed/can't be found, installing it should solve your problem. If it's something weirder, please open an issue over at the bottle-imp repo, and I'll see what I can do.

Now under Ubuntu 22.04.3 WSL, both warnings using vlc and gnome-text-editor are gone. This issue has been resolved. I'm going to close this issue, although https://github.com/microsoft/WSL/issues/8842 still hasn't closed.


Tests should be filterable to run them separately

Right now I can only run all tests at once which makes it hard to debug/investigate a single sniff or part of code. It would be nice to have a possibility to run a singe test fixture. This can be achieved using PHPUnit's data provider. So
$ vendor/bin/phpunit --filter function-length-no-blank-lines

will run only the function-length-no-blank-lines.php fixture.

Merged with 6b2998b


Crash on com.google.fira.worker thread, EXC_BAD_ACCESS 0x0000000106896210

Step 0: Are you in the right place?

For issues or feature requests related to the code in this repository
file a GitHub issue.

If this is a feature request please use the Feature Request template.

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general (non-iOS) Firebase discussion, use the firebase-talk
google group.
For backend issues, console issues, and other non-SDK help that does not fall under one
of the above categories, reach out to
Firebase Support.
Once you've read this section and determined that your issue is appropriate for
this repository, please delete this section.

[REQUIRED] Step 1: Describe your environment

Xcode version: 13.2.1_
Firebase SDK version: _9.1
Installation method: CocoaPods
Firebase Component: _____ (FirebaseDynamicLinks, FirebaseInstallations, FirebaseAnalytics, FirebaseRemoteConfig, Messaging, FirebaseCrashlytics)
Target platform(s): iOS

[REQUIRED] Step 2: Describe the problem
App is getting crash.
Steps to reproduce:
We are unable to reproduce crash. We have just Firebase Crashlytics logs.
What happened? How can we make the problem occur?
Crashed: com.google.fira.worker
0  TCPApp                         0x237e210 -[APMAudienceTimestampsCache init] + 19399924
1  TCPApp                         0x23b25e0 __41-[APMMeasurement(Bundle) bundleRawEvents]_block_invoke + 19613892
2  TCPApp                         0x241434c -[APMSqliteStore performTransactionWithError:block:] + 20014640
3  TCPApp                         0x2385914 -[APMDatabase performTransaction:] + 19430392
4  TCPApp                         0x23b2308 -[APMMeasurement(Bundle) bundleRawEvents] + 19613164
5  TCPApp                         0x23c3518 -[APMMeasurement uploadData] + 19683324
6  TCPApp                         0x23c9da0 __49-[APMMeasurement handleAppWillResignActiveEvent:]_block_invoke_3 + 19710084
7  TCPApp                         0x24097e0 __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 19970756
8  libdispatch.dylib              0x1e6c _dispatch_call_block_and_release + 32
9  libdispatch.dylib              0x3a30 _dispatch_client_callout + 20
10 libdispatch.dylib              0xb124 _dispatch_lane_serial_drain + 668
11 libdispatch.dylib              0xbc80 _dispatch_lane_invoke + 392
12 libdispatch.dylib              0x16500 _dispatch_workloop_worker_thread + 648
13 libsystem_pthread.dylib        0x10bc _pthread_wqthread + 288
14 libsystem_pthread.dylib        0xe5c start_wqthread + 8
If you have a downloadable sample project that reproduces the bug you're reporting, you will
likely receive a faster response on your issue.
Relevant Code:
// TODO(you): code here to reproduce the problem

Thanks for reporting, @siddew201. Could you share the full stack trace of the issue and the crash message?


[FEATURE]: Separate build storage cargo capacity

Describe the solution you'd like:
"Fill Cargo Hold %" is a useful feature to prevent mostly empty runs. However when fulfilliing buy offers from player owned build storages it would be better if such an order would be completed instead of simply ignoring it for all eternity.
I suggest a new value "Player build storage cargo mod" (with a better name) with default 100 that acts as a percent modification to "Fill Cargo Hold %". For example setting FCH to 75% and the new one to 50 means Build storage offers must only fill up to 37.5% of cargo space.
Describe alternatives you've considered:
A simple boolean flag instead of another slider that disables the "Fill Cargo Hold %" check for player owned build storages. However at worst it would mean an Incarcaruta deliver 300 energy cells.
Additional Context (if any)
The only way with the current version that ensures that build storage is served is buy setting "Fill Cargo Hold %" to 0. Such a trader would either sit idly a lot (if you only use it for build storage) or would do insanely inefficient normal trades (basically rushing to every station that completes a single production cycle).

The supply mule is supposed to ignore the cargo hold slider if the trade is for build storage and would finish off the ware. Is that not working?

I am pretty sure it does not work, but I will try to test it again under controlled conditions and report back.

The second clause of this if statement should let the build storage trades through:
https://github.com/Misunderstood-Wookiee/Mules-and-Warehouses-Extended/blob/eef767121a549f7405c6ba248465043139516a80/aiscripts/mule.lib.evaluate_tradeoffers.xml#L135

What is $targetOfferedAmount in this case? If it is the volume required by the build storage wouldn't that mean that this check only every returns true if the amount offered by the source is exactly the amount required by the target?

Yes, but if the amount were bigger, then it wouldn't get clipped by the $minCargoSize check.

I will have to think through the logic, but I am heavily distracted at the moment. I will try to think through it later today.

Ok and I will test it ingame again as soon as I have enough money in my current game.

It does "feel" like something looks wonky in the if statement but I can't quite put my finger on it without sitting down and writing out a truth table

I tested it in game and it did not work
Scenario:

HQ with small dock queued
buy offers 185 hull parts at 274 Cr. Assigned Vulture Vanguard is just sitting there even with in system sell offers that are below buy offer price (880 hull parts for 260 Cr sell offer)
assigned a Courier Vanguard with Fill Cargo Hold % at 25% and it still did not complete the trades

I took a look into the code and the code you mentioned SHOULD work:
and not ($buyoffer.buyer.isclass.buildstorage and ($tradeAmount == $targetOfferedAmount))
$tradeAmount is what we want (or can) trade for, minimum out of affordable, maximum of what we want to buy and available space, targetOfferedAmount is what we want to buy.
Pick hull parts in above case.  Trade amount in that case is 185 (because 185 is the lowest out of what we want, our cargo space (10200) and whatever is affordable).
I think the problem is from restricting station construction trades to your own faction (which I activated so the AI would not snatch up the trade offers while I did my test). The trade is skipped if either the buy or the sell offer is faction restricted. In this case the sell offer was Teladi which was not allowed to fulfill the buy offer of my station.
I am unsure whether this is a bug or a feature. On one hand I understand that you might not want to trade with a specific faction at all in which case that makes sense to apply the restriction to the SELL offer as well as your stations buy offer. But on the other hand that makes it impossible to prevent the AI from fulfilling your build storage buy offers while still allowing your ships to buy wares at the lowest possible price.

Thanks. I think I was not expecting the build storage trade setting to act that way. I even double checked with a vanilla build storage trader and he acts the same way i.e. not finding trades as long as a faction restriction is in place for build storage trade.
Anyway, my initial assumption was wrong and even the reason why it did not work for me was intended behavior so I am closing this. Thanks again!

I should maybe add that tid bit to the readme for the buid storage
On Thu, 6 Jan 2022, 10:59 pm satheon49, @.***> wrote:

Thanks. I think I was not expecting the build storage trade setting to act
that way. I even double checked with a vanilla build storage trader and he
acts the same way i.e. not finding trades as long as a faction restriction
is in place for build storage trade.
Anyway, my initial assumption was wrong and even the reason why it did not
work for me was intended behavior so I am closing this. Thanks again!
—
Reply to this email directly, view it on GitHub
https://github.com/Misunderstood-Wookiee/Mules-and-Warehouses-Extended/issues/146#issuecomment-1006523138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFH3SZYOBATSDLOKZYR5MZDUUV7YTANCNFSM5LKHFI4Q
.
You are receiving this because you are subscribed to this thread.Message
ID:
<Misunderstood-Wookiee/Mules-and-Warehouses-Extended/issues/146/1006523138
@github.com>

Was going to say a aimple ignore build storage check box would probably
resolve this.
On Thu, 6 Jan 2022, 2:49 am satheon49, @.***> wrote:

Describe the solution you'd like:
"Fill Cargo Hold %" is a useful feature to prevent mostly empty runs.
However when fulfilliing buy offers from player owned build storages it
would be better if such an order would be completed instead of simply
ignoring it for all eternity.
I suggest a new value "Player build storage cargo mod" (with a better
name) with default 100 that acts as a percent modification to "Fill Cargo
Hold %". For example setting FCH to 75% and the new one to 50 means Build
storage offers must only fill up to 37.5% of cargo space.
Describe alternatives you've considered:
A simple boolean flag instead of another slider that disables the "Fill
Cargo Hold %" check for player owned build storages. However at worst it
would mean an Incarcaruta deliver 300 energy cells.
Additional Context (if any)
The only way with the current version that ensures that build storage is
served is buy setting "Fill Cargo Hold %" to 0. Such a trader would either
sit idly a lot (if you only use it for build storage) or would do insanely
inefficient normal trades (basically rushing to every station that
completes a single production cycle).
—
Reply to this email directly, view it on GitHub
https://github.com/Misunderstood-Wookiee/Mules-and-Warehouses-Extended/issues/146,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFH3SZ6JHVRCVJFZSZXVX43UURR6ZANCNFSM5LKHFI4Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
.com>


unix: fix wrong MAC of uv_interface_address

fix a wrong if in uv_interface_address about MAC.

if (ent->ifa_addr->sa_family != AF_LINK)
against
if (ent->ifa_addr->sa_family == AF_LINK)

Fixes: https://github.com/nodejs/node/issues/13581
Refs: https://github.com/libuv/libuv/blob/v1.9.1/src/unix/freebsd.c#L418-L420
Refs: https://github.com/libuv/libuv/blob/v1.9.1/src/unix/darwin.c#L303-L305
Refs: ...

Anyone to review this PR?

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/289/

@santigimeno it seems failed?

This won't fix #829 and nodejs/node#13581 because that was about EUI-64 MAC addresses and it almost certainly can't be the fix for nodejs/node#5629 because the file you changed is only used on the BSDs, not Linux.
That aside, the fix looks okay but but you should be able to avoid duplicating uv__ifaddr_exclude() with some more effort, e.g. by passing a flag that says whether or not to include AF_LINK addresses.

For https://github.com/nodejs/node/issues/13581, I think the wrong if returns the wrong result. Because Node.js 4.x is right which uses the right if.

The point stands though that bsd-ifaddrs.c is not used on Linux.

One more time: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/290/

sorry, I will update code later to fix linux.

@bnoordhuis I've updated the code.

@bnoordhuis But in bsd-ifaddr they are different.
#elif defined(__NetBSD__) || defined(__OpenBSD__)
  if (ent->ifa_addr->sa_family != PF_INET)
    return 1;
#endif

against
ent->ifa_addr->sa_family != AF_LINK

@bnoordhuis I've updated the code.

@bnoordhuis Updated.

/ping @bnoordhuis

I'll add some test cases then.

/ping @bnoordhuis

Tested and confirmed working.

Let's see how the CI fares: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/311/

Anyone has some better test solution?

Perhaps simplify the test to just this:
uv_interface_address_t zero;
memset(&zero, 0, sizeof(zero));
ASSERT(0 != memcmp(interfaces.phys_addr, zero.phys_addr, sizeof(zero.phys_addr)));

@bnoordhuis I don't think so. Because the original bug's phys_addr is not all zero.

Hello everyone,
I hope my question is not too lame...
Any news on getting this merged so that node would get the update?
Thanks for the hard work!
Cheers

/ping @bnoordhuis

Still blocked on the test, isn't it?  If my suggestion won't work, can you come up with something better?

@bnoordhuis To be honest, I've no better idea than spawning a ifconfig. But the problem is, not every OS has the same behavior of spawning that.

@XadillaX using ip address should work on Linux. I modified your test locally and executed that command instead of ifconfig and the tests passed on my Linux box.

@santigimeno All kinds of Linux distributions?
By another way, ip address won't work under OSX. And I'm not sure if it's working under BSD, etc.

AFAIK ip is repalcing ifconfig and the other network utils - such as route, etc. - in Linux.
So for example ip address enp3s0f1 show in my case gives
2: enp3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 70:4d:7b:3c:16:b0 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic enp3s0f1
       valid_lft 2774sec preferred_lft 2774sec
    inet6 fe80::4100:1991:751a:d1aa/64 scope link
       valid_lft forever preferred_lft forever

For now in Linux i've solved the issue shelling synchronously the command cat /sys/class/net/enp3s0f1/address, which returns exactly 70:4d:7b:3c:16:b0 without the need of parsing the output reported above.

@libuv/collaborators How about we land this without the test?  I don't think it's important enough to agonize endlessly over an unreliable test.

+1 with @bnoordhuis

How about we land this without the test? I don't think it's important enough to agonize endlessly over an unreliable test.

👍
WRT the test, apart from the issue that making it work for every platform may not be easy, I think there's a problem in that the args element in the uv_process_options_t hasn't been properly initialized. By doing something like this the tests pass on most Linuxes and FreeBSD:
diff --git a/test/test-platform-output.c b/test/test-platform-output.c
index 5b94212..770a831 100644
--- a/test/test-platform-output.c
+++ b/test/test-platform-output.c
@@ -70,6 +70,7 @@ TEST_IMPL(platform_output) {
   int i;
   int r;
   int err;
+  char* args[2];

   err = uv_get_process_title(buffer, sizeof(buffer));
   ASSERT(err == 0);
@@ -145,9 +146,11 @@ TEST_IMPL(platform_output) {
 #ifdef _WIN32
   options.file = "ipconfig";
 #else
-  options.file = "ifconfig";
+  options.file = "/sbin/ifconfig";
 #endif
-  options.args = 0;
+  args[0] = "/sbin/ifconfig";
+  args[1] = NULL;
+  options.args = args;
   options.flags = 0;
   options.exit_cb = exit_cb;
   r = uv_spawn(uv_default_loop(), &process, &options);

Why don't we create a tap device with a self-defined hardware address?
http://backreference.org/2010/03/26/tuntap-interface-tutorial/
https://github.com/LaKabane/libtuntap
That last source code should work cross-platform (although not tested yet).

How about we land this without the test? I don't think it's important enough to agonize endlessly over an unreliable test.

Agreed.

/ping @bnoordhuis I've removed the test.

/ping @bnoordhuis

A general question about this function. Why do we care if a network device is running or up? Shouldn't we just be able to discover all available network devices?
 if (!((ent->ifa_flags & IFF_UP) && (ent->ifa_flags & IFF_RUNNING)))

I would say that we just make these flags parameters of the interface struct so the user can decide how to deal with inactive and down network devices. Or is this a cross-platform thing?

CI: https://ci.nodejs.org/job/libuv-test-commit/345/

@XadillaX the tests all succeeded (the failing ones weren't due to these changes). Can you finish your PR so it can be merged like squashing and a good commit message.

@CurlyMoo I will rebase it after going back home, now i'm on a train.

/ping @CurlyMoo, /cc @bnoordhuis I've rebased the code.

https://ci.nodejs.org/job/libuv-test-commit/347/

Landed in f1e0fc4, thanks @XadillaX.

It seems like this should also go into master, not just v1.x? (I haven’t tested it, but I was just reading the master code and thinking “how on earth is this supposed to work?”)

No worries, we merge v1.x changes into master periodically, so this change will end up in master too.


PyLossless and Citizen Science

This issue is about the development of features allowing to deploy PyLossless for Citizen Science.
Features I envisioned to be necessary:

Easy way to serve the QC interface
User login (to track who created what annotations)
Sending and querying annotations from a server

For the login, I'll explore the solution in https://www.analyticsvidhya.com/blog/2021/05/create-login-page-in-dash-library/ and will create a "collaborative" option for the kind argument of the get_app function.

This was for functionalities to be used in the context of a grant that was not funded and resubmitted with objectives not requiring this feature anymore. Closing. It can be reopened if someone at some point needs such a feature.


Styling amendments from Holland

Ready for review.
A number of minor amendments based on feedback and comments from folks here at the wagtail.space sprint.

This is great, thanks Edd.


Add FPL percentage calculation to patient details page?

Users wanted to see the calculation result after adding household members and income sources.

:+1: I think this is a great idea

For now, the version I made just adds FPL to the page but does not implement a dynamic update of the FPL figure using javascript. I think we should look into some more general patterns for updating the page based on form input.

Agreed - your solution seems great for now, though!

reopening to think about this in terms of databinding

Going to close this and make a broader issue about dynamic updates to the patient details page.


Upgrades to ROE environment

Upgrades include:

Change Ingress to add an affinity rule & fix a few other params (externalTrafficPolicy, hostNetwork etc..)
Add Mounts for NFS shares
Enable Qserv in TAP
Change TAP_SCHEMA to use a custom image that includes additional databases

Could you rebase against current master? I'll then try to get this merged before we change anything else. Thank you for the update!

Could you rebase against current master? I'll then try to get this merged before we change anything else. Thank you for the update!

Sure, rebased now thanks!


Remove model-approval-status read-only  from generator.yaml

Description of changes:
Remove model-approval-status as a read-only field it is not a status field, it is a part of the spec, don't need it in both places
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/approve

/lgtm


Move deprecated/inactive 3rd party bridges to their own sections

Most of the bridges in the 3rd party section were deprecated or inactive for longer than 2 years. I moved these into their own section such that other people trying to set up bridges do not waste time clicking on all of these to see which ones worked

Thank you!


No Primary Key causes issue during InitialCreate

Type of issue
Code doesn't work
Description
The example does not talk or specify how to specify a primary key for your objects. If you run the migrations add InitialCreate, you'll get this error
Unable to create a 'DbContext' of type ''. The exception 'The entity type 'OrderDbEntry' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.' was thrown while attempting to create an instance. For the different patterns supported at design time, see https://go.microsoft.com/fwlink/?linkid=851728
Page URL
https://learn.microsoft.com/en-us/ef/core/get-started/overview/first-app?tabs=netcore-cli
Content source URL
https://github.com/dotnet/EntityFramework.Docs/blob/main/entity-framework/core/get-started/overview/first-app.md
Document Version Independent Id
b38b9d14-6bad-12e0-8d2d-24b50bc4977e
Article author
@Rick-Anderson

@NKCSS if you follow the sample, you get the BlogId and PostId implicitly as EF does this for your by convention. More information about when keys are discovered by convention and how to configure them explicitly can be found in the dedicated doc page on keys - I don't think that belongs in the very first "getting started" sample.

Yes, I found that out later @roji but, as you can see, as soon as you try to use the example to build a solution yourself, you'll run into this when you don't have a datamodel that follows this, so at least making note of that would have been helpful 😊These examples are meant to get people started, so information you might need to transfer this to a real-world solution is key.


Renamed identifiers beginning with underscore followed by uppercase letters

Some identifiers are in violation of the C++ standard. Renamed by lowercasing the
offending letters. Solves #61.
Affected identifiers:

_Iterable -> _iterable
_PutNamesInThisScopeAlso -> _putNamesInThisScopeAlso
_enumClassForSwitchStatements -> _enumClassForSwitchStatements

Thank you!


Helm installation unable to get certificate

/kind bug
What happened:
Trying to install using helm helm install --name cert-manager --namespace kube-system stable/cert-manager , I got
I0320 08:23:52.235021       1 controller.go:187] certificates controller: syncing item 'default/panel-ingress'
I0320 08:23:52.235130       1 sync.go:107] Error checking existing TLS certificate: secret "panel-ingress" not found
I0320 08:23:52.235215       1 sync.go:238] Preparing certificate with issuer
I0320 08:23:52.236881       1 prepare.go:239] Compare "" with "https://acme-staging.api.letsencrypt.org/acme/reg/5772479"
I0320 08:38:52.968946       1 sync.go:242] Error preparing issuer for certificate: error waiting for key to be available for domain "paneluk.xxxxxxxx.com": context deadline exceeded
E0320 08:38:52.976151       1 sync.go:190] [default/panel-ingress] Error getting certificate 'panel-ingress': secret "panel-ingress" not found
E0320 08:38:52.976246       1 controller.go:196] certificates controller: Re-queuing item "default/panel-ingress" due to error processing: error waiting for key to be available for domain "paneluk.xxxxxxxx.com": context deadline exceeded
I0320 08:38:52.976292       1 controller.go:187] certificates controller: syncing item 'default/panel-ingress'
I0320 08:38:52.976498       1 sync.go:107] Error checking existing TLS certificate: secret "panel-ingress" not found
I0320 08:38:52.976591       1 sync.go:238] Preparing certificate with issuer
I0320 08:38:52.977905       1 prepare.go:239] Compare "" with "https://acme-staging.api.letsencrypt.org/acme/reg/5772479"

Is this normal ?
And when trying to issue ingress certificate it got stuck on self check
  Type     Reason                 Age   From                     Message
  ----     ------                 ----  ----                     -------
  Warning  ErrorCheckCertificate  4m    cert-manager-controller  Error checking existing TLS certificate: secret "panel-ingress" not found
  Normal   PrepareCertificate     4m    cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge       4m    cert-manager-controller  Presenting http-01 challenge for domain paneluk.xxxxxxxxx.com
  Normal   SelfCheck              4m    cert-manager-controller  Performing self-check for domain paneluk.xxxxxxxxxx.com

Even though checking the ingress and pods it seems they are being created and i am able to access the chalenge from outside
http://paneluk.xxxxxxxxx.com/.well-known/acme-challenge/5ixxxxxxxxxxtq56dA9d9gW-i4O6tm_vXUISw4 is working
But still certificate is not issued .
How can i check the logs to see what is wrong ?
Environment:

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-09T21:51:54Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T20:55:30Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration**:
Installed using kubeadm on vmware

It turned out to be dns problem from my inside network

@shahbour How did you manage to fix the DNS problem? I'm running it on GCE.

@gentisaliu  In my case DNS was pointing to Real IP on firewall while the ingress have the private ip (natted) so I did fix this by configuring kube-dns to resolve to private IP from inside the network .
Not sure it is the same setup in GCE .


Setting Refactor/Redesign

Currently some settings panels point to the same controller action, which iterates all settings in the table and adds values as found.  This is a quick hack way of doing it, and left over from when all settings where set from the same page.  It also makes it impossible to remove settings (they can be changed but not nullified) once you have set them.  Ideally we need a separate controller action for each settings category.

#546


Sort Further Information by date published

The Further Information section containing the list of sources, corresponding to descriptions, should be by default sorted by date published IMO. Sorting by author name is also useful, so maybe the ideal way to handle it would be to let the user choose, sort by author, by date, A-Z or Z-A etc.

Would it be better to have a React Bootstrap table with column-based sorting, or to preserve the list look and have buttons to change the order?

Would it be better to have a React Bootstrap table with column-based sorting, or to preserve the list look and have buttons to change the order?

I think that we want to only show the citation so a table will not work. If we switch over to a table then we will have to break things out into columns (i.e., not show the citation). Currently there are already 2 click mechanics with that list:

Click on text of citation takes you to the source page
Click on the white space around the text and it selects the source and displays the related description

This is not the greatest set of interactions. The first is fine, but the second is hard to discover. Possibly as part of this overall effort we think about how to fox this.
Also #55 is related to this and can probably be fixed at the same time.

I think that we want to only show the citation so a table will not work. If we switch over to a table then we will have to break things out into columns (i.e., not show the citation). Currently there are already 2 click mechanics with that list:

Click on text of citation takes you to the source page
Click on the white space around the text and it selects the source and displays the related description

This is not the greatest set of interactions. The first is fine, but the second is hard to discover. Possibly as part of this overall effort we think about how to fox this.
Also #55 is related to this and can probably be fixed at the same time.

It took me a bit of getting used to to figure out those clicks for sure, although it's not that unintuitive. My initial assumption was that clicking the white space wouldn't do anything and the link would do what the white space does now. I wonder if it would make more sense to move the link to the source entry to the end of the citation, in one of those little link arrows maybe (big enough or off to the side so it's not annoying to click on it rather than the white space), to make it clearer that it will open a new window etc, and leave the actual text of the citation as not a link at all? And maybe add a > or something to the white space of the selected source, further emphasizing that it has been selected? Idk if these are good ideas, just spitballing.
I also think that making sure each gall has a default that loads when you open the page (as #55 would achieve) would help make it unambiguous that the "further info" section contains information that can be accessed from within that page.

It took me a bit of getting used to to figure out those clicks for sure, although it's not that unintuitive. My initial assumption was that clicking the white space wouldn't do anything and the link would do what the white space does now. I wonder if it would make more sense to move the link to the source entry to the end of the citation, in one of those little link arrows maybe (big enough or off to the side so it's not annoying to click on it rather than the white space), to make it clearer that it will open a new window etc, and leave the actual text of the citation as not a link at all? And maybe add a > or something to the white space of the selected source, further emphasizing that it has been selected? Idk if these are good ideas, just spitballing.
I also think that making sure each gall has a default that loads when you open the page (as #55 would achieve) would help make it unambiguous that the "further info" section contains information that can be accessed from within that page.


Chapter 1 q11 Matcher matches all text.

import spacy

# Import the Matcher
from spacy.matcher import Matcher

nlp = spacy.load("en_core_web_sm")
doc = nlp("New iPhone X release date leaked as Apple reveals pre-orders by mistake")

# Initialize the Matcher with the shared vocabulary
matcher = Matcher(nlp.vocab)

# Create a pattern matching two tokens: "iPhone" and "X"
pattern = [{"TEXT": "iPhone"}, {"TEXT": "X"}]

# Add the pattern to the matcher
matcher.add("IPHONE_X_PATTERN", None, pattern)

# Use the matcher on the doc
matches = matcher(doc)
print("Matches:", [doc[start:end].text for match_id, start, end in matches])

produces
Matches: ['New', 'iPhone', 'X', 'release', 'date', 'leaked', 'as', 'Apple', 'reveals', 'pre', '-', 'orders', 'by', 'mistake']
Spacy version 2.0.16

Looks like the spaCy version you're running locally is to old – try upgrading to v2.1.x+ 🙂
Also see #32

Hi! The course was built for spaCy v2.1.x, so you'll need the most recent version to make sure all of the examples run as expected.
The TEXT key on the patterns (instead of ORTH) was added in v2.1.0. It was actually directly inspired by this course, because I realised that explaining why it's called ORTH was unnecessarily complicated and you should just be able to specify TEXT for token.text instead. Similarly, when creating a Span object, the label argument can now also be a string instead of only an integer ID.
Also, to give you some background on what's happening in your case: Because spaCy v2.0.x doesn't know the TEXT key, it ignores it. So each dict in the pattern is interpreted as {}, i.e. "any token".

Thanks!


prepare_data.sh throws path errors

I followed the instructions and I have the following paths set up:
/data/LINEMOD_6D/LM6d_converted/LM6d_refine/models/ape, benchviseblue, ...
/data/LINEMOD_6D/LM6d_converted/LM6d_refine/image_set/observed/ape_all.txt, ...
/data/LINEMOD_6D/LM6d_converted/LM6d_refine/PoseCNN_LINEMOD_6D_results/ape, ...

/data/LM6d_origin/test/01,...
and when I run sh prepare_data.sh from the root folder, I get:
Traceback (most recent call last):
  File "toolkit/LM6d_devkit/LM6d_2a_adapt_images.py", line 183, in <module>
    main()
  File "toolkit/LM6d_devkit/LM6d_2a_adapt_images.py", line 98, in main
    '{:02d}'.format(class2idx(cls_name)), 'rgb')) if '.png' in fn]
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/LM6d_devkit/../../data/LINEMOD_6D/LM6d_origin/test/01/rgb'
target path: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/data/gt_observed
1 ape
self.window:  <GLFW.Window object at 0x7f76ca4aeeb8>
self.render_kernel at init:  <glumpy.gloo.program.Program object at 0x7f76ce5f8ba8>
  0%|                                                                                | 0/1236 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "toolkit/LM6d_0_gen_gt_observed.py", line 172, in <module>
    gen_gt_observed()
  File "toolkit/LM6d_0_gen_gt_observed.py", line 97, in gen_gt_observed
    meta_data = sio.loadmat(observed_meta_path)
  File "/home/username/.local/lib/python3.5/site-packages/scipy/io/matlab/mio.py", line 141, in loadmat
    MR, file_opened = mat_reader_factory(file_name, appendmat, **kwargs)
  File "/home/username/.local/lib/python3.5/site-packages/scipy/io/matlab/mio.py", line 64, in mat_reader_factory
    byte_stream, file_opened = _open_file(file_name, appendmat)
TypeError: 'NoneType' object is not iterable
target path: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/rendered_poses
angle_std=15.0, angle_max=45.0, x_std=0.01, y_std=0.01, z_std=0.05
1 ape
  0%|                                                                                | 0/1236 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "toolkit/LM6d_1_gen_rendered_pose.py", line 80, in <module>
    src_pose_m = np.loadtxt(pose_path, skiprows=1)
  File "/home/username/.local/lib/python3.5/site-packages/numpy/lib/npyio.py", line 917, in loadtxt
    fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
  File "/home/username/.local/lib/python3.5/site-packages/numpy/lib/_datasource.py", line 260, in open
    return ds.open(path, mode, encoding=encoding, newline=newline)
  File "/home/username/.local/lib/python3.5/site-packages/numpy/lib/_datasource.py", line 616, in open
    raise IOError("%s not found." % path)
OSError: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/data/gt_observed/ape/000001-pose.txt not found.
target path: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/data/rendered
target path: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/image_set
start  ape
self.window:  <GLFW.Window object at 0x7f0b9446dda0>
self.render_kernel at init:  <glumpy.gloo.program.Program object at 0x7f0bbbbfc4a8>
Traceback (most recent call last):
  File "toolkit/LM6d_2_gen_rendered.py", line 181, in <module>
    main()
  File "toolkit/LM6d_2_gen_rendered.py", line 86, in main
    with open(rendered_pose_path.format(set_type, class_name)) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/rendered_poses/LM6d_all_rendered_pose_ape.txt'
Traceback (most recent call last):
  File "toolkit/LM6d_3_gen_PoseCNN_pred_rendered.py", line 13, in <module>
    from lib.render_glumpy.render_py import Render_Py
  File "/home/username/workspace/mx-DeepIM/toolkit/../lib/render_glumpy/render_py.py", line 8, in <module>
    from glumpy import app, gl, gloo, glm, data, log
ImportError: No module named glumpy
####### Prepare LM6d_refine_syn ########
/home/username/workspace/mx-DeepIM
target path: /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine_syn/poses
  0%|                                                                                | 0/186 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "toolkit/LM6d_ds_0_gen_observed_poses.py", line 239, in <module>
    gen_poses()
  File "toolkit/LM6d_ds_0_gen_observed_poses.py", line 169, in gen_poses
    pose_dict, quat_stat, trans_stat, new_points = stat_poses()
  File "toolkit/LM6d_ds_0_gen_observed_poses.py", line 98, in stat_poses
    assert os.path.exists(pose_path), 'path {} not exists'.format(pose_path)
AssertionError: path /home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine/data/gt_observed/ape/000005-pose.txt not exists
Traceback (most recent call last):
  File "toolkit/LM6d_ds_1_gen_observed.py", line 173, in <module>
    gen_observed()
  File "toolkit/LM6d_ds_1_gen_observed.py", line 70, in gen_observed
    with open(syn_poses_path, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine_syn/poses/LM6d_ds_train_observed_pose_all.pkl'
Traceback (most recent call last):
  File "toolkit/LM6d_ds_2_gen_gt_observed.py", line 164, in <module>
    gen_gt_observed()
  File "toolkit/LM6d_ds_2_gen_gt_observed.py", line 68, in gen_gt_observed
    with open(syn_poses_path, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine_syn/poses/LM6d_ds_train_observed_pose_all.pkl'
15.0 45.0 0.01 0.01 0.05
Traceback (most recent call last):
  File "toolkit/LM6d_ds_3_gen_rendered_pose.py", line 80, in <module>
    with open(sel_set_file) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine_syn/image_set/observed/LM6d_data_syn_train_observed_ape.txt'
start  0 ape
self.window:  <GLFW.Window object at 0x7f755bbbff60>
self.render_kernel at init:  <glumpy.gloo.program.Program object at 0x7f758323e908>
Traceback (most recent call last):
  File "toolkit/LM6d_ds_4_gen_rendered.py", line 89, in <module>
    with open(observed_list_path.format(set_type, class_name)) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/username/workspace/mx-DeepIM/toolkit/../data/LINEMOD_6D/LM6d_converted/LM6d_refine_syn/image_set/observed/LM6d_data_syn_train_observed_ape.txt'

Any thoughts?

@eyildiz-ugoe It seems /data/LM6d_origin/test/01,... should be /data/LINEMOD_6D/LM6d_origin/test/01,...

Yes, it is a typo. Sorry about that.


add blurb about recorder to golang tutorial and sample

Fixes #6314
Not 100% confident in the testdata edit, we'll see if this works.

yeah its the molecule sanity tests that are failing :/

closing and reopening to pickup more CI fixes


Magic areas compatible with Alarmo?

Seems to me that there is quite a lot of potential symbiosis with Alarmo and MA or am I naiive?
I haven't installed Alarmo yet but it's very compelling, should the two work OK together?

That should work pretty well. You can use the area aggregates to trigger the alarm and use the area (global) to arm/disarm. Will take for a spin def.
I currently do that with the generic alarm and some automations but having an integration do that and trash several lines of yaml is always good. Thanks for the tip!
I need to add some of those cool examples to the Wiki


Add Codecov workflow

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@03c726a). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage        ?   43.79%
=======================================
  Files           ?        3
  Lines           ?      379
  Branches        ?        0
=======================================
  Hits            ?      166
  Misses          ?      204
  Partials        ?        9

Continue to review full report at Codecov.

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


planner: 20170425 -> 20180325

Motivation for this change
Closes #25771
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib/planner/file-modules/libmrp-xml.so
shrinking /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib/libplanner-1.so.0.0.0
gzipping man pages under /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/lib  /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325/bin
patching script interpreter paths in /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325
checking for references to /build in /nix/store/p04hb4krrdiyf07z0dy7pkxs6b85ic6d-planner-20180325...

Success on x86_64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/lib/planner/plugins/libxmlplanner-plugin.so
shrinking /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/lib/planner/file-modules/libmrp-xml.so
gzipping man pages under /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/lib  /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/bin
patching script interpreter paths in /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325
checking for references to /build in /nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325...
cannot link '/nix/store/.links/083jmrnv0i3fnqdar551i71hwypiwz4x6jgrnqhgzbwmdjhwp1yz' to '/nix/store/vlhy07li8xbx06gbxk8890j6r3v36lnc-planner-20180325/share/locale/nb/LC_MESSAGES/planner.mo': No space left on device

Success on x86_64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/lib/planner/file-modules/libmrp-xml.so
shrinking /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/lib/libplanner-1.so.0.0.0
shrinking /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/bin/planner
gzipping man pages under /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/lib  /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325/bin
patching script interpreter paths in /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325
checking for references to /build in /nix/store/fghfvchmgq8zl0qzyrvvip21sfaqfi5x-planner-unstable-20180325...

Success on aarch64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib/planner/file-modules/libmrp-xml.so
shrinking /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib/libplanner-1.so.0.0.0
gzipping man pages under /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/lib  /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325/bin
patching script interpreter paths in /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325
checking for references to /build in /nix/store/pld8n29bgn8wygmyck6mksdwh6vi22y0-planner-unstable-20180325...

Success on aarch64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib/planner/file-modules/libmrp-xml.so
shrinking /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib/libplanner-1.so.0.0.0
gzipping man pages under /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/lib  /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325/bin
patching script interpreter paths in /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325
checking for references to /build in /nix/store/7d7g2faag48i573fgdfsd4knly6ihraz-planner-unstable-20180325...

Success on x86_64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/lib/planner/plugins/libxmlplanner-plugin.so
shrinking /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/lib/planner/plugins/libmsp-plugin.so
shrinking /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/bin/planner
gzipping man pages under /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/lib  /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325/bin
patching script interpreter paths in /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325
checking for references to /build in /nix/store/fkfiml9w1r86wcb9mdzhrkyfzblb09wi-planner-unstable-20180325...

Success on aarch64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib/planner/file-modules/libmrp-xsl.so
shrinking /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib/planner/file-modules/libmrp-xml.so
shrinking /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib/libplanner-1.so.0.0.0
gzipping man pages under /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/lib  /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25/bin
patching script interpreter paths in /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25
checking for references to /build in /nix/store/y3pyl73kp49djcdrcs1x382lds4ssf5k-planner-unstable-2018-03-25...

Success on x86_64-linux (full log)
Attempted: planner
Partial log (click to expand)
shrinking /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/lib/planner/plugins/libxmlplanner-plugin.so
shrinking /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/lib/planner/plugins/libhtml-plugin.so
shrinking /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/lib/planner/plugins/libmsp-plugin.so
shrinking /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/lib/planner/storage-modules/libstorage-mrproject-1.so
shrinking /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/bin/planner
gzipping man pages under /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/lib  /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25/bin
patching script interpreter paths in /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25
checking for references to /build in /nix/store/xrasx22ljxfwgkmvhr5kfag7jfp3ja0q-planner-unstable-2018-03-25...


Switch to using cuda-toolkit over cudatoolkit

Description
This PR makes the following changes:

Updates dev_env.yml to install cuda-toolkit over cudatoolkit
We still have cudatoolkit=11.8 listed at the end. This is necessary to specify which version to use. Some packages still use cudatoolkit and without specifying the version, 11.7 gets installed.
Updated the conda build meta.yml to match dev_env.yml
Also made some updates to remove warnings and hidden errors
Updated the utilities repo to no longer require Cython unless its used
Allowed us to remove Cython as a dependency in MRC

Checklist

[X] I am familiar with the Contributing Guidelines.
[X] New or existing tests cover these changes.
[X] The documentation is up to date with these changes.

It looks like Morpheus is having issues when we just install cuda-toolkit, vs cudatookit, on some internal dgx machines, either because CMake isn't reliably finding all the installed headers/libraries, or because they're not being installed correctly.

I think its the opposite, we're getting build issues when we install cudatookit, which are resolved by installing cuda-toolkit

It looks like Morpheus is having issues when we just install cuda-toolkit, vs cudatookit, on some internal dgx machines, either because CMake isn't reliably finding all the installed headers/libraries, or because they're not being installed correctly.

I think its the opposite, we're getting build issues when we install cudatookit, which are resolved by installing cuda-toolkit

My bad, I had it backwards :). Thanks David.

Merging to test with Morpheus. May need updates

/merge