Clone Family.metrics and iterate over family

Problems

There is no way to copy/clone the HashMap<S,M> within family.

Use case: Storing metrics to compare against later

There is no way to iterate over a metric Family or get metrics without knowing the labels.

The only to get all metrics is to manually call get_or_create() for every metric. This isn't great if you don't know the label names (don't store them etc...).

I am happy to tackle these if you want. I think making M clone (not sure why it isn't atm) and returning a new hashmap with the cloned values would fix both these problems.

Can you expand on the use-cases that you want to solve with the above proposed changes?

Sure.
Iter
The primarily problem I have found when using this library is that without knowing all the label keys, it's not possible (please let me know if it is) to get any metrics.
Suppose I have an application that requires me to spawn n components to process some workload. At runtime each of these will be spawned and assigned a uuid. In order to monitor these I would like to attach a metrics counter to each (using uuid as the primary label field). I will create a Family<ComponentLabel, Counter> for this.
Now suppose I am now in some other part of the application and would like to iterate over every metric in that family.  The only way to do this at the moment (i believe) would be to store a vec of uuids that you inserted into the family and manually iterate over each and get_or_create().
The family "hashmap" is already storing all the data we need to iterate over it, but doesn't expose any functionality to interact with it (outside of get or create). Requiring a separate data structure to store insertions for later should be unnecessary .
Clone
Using the above example, suppose I want to compare metrics of each component over time. To do this, I would like to take a snapshot of the metric family at time t  and then some time later in the processing take another snapshot and then compare the two. This may be used for example to see if the processing is lagging (counters are not increasing).
This is not possible at the moment as M is not clone and the underlying family hashmap isn't exposed.
Suggestion
To solve both these problems I suggest making M clone (in Family<S,M>) and exposing the read method of family.metrics. E.g. in metrics/family.rs:
pub fn read(&self) -> RwLockReadGuard<HashMap<S, M>> {
self.metrics.read()
}

This would solve both these problems and allow a user to do something like:

family .read().iter() .map(|(label, counter)| { do_something() })

Even better, also providing a `snapshot()` method on the registry,family or metrics would be quite neat.

I am also looking for these features.
My use case is to expose some metrics and labels, via a proprietary endpoint in addition to the standard /metrics endpoint. Currently I have to store the inserted labels in a HashSet which seems unnecesary.

I would also be interested in this, @mxinden.
My use-case loosely mirrors what @gamgi said above. Additionally, I'm interested in writing test cases that make assertions on what time series do or do not exist within a Family<S, M, C>.
The ability to iterate over a family of metrics would allow me not only to check that my expected time series exist and are set to the proper values, but also to check that other unexpected time series will not be emitted by my application.
Would a PR adding an IntoIterator implementation to Family be welcome?
I'll cross-reference my comment in #231, which concerns how singular metrics are fetched from a family. Ideally, any iterator implementation would not be subject to the same deadlock concerns, and could emit Item = M items.


False positive for JndiLookup.class in IntelliJ IDEA's spring plugin

com.intellij.spring.model.xml.jee.JndiLookup is identified as a vulnerability. This class has nothing in common with org.apache.logging.log4j.core.lookup.JndiLookup. See IntelliJ issue.

This should be addressed.


Fix DNS challenge on private PSL subdomains

Fixes #434
@tcottier-enalean @LeSuisse Can you see if this patch works for your use-cases also?

I see that this approach doesn't fix the test added in #436 for example.co.au.

Closing this in favor of #436


Services on Logger unreachable (Splunk, Fleet, Velociraptor, and Guacamole)

After doing a new clone of Detection Lab and installation, I could not reach any of the services that reside on Logger.

Hi there, not sure which VM hypervisor you are using, can you fill out the information that has the ???
Operating System Version: Windows
Deploying via (VirtualBox/VMWare/AWS/Azure/ESXi): < ??? >
Vagrant Version (if applicable): < ??? >
Also, does the following vagrant command work for you? Looks like from an initial glance that the logger VM might not have been set up properly (for whatever reason).
vagrant reload logger --provision

I've deployed on VMware and I'm running Vagrant 2.2.19.
And it does look like that vagrant command mostly worked. I'm able to access all services but Guacamole.


JS-SFTP to Object Store Migration: UCBoulder/Bookstore-FASTAPI-Integrations

This repo does not consume files or objects from the related sources directly and work should be tracked in other repos/issues.


Linux compile script errors

g++ -funsigned-char src/*.cpp -O2  -DDISCARDDATABASE=1 -o LinuxChatScript -lpthread -lrt 2>>err.txt
Should be:
g++ -funsigned-char SRC/*.cpp -O2  -DDISCARDDATABASE=1 -o LinuxChatScript -lpthread -lrt -lcurl 2>>err.txt
Summary:

Add -lcurl
Change case of SRC directory name.

agreed. I have fixed this.
Most people follow directions of standing in the SRC directory and typing
make server. Which does this correctly.
On Thu, Feb 18, 2016 at 8:24 PM, nodgesoft<EMAIL_ADDRESS>wrote:

g++ -funsigned-char src/*.cpp -O2 -DDISCARDDATABASE=1 -o LinuxChatScript
-lpthread -lrt 2>>err.txt
Should be:
g++ -funsigned-char SRC/*.cpp -O2 -DDISCARDDATABASE=1 -o LinuxChatScript
-lpthread -lrt -lcurl 2>>err.txt
Summary:

Add -lcurl
Change case of SRC directory name.

—
Reply to this email directly or view it on GitHub
https://github.com/bwilcox-1234/ChatScript/issues/2.

--
CEO of Brillig Understanding Inc.  (Natural Language applications)
brilligunderstanding.com
805-547-1109

Perhaps just change compile bash script to "cd ../SRC/; make server "
Just a thought.

fine thought. done.
On Thu, Feb 18, 2016 at 8:32 PM, nodgesoft<EMAIL_ADDRESS>wrote:

Perhaps just change compile bash script to "cd ../SRC/; make server "
Just a thought.
—
Reply to this email directly or view it on GitHub
https://github.com/bwilcox-1234/ChatScript/issues/2#issuecomment-186045732
.

--
CEO of Brillig Understanding Inc.  (Natural Language applications)
brilligunderstanding.com
805-547-1109


Status Of Project

Hi,
I have used this library in the past for testing purposes. I would like to now build an operator that's ready for production but I am wondering how stable this project is and how many more breaking changes there will be until there is a stable release. If not I will have to use one of the go options but I prefer to use rust if possible.

There will almost certainly be some more breaking changes. It's hard to estimate. We hope that we're starting to stabilise, but the last release was pretty major. Expecting a certain amount of fallout.

That said, changes will be documented in CHANGELOG, and you can pin your versions as appropriate.

The API isn't stable yet (we're not 1.0!), but the basic ideas are mostly in place, especially for the API client (kube, as opposed to kube_runtime).
As @clux mentioned, 0.36.0 was a pretty big and breaking release. That said, I just upgraded an internal project from 0.28.1 to 0.37.0 yesterday in an hour or so. Pretty much all of the changes were either sedable renames (such as APIClient -> Client) or deleting a bunch of code (dropping our custom internal controller runtime in favour of kube_runtime).

That said, it's a good discussion to raise. API breakage is one thing, but #286 shows that it might be worth starting to let releases bake for a bit longer.

ok thanks I think I will use this anyway as I'm a big fan of rust and this library and just not upgrade as frequently as I generally do.

Awesome. I'll close this for now. We'll revisit stability guarantees and actually define what this entails once 1.0.0 is right on the horizon.


ENYO-3446: Set margin-right as 9px if locale is right to left

There was a missing code that adding overrides for .enyo-locale-right-to-left
case. If we don't have that overriding prop, gap between buttons is 0.
We don't need to set margin-left as 0 in case of first-child since it's
already 0.
Enyo-DCO-1.1-Signed-off-by: Yeram Choi<EMAIL_ADDRESS>

I see that the right most button also having gap on right side in rtl case. Is it okay?

We are focusing on button case for this time. And need to review other usecases and improve next time.

Lgtm!


[KAFKA-8465]replication  strategy for the topic dimension

When some partiton's replication is assigned to a broker, which disks should these copies be placed on the broker? The original strategy is to allocate according to the number of partiitons, but this will cause a partiton with too many topics to be stored on a disk, which may cause disk hotspot problems.
In order to solve this problem, we propose an improved strategy: first ensure that the number of partitions of each disk in the topic dimension is even. If the number of partitions of a topic on two disks is equal, then sort according to the total number of partitions on the disk. Select a disk with the least number of partitions to store the current replication.

@stanislavkozlovski @ijuma @hachikuji @mjsax

@stanislavkozlovski @ijuma @hachikuji @mjsax

For the copy storage strategy of the partition of each disk in the broker, I made some improvements, so that the disk copy of the topic dimension is uniform, thus avoiding the io hot issue, I hope to get your attention.

@stanislavkozlovski @ijuma @hachikuji @mjsax

For the copy storage strategy of the partition of each disk in the broker, I made some improvements, so that the disk copy of the topic dimension is uniform, thus avoiding the io hot issue, I hope to get your attention.

jira url :  https://issues.apache.org/jira/browse/KAFKA-8465

Hey @lordcheng10, I'm sorry for missing this PR initially.
I think your proposal makes sense. Are you still interested in contributing the improvement?

Hey @lordcheng10, I'm sorry for missing this PR initially.
I think your proposal makes sense. Are you still interested in contributing the improvement?
@stanislavkozlovski  I am resubmitting this patch and I look forward to your attention.
KAFKA-8465:make sure that the copy of the same topic is evenly distributed across a broker's disk. #7133

Hey @lordcheng10, I'm sorry for missing this PR initially.
I think your proposal makes sense. Are you still interested in contributing the improvement?

I resubmitted the patch because of a conflict with the latest trunk branch. New address:
Https://github.com/apache/kafka/pull/7133
https://issues.apache.org/jira/browse/KAFKA-8465

I resubmitted the patch because of a conflict with the latest trunk branch. New address:
Https://github.com/apache/kafka/pull/7133
https://issues.apache.org/jira/browse/KAFKA-8465
@stanislavkozlovski @ijuma @hachikuji @mjsax


SSL: CERTIFICATE_VERIFY_FAILED

When i run vmware_exporter -c config.yml
I see error
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)

What I need to setup? Maybe i must install certificate of vcenter in prometheus server?
Unhandled error in Deferred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 501, in errback
    self._startRunCallbacks(fail)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 568, in _startRunCallbacks
    self._runCallbacks()
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 1475, in gotResult
    _inlineCallbacks(r, g, status)
--- <exception caught here> ---
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 1416, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/failure.py", line 512, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.5/dist-packages/vmware_exporter-0.7.3-py3.5.egg/vmware_exporter/vmware_exporter.py", line 390, in datastore_labels
    dcs = yield self.datacenter_inventory
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 1416, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/failure.py", line 512, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.5/dist-packages/vmware_exporter-0.7.3-py3.5.egg/vmware_exporter/vmware_exporter.py", line 361, in datacenter_inventory
    content = yield self.content
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 1416, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/failure.py", line 512, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.5/dist-packages/vmware_exporter-0.7.3-py3.5.egg/vmware_exporter/vmware_exporter.py", line 252, in content
    connection = yield self.connection
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/internet/defer.py", line 1416, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/failure.py", line 512, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.5/dist-packages/vmware_exporter-0.7.3-py3.5.egg/vmware_exporter/vmware_exporter.py", line 240, in connection
    sslContext=context,
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/threadpool.py", line 250, in inContext
    result = inContext.theWork()
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/threadpool.py", line 266, in <lambda>
    inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/context.py", line 122, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/Twisted-19.2.0rc1-py3.5-linux-x86_64.egg/twisted/python/context.py", line 85, in callWithContext
    return func(*args,**kw)
  File "/usr/local/lib/python3.5/dist-packages/pyvmomi-<IP_ADDRESS>8.12-py3.5.egg/pyVim/connect.py", line 836, in SmartConnect

  File "/usr/local/lib/python3.5/dist-packages/pyvmomi-<IP_ADDRESS>8.12-py3.5.egg/pyVim/connect.py", line 718, in __FindSupportedVersion

  File "/usr/local/lib/python3.5/dist-packages/pyvmomi-<IP_ADDRESS>8.12-py3.5.egg/pyVim/connect.py", line 638, in __GetServiceVersionDescription

  File "/usr/local/lib/python3.5/dist-packages/pyvmomi-<IP_ADDRESS>8.12-py3.5.egg/pyVim/connect.py", line 604, in __GetElementTree

  File "/usr/lib/python3.5/http/client.py", line 1107, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
  File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
  File "/usr/lib/python3.5/http/client.py", line 1261, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python3.5/ssl.py", line 385, in wrap_socket
    _context=self)
  File "/usr/lib/python3.5/ssl.py", line 760, in __init__
    self.do_handshake()
  File "/usr/lib/python3.5/ssl.py", line 996, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/lib/python3.5/ssl.py", line 641, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)

You probably have self-signed certificate on your vCenter, so your config must include ignore_ssl: False

Thanks. It works.


Render/Load/Mount a specific component on App's main container on menu clicks

I'm trying to render/load/mount (whatever to be called) different components on a menu button click. The lemonade.render appends the component inside the container.

What is your recommendation to replace instead of append?

Thanks in advance.
Code:

I was expecting the lemonade.render(Component, Element) to replace/mount on Element.

I believe in this case you can create a DOM element, appendChild to the menu, them call the render with the new component you have created as root. You will end up with something like that


Add owning_ref support

The lock_api has a feature that allows support for the owning_ref crate. This pull request simply adds a feature gate to this crate that enables the owning_ref feature in the lock_api crate.

Thank you!

Published as v0.2.2


400: Code was already redeemed.

We receive this error sporadically and have to wait ~ 5-10 minutes before we can authenticate:
error redeeming code got 400 from "https://www.googleapis.com/oauth2/v3/token" {  "error": "invalid_grant",  "error_description": "Code was already redeemed." }
During the window in which errors are thrown each request we try to log in again with has a new "code".
I was curious how that code was generated and if the codes are being accidentally reused somehow.
Thanks.
Secured with OAuth2 Proxy version 2.1

Another thing to not is that we use ~20 instances of the proxy so I was not sure if that somehow interfered because they all use the same client id.


feat: Data import/migration feature

To "smooth" the migration between V1 applications (Android & iOS) to V2 (Smoothie), we want to migrate previous user-related data.
General overview
On Android, the migration will import:
✅ Credentials (user/password)
✅ History
✅ User lists
On iOS, the migration will import:
✅ Credentials (user/password)
✅ History
🛑 User lists (not implemented in this app)
How data is stored on V1?
On Android:

Lists (including history) are stored in an SQLite database
Credentials are stored in Shared Preferences (but not the default file)

On iOS:

Lists are stored in a Realm database
Credentials are stored in two places:

Username/login in UserDefault
Password in Keychain (with a custom library)

Implementation
To achieve this migration, the code is divided into two packages, to ease the removal of the feature in a few months:

data_migration: the code required for each platform
data_migration_shared: some methods/models… required by both Smoothie & data_migration

On Smoothie, the previous code developed by @monsieurtanuki ProductListImportExport is tweaked to support:

history
access without a JSON
split requests to the server by batches of x products (there is a constant)

On Android:

The sqflite library has been edited to only include Android files
No library offers access to non-default SharedPreferences -> developed in Kotlin

On iOS:

The realm library has been included (I've tried a custom one, but their implementation is really weird)
No library offers access to Keychain -> developed in Swift

How does it work?
Every time Smoothie is started, we check if migration can be done, and in that case, is launched automatically
In case of an error, a retry process will be used on the next launch
There is a limit on how many history products are imported (with a constant)
The current status of the migration is available in the DEV mode
Some strange things
Realm (the database used on iOS) requires the dependency to be non-transitive, that's why it's in Smoothie pubspec.yaml
will fix #1234 #1233 #1682

Run ci/testing.sh
Updating PATH.
Running tests.
Test directory "test" not found.
Error: Process completed with exit code 1.

I have seen this issue and this is because the sub-packages doesn't contain tests.
I don't know what I should do: provide an empty folder?

looks like a reasonable solution

Codecov Report

Merging #1844 (078adeb) into develop (2ea0da3) will decrease coverage by 1.86%.
The diff coverage is 8.01%.

@@            Coverage Diff             @@
##           develop   #1844      +/-   ##
==========================================
- Coverage     8.86%   6.99%   -1.87%
==========================================
  Files          161     175      +14
  Lines         6623    7989    +1366
==========================================
- Hits           587     559      -28
- Misses        6036    7430    +1394

Impacted Files
Coverage Δ

...h_app/lib/cards/category_cards/abstract_cache.dart
0.00% <0.00%> (ø)

...p/lib/cards/category_cards/asset_cache_helper.dart
0.00% <0.00%> (ø)

...p/lib/cards/category_cards/raster_async_asset.dart
0.00% <0.00%> (ø)

...oth_app/lib/cards/category_cards/raster_cache.dart
0.00% <0.00%> (ø)

..._app/lib/cards/category_cards/svg_async_asset.dart
0.00% <0.00%> (ø)

...smooth_app/lib/cards/category_cards/svg_cache.dart
0.00% <0.00%> (ø)

...th_app/lib/cards/data_cards/image_upload_card.dart
0.00% <0.00%> (ø)

...es/smooth_app/lib/cards/data_cards/score_card.dart
4.54% <0.00%> (-0.22%)
:arrow_down:

...t_cards/knowledge_panels/knowledge_panel_card.dart
0.00% <0.00%> (ø)

...knowledge_panels/knowledge_panel_element_card.dart
0.00% <0.00%> (ø)

... and 121 more

Continue to review full report at Codecov.

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

I did approve and as long as we keep it among developers, that's OK (my main concern being with the "dev mode" being displayed to everybody).

@g123k 2 small merge conflicts in the pubspec.lock

Yes, I will move the preference elsewhere in a new PR.


USB cameras no longer work

USB cameras will show a live feed but the demo will return the following error message when taking a photo
IndexError: No (working) camera at <video0>.

Could not load meta information
=== stderr ===

ffmpeg version 4.2.2-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
/dev/video0: Device or resource busy

A redesign for camera devices may be required to fix this issue

The original issue was caused by the camera only allowing one device to use it at a time. As the video stream had access, taking a photo would be blocked by the video stream. The fix for this is an update to the documentation to add a virtual camera to the computer running the demo. These steps are as follows:

Install FFMPEG
Install https://github.com/umlaeute/v4l2loopback and create a virtual webcam
run the command ffmpeg -i "/dev/video4"  -map 0:v -f v4l2 "/dev/video6" where video4 is the physical webcam and video6 is the virtual webcam


[ART-2807] Ask build type when ocp4 is manually triggered

I think this approach has become obsolete with the concept of assemblies: https://issues.redhat.com/projects/ART/issues/ART-2924. Can we close this, @thiagoalessio?

yeah, obsolete @joepvd ! closing it now


Sponge API 8

Does support Sponge API 8 ?
https://files.minecraftforge.net/maven/org/spongepowered/spongeforge/index_1.12.2.html
8.0.0-BETA-2954

I tried to compile it with Sponge 8 and ran quick test. Everything seems to work fine, but maybe you want to make a custom test server with your specific configuration to make sure.

Thanks you.
On Sun, 11 Mar 2018, 12:24 games647<EMAIL_ADDRESS>wrote:

Closed #110 https://github.com/games647/FlexibleLogin/issues/110.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/games647/FlexibleLogin/issues/110#event-1514984552,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIL4lcXCsBppApFPZkGdJAEJbpdPrgYPks5tdPtAgaJpZM4Sle3Z
.


NO bounding boxes

Hey
I tired to fit your code to my image  attached is one such.Followed below steps

I used only two classes so gave labels Date,NoDate instead of objects name.

I used BoundingDraw tool available in gitbub using
https://github.com/puzzledqs/BBox-Label-Tool

Then I loaded the images sample output of image list and label list was as follows
[{'object': [{'name': 'NoDate', 'xmin': 0, 'xmax': 0, 'ymin': 0, 'ymax': 0}], 'filename': 'C:\work\machine learning\project\images1\receipt1.jpeg', 'width': 380, 'height': 380}, {'object': [{'name': 'Date', 'xmin': 1, 'xmax': 187, 'ymin': 214, 'ymax': 234}], 'filename': 'C:\work\machine learning\project\images1\receipt2.jpeg', 'width': 380, 'height': 380}]
Seen labels:	 {'NoDate': 12, 'Date': 16}

I trained it using Inception 3 .Below are the results of last epoch and last step

Loss XY         [0]
Loss WH         [0]
Loss Conf       [0.0213039108]
Loss Class      [0]
Total Loss      [0.0213039108]
Current Recall  [0]
Average Recall  [0]

then I finally tried to predict using below code
LABELS=['Date','NoDate']
image = cv2.imread('images1/receipt4.jpeg')
print(yolo.predict(image))
img=draw_boxes(image, yolo.predict(image), labels=LABELS)
plt.imshow(img[:,:,::-1])
plt.show()

In the images I did not get any bounding box
where m i missing...

What do you want to detect here? The location of the date?

yes i want BB to be drawn around the date
I m not sure if i put the labels in the cfg correctly or not . I put it based on the distinct classes i have got which is just a binary here

I think you don't need nodate bboxes.

also importantly the how should be anotation xml  in case of no date in image.
If i dont put the tag bndbox then i end up with key error exception in aug_image method of class YOLO.

NoDate
Frontal
0
0
0

0
0
0
0

You should take a look at my raccoon dataset. Just draw bounding boxes for raccoons using https://github.com/tzutalin/labelImg.

Thanks...this seem to work better than before but now i get so many BBs... Please see attached

And loss function dint come down much using inception network
Epoch 00002: val_loss improved from 10.24145 to 10.22068, saving model to yoloimprovement-01-1.00.hdf5
Epoch 3/4

1606s - loss: 10.2370 - val_loss: 10.2148

Where should the problem...
This is my first problem... trying to build more concepts...

Could you send me a few examples of images and annotations?

In previous commens you can see the dates in picture
below is anotations.xml in pascal voc format ,i think that is what your code understands...

images1
receipt2.jpeg
C:\work\machine learning\project\images1\receipt2.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

1
187
168
229

images1
receipt3.jpeg
C:\work\machine learning\project\images1\receipt3.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

213
122
380
162

images1
receipt4.jpeg
C:\work\machine learning\project\images1\receipt4.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

5
260
137
311

images1
receipt5.jpeg
C:\work\machine learning\project\images1\receipt5.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

247
173
380
209

images1
receipt6 (1).jpeg
C:\work\machine learning\project\images1\receipt6 (1).jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

82
148
256
209

images1
receipt6.jpeg
C:\work\machine learning\project\images1\receipt6.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

80
154
254
209

images1
receipt7.jpeg
C:\work\machine learning\project\images1\receipt7.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

175
158
380
196

images1
receipt8.jpeg
C:\work\machine learning\project\images1\receipt8.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

118
284
280
354

images1
receipt9.jpeg
C:\work\machine learning\project\images1\receipt9.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

1
236
133
268

images1
receipt10.jpeg
C:\work\machine learning\project\images1\receipt10.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

77
144
364
209

images1
receipt11.jpeg
C:\work\machine learning\project\images1\receipt11.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

12
81
110
111

images1
receipt12.jpeg
C:\work\machine learning\project\images1\receipt12.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

109
247
245
285

images1
receipt13.jpeg
C:\work\machine learning\project\images1\receipt13.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

266
193
380
225

images1
receipt14.jpeg
C:\work\machine learning\project\images1\receipt14.jpeg

Unknown

380
380
3

0

Date
Unspecified
1
0

298
316
380
346

images1
receipt15.jpeg
C:\work\machine learning\project\images1\receipt15.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

120
55
292
98

images1
receipt16.jpeg
C:\work\machine learning\project\images1\receipt16.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

64
329
188
375

images1
receipt17.jpeg
C:\work\machine learning\project\images1\receipt17.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

130
12
358
50

images1
receipt18.jpeg
C:\work\machine learning\project\images1\receipt18.jpeg

Unknown

380
380
3

0

Date
Unspecified
0
0

112
209
338
255

any modification needed in custom loss which may have been designed wrt to 8-9 classes...
Please suggest the suitable places where i need to make changes as per 1 class

@jaideep11061982 Hello. I got a similar issue here. I trained for one class but the all bounding box conf are lower than 0.1. Do you get some solutions?

I used different annotations tool with that I could solve problem of no
bounding boxes but new problem arose I got now many boxes ,I requested
expriencer for a solution .
I feel some.changes needed in loss procedure as it is for more than one
classes and I have got only one class
On Tuesday, May 22, 2018, Star<EMAIL_ADDRESS>wrote:

@jaideep11061982 https://github.com/jaideep11061982 Hello. I got a
similar issue here. I trained for one class but the all bounding box conf
are lower than 0.1. Do you get some solutions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/experiencor/keras-yolo2/issues/260#issuecomment-390744008,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AkZW5HA9FAOR6wsF5vvvoo9MmFoosaQQks5t0wm0gaJpZM4Te2yt
.


[5.3] Revise #file changes from SE-0274

Cherry-picks #32700 to release/5.3.

This PR implements the changes discussed in the follow-up thread to SE-0274 (now SE-0285). Specifically, it:

Fixes several tests which previously violated the same-filename rule, but got away with it because they were directly calling the frontend. Also tightens up a test previously introduced by #31734 so that it merely ensures filenames don't end up in SIL debug info, rather than in the SIL file at all.

Refactors a lot of magic identifier literal implementation to be driven by a new MagicIdentifierKinds.def file. MagicIdentifierLiteralExpr::Kind and some cases of DefaultArgumentKind are now driven by this table, as is much logic that simply propagates these kinds without changing them; it also specifies tokens related to magic identifier literals, so parsing and code completion now work from this file too. (It also fixes a bug in #filePath's code completion support, which was previously disabled and untested.)

Adds a new #fileID literal which always generates the concise file ID string.

Splits MagicIdentifierLiteralExpr::Kind::File (and similar cases elsewhere) into FilePathSpelledAsFile and FileIDSpelledAsFile. When -enable-experimental-concise-pound-file is false, the parser generates the former, producing current Swift 5 behavior; when it is true, the parser generates the latter, producing future "Swift 6" behavior. The rest of the compiler (including module interface emission, by preserving the compiler flag) propagates this difference so that Swift 5 declarations can be used from Swift 6 code and vice-versa without confusion. This design causes more code changes, but is less risky than alternatives.

Introduces a concept of "compatibility" to the diag::default_magic_identifier_mismatch diagnostic. If two magic identifiers are compatible, the diagnostic is suppressed. Compatibility is commutative. Every magic identifier is compatible with itself; Swift 6 #file is compatible with #fileID, while Swift 5 #file is compatible with #fileID, #filePath, and Swift 6 #file.

Makes both compiler-generated traps and standard library diagnostics use file IDs instead of file paths. In the standard library, this is temporarily being done by building with -enable-experimental-concise-pound-file, which is supported by compilers since #25656 in late December, rather than by actually writing #fileID, which is introduced in this change. This is merely to give updated tools time to spread; I intend to remove the flag and write #fileID in the future.

Fixes rdar://65114002 and SR-12936.

With apple/swift-syntax#227
@swift-ci please test

With apple/swift-syntax#227
@swift-ci please test


Detecting interpreter in tox on WSL fails

I use an interpreter in a tox environment under Ubuntu installed in the Windows Subsystem for Linux (WSL) and it does not recognized by the mypy plugin:
Mypy Plugin
			No Python interpreter configured for the project.
			Configure Python interpreter

It looks like you are using a different (unofficial) mypy plugin. Mypy team is not responsible for any damage caused by that plugin.

Ah, thanks. I did not notice the differing author. #7 would have helped here.


renovatebot(deps): update dependency com.twilio.sdk:twilio to v7.38.0

This PR contains the following updates:

Package
Update
Change
References

com.twilio.sdk:twilio
minor
7.37.4 -> 7.38.0
homepage, source

Release Notes

twilio/twilio-java
v7.38.0
Compare Source
Api

Make method optional for queue members update

Chat

Removed webhook.*.format update parameters in Service resource from public library visibility in v1 (breaking change)

Insights

Added client metrics as sdk_edge to summary.
Added optional query param processing_state.

Numbers

Add addtional metadata fields on a Document
Add status callback fields and parameters

Taskrouter

Added channel_optimized_routing attribute to task-channel endpoint

Video

[Rooms] Add Video Subscription API

Wireless

Added imei to Data Session resource.
Remove imeisv from Data Session resource. (breaking change)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.null seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


(wixtoolset) Changed to AU package + Modernized

Implemented AU for this package so we don't need to manually updated it each time.
Embedded the software installer (not entirely sure if we also need to embedd the source, or if it's enough to just provide the link to the source repo)
Updated the uninstall script so we don't need to change the registry key used for each update (tested with both 3.11 and 3.10)
Updated the metadata (removed releaseNotes since I can't find the release notes anywhere anymore)

NOTE: Description should be updated by someone more familiar with WiX than me
@gep13 mind having a look since you're the original maintainer of this package.

appveyor build is failing because I've forgotten to take into account installing pre-releases. Need to look into that.

damn, had to look hard for the typos you noticed. I couldn't see them at first.

@gep13 I fixed the typos, I also updated the description in the Readme.md file (and added a comment in the nuspec file to not edit the description there)

@gep13 btw, what's the best way to update an existing pre-release package. How would we add the fix notation to that? just append -20170421 and the end?

@AdmiringWorm hmm, not sure on that.  I "think" that might cause problems.

@gep13 oh well, I'll merge it anyhow and see if I can't figure something out later.


Added a new Book in hindi for C and Created file for the books to be added in Urdu

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

#10268

@eshellman  kindly merge this

we don't add empty list files


Added hyper_v_generation metadata to the instance used by CIV.

This will allow us to define which HyperV generation to use when creating the image on the fly.
Related PRs:

https://github.com/osbuild/cloud-image-val/pull/282
https://github.com/osbuild/osbuild-composer/pull/3679

This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

azure is happy, let's merge.


run removeRows, have a little time-delay

about 2s' time

PlutoGrid has performance issues with many rows.
It is an issue that needs to be improved.

@jinyuanqing
Improved speed of removeRows in PlutoGrid 3.1.1.


DOC: Fix documentation issue

The inequality in the docstring should be reversed, fixes #11428 .

Reference issue

What does this implement/fix?

Additional information

Thanks @Stefan-Endres! If you'd like your name added to THANKS.txt, please make an entry here.


Feature/vocab fasttrack

This is a rather large PR, but my main question to reviewers is about the use of categories tags. If you look into _posts/implement, i added some subcategories to Implement, namely Implement/First app and Implement/Vocabularies, because I think it makes navigation easier than having all the tutorials in the same category. However, now the tutorials are ordered correctly in their individual category, but I don't know exactly how to order categories. @jairo-campos-JD, do you know how it is done ? Or do you think having a single Implement category with all tutorials is more convenient ?

I can't help you with the Categories issue, so not sure how extensive of a review you want from my side here :) One thing that I'd like to avoid, however, is to have any "TODO's" remaining on the website, or at least on pages that are reachable through clicking links (rather than manually entering the URL). So my primary question is: are the pages with a TODO reachable through clicking links? :)

Not anymore :D


Add support for XDF (labstreaminglayer format)

I think this should be added. I am happy to do this. There is already a python loader for the xdf format so it is just a matter of making output structure compliant with mne.

Ok. I'll put this on my todo list and submit a PR when it is done.
On 5/2/2018 12:22 PM, Alexandre Gramfort wrote:

would be great
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5180#issuecomment-385932177,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADch7pyowDrCPFbYd9Yc4VZzA5YiYQ-Sks5tuYjNgaJpZM4TvMeo.

That's a good idea. In the repo for the python XDF loader, there is an ongoing discussion to make a "pyxdf" package, however the discussion is stagnating a bit. Mainly because there is a lack of tests for the robustness/reliability of the loader. See here for the discussion.
Integrating the xdf loader into MNE would not circumvent the issue of (so far) lacking tests, but maybe the stagnation is over now :-)

@sappelhoff I think MNE would be a great place for the XDF loader!

I thought that we discussed this somewhere, but a low-order spline interp (or even linear!) would probably be sufficient. So I don't see this as too big a hurdle.

Yes, it shouldn't be too difficult, just wanted to bring this up in case this was not obvious. Can you confirm that all signals must have the same sampling frequency? If so, how do we choose which sampling rate to resample to? Most XDF files have nominal sampling rates for each stream, so we could resample to the highest.

Can you confirm that all signals must have the same sampling frequency?

Yes

If so, how do we choose which sampling rate to resample to?

Resampling to the highest data channel rate (by default, we could make different options with resample='auto' kwarg) makes sense to me. In practice I imagine these will all usually match anyway.

There are some developments with the python reader for XDF files. Soon, there might be a pip installable package, see: https://github.com/sccn/xdf/pull/21
That would make this issue easier to solve.

this is a great idea, and we would be happy to support this initiative!

@dmedine @trmullen do you have time to work on this?

@cbrnr check out the discussion in the XDF issue linked above, specifically there is probably the need for some MNE decision on this statement from @dmedine:

I said a long time ago that I would shove xdf into MNE. The issue there (if I understand correctly) is that if there are multiple streams, they all have to have the same sampling rate, first time-stamp, etc. This makes it labor intensive enough for me to avoid doing it. However, if MNE is like EEGLab and it is content to grab only EEG and marker streams, then this might not be such a chore after all.

@larsoner @agramfort
Personally, I think that being able to extract an EEG stream from XDF is better than nothing and worth an implementation. An even better solution would be to allow the extraction of any single stream out of the XDF file.
... the "best solution" of reading the complete XDF file with all its streams seems tricky indeed

I thought that the existing XDF reader already supports synchronizing time stamps from different streams, so this is one problem already solved. Grabbing a single stream is straightforward, because all streams are returned in a list of dicts, of which we'd need the values for the 'time_series' and 'time_stamps' keys.

MNE only supports "streams" with the same sampling rates. So yes if we can
read the EEG data and mimic what we have already for edf files +1
I also feel that we need more integrated efforts between pyedf, pybv,
pyxdf, neo and MNE to avoid duplication of efforts. I am sure I have time
though to coordinate these efforts. It would be a great topic for a code
sprint.

Yes, absolutely! I also have the feeling that we could greatly benefit from closer collaboration. I'm already involved in MNE and pyxdf, so I could at least try to coordinate a bit.

Just to clarify, the XDF reader does synchronize the time stamps in that
it puts all the streams on the same timebase, but it does not resample
the data. So time 3.14 in stream A is the same as 3.14 in stream B, but
they might have completely different sampling rates. Is this also an
issue for markers, by the way?
On 14.11.2018 10:02, Clemens Brunner wrote:

I thought that the existing XDF reader already supports synchronizing
time stamps from different streams, so this is one problem already
solved. Grabbing a single stream is straightforward, because all
streams are returned in a list of dicts, of which we'd need the values
for the |'time_series'| and |'time_stamps'| keys.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5180#issuecomment-438587766,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADch7kz9NpZprmcTNmqUNFctNJIQlSZaks5uu9wNgaJpZM4TvMeo.

I currently don't have time to work on this, but I can probably devote
some in the future.
On 14.11.2018 09:42, Clemens Brunner wrote:

@dmedine https://github.com/dmedine @trmullen
https://github.com/trmullen do you have time to work on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5180#issuecomment-438582178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADch7iSwBJUWohTQ06__rUaTKnY0oMVtks5uu9digaJpZM4TvMeo.

Resampling to a common sampling rate shouldn't be a big issue as long as we start from tmin and include all time points up to tmax.

for my curiosity how do you remap to the same time stamps? do you
interpolate? how do you decide the regular grid of time samples?

Yes, I'd resample all signals to the highest sampling rate, this will create samples at the same time points. In SigViewer, we do that, but the user can change the resampling rate if the one we choose automatically is too high. If the starting points differ, we add zeros to the signals starting later.

The way LSL puts everything on the same time base is fairly complicated.
I will try to summarize it in broad strokes.
Basically, when data is being streamed by an outlet into an inlet, there
are periodic handshakes between inlet and outlet that return the time
difference between the CPU clock times between the two. The algorithm
for doing this is canonical and based on the NTP method for doing the
same. In the LSL recording program, these offsets are written into the
footer of the data file as the streams are being recorded. Meanwhile
each datum is also timestamped based on its own CPU time. Then, when the
file is loaded, the loading program (implemented in Matlab and Python)
uses this information to form a piecewise linear map between the
timestamps in each incoming stream and the write times in the recording.
This corrects the slowly drifting time offsets between various sending
CPU times and the CPU time of the recording.
If the stream is coming in at a regularly sampled sampling rate (e.g. an
EEG stream, not an arbitrary marker stream) the differences between
successive timestamps are also smoothed to correct for jitter. The end
result is a data structure that has the data for each stream and its
corresponding, corrected, timestamp values. These streams are then said
to be synchronized. This has been validated to provide sub-millisecond
accuracy. This doesn't align the samples to a common grid. That would,
of course, require an interpolation step, which is the part that I don't
have time to work on right now. This would, now that I think about it,
perhaps be a nice feature to add to the LSL loading software. So far as
I know, no one has ever requested this.
What isn't corrected for (it must be measured) is the lag time between
hardware acquisition and the time the data gets timestamped. There are
various means of measuring these relative latencies, but it isn't always
so straightforward. Back in the day this required a fair amount of
handmade microphones, photo-diodes, and buckets of salt water. Brain
Products (shameless plug) sells hardware (StimTrak
https://www.brainproducts.com/productdetails.php?id=57) that can
provide these measurements through sending hardware triggers. NBS also
sells a product (which is LSL based) called the LabStreamer
https://www.neurobs.com/menu_order/purchase_labstreamer that helps
measure these hardware latencies.
One last detail is that LabRecorder (the LSL recording program) picks up
each stream on a separate thread so they always have a different start time.
On 14.11.2018 15:19, Clemens Brunner wrote:

Yes, I'd resample all signals to the highest sampling rate, this will
create samples at the same time points. In SigViewer, we do that, but
the user can change the resampling rate if the one we choose
automatically is too high. If the starting points differ, we add zeros
to the signals starting later.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5180#issuecomment-438677313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADch7oVNgMNFuUxdHZMgBNNe9bkAEw9cks5uvCZsgaJpZM4TvMeo.

thanks a lot for clarifying
then for MNE what we need is a way to resample all streams we want to read
to the same sampling freq
like we do for EDF reader.

Hi @cbrnr -- yes happy to assist with this effort.
Tim
On Wed, Nov 14, 2018, 12:42 AM Clemens Brunner<EMAIL_ADDRESS>wrote:

@dmedine https://github.com/dmedine @trmullen
https://github.com/trmullen do you have time to work on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5180#issuecomment-438582178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADq4m9UHjP0N8fGf0ttrXEC-tvhmlcThks5uu9digaJpZM4TvMeo
.

Not adding much to the discussion. But cross linking to related discussion on BIDS mailing list

pyxdf is now available with pip install pyxdf

As an initial implementation, what about allowing only one regularly sampled stream (plus optionally any number of marker streams)? That way, we don't have to resample and we can directly use time stamps and data samples provided by load_xdf. Optional marker streams could be converted to annotations. This would probably cover many use cases already, and would be a lot better than what we currently have (nothing).

As an initial implementation, what about allowing only one regularly
sampled stream (plus optionally any number of marker streams)? That way, we
don't have to resample and we can directly use time stamps and data samples
provided by load_xdf. Optional marker streams could be converted to
annotations. This would probably cover many use cases already, and would be
a lot better than what we currently have (nothing)

no objection but I would start with a gist

Here's a first proof-of-concept implementation: https://gist.github.com/cbrnr/7164a12868bc7616056587a41f51e92d
Basically, it loads the first EEG stream it finds and adds the first marker stream if present. For many XDF files, https://github.com/sccn/xdf/pull/42 should be fixed before this works. Comments and suggestions welcome!

would this work with preload=False?

Because XDF is a format designed for streamed data, preload=False would require to parse the whole file. This is certainly doable, but I think it should be implemented upstream. What other requirements does MNE impose on readers? Blockwise random access reading?

Because XDF is a format designed for streamed data, preload=False would require to parse the whole file. This is certainly doable, but I think it should be implemented upstream. What other requirements does MNE impose on readers? Blockwise random access reading?

What other requirements does MNE impose on readers? Blockwise random access reading?

In general yes, one should at a minimum (that I can think of):

Populate info properly,
Give the number of samples in the file, and
Provide a function that returns an arbitrary chunk of data for a given start, stop sample number pair

If these are provided, all methods of BaseRaw should work (I think!).
If they are not / cannot be provided, we'd have to think about how to deal with this.

I think all of these points can be implemented, but only with preload=True. XDF makes it really hard to randomly access a portion of data, because it does not reserve a constant amount of bytes per data segment. In any case, jumping around the file is still reasonably fast using boundary chunks, but since these are optional the worst case scenario is that the file must be searched from beginning to end. All of this should be provided upstream, but currently load_xdf always loads everything.

pyedf or pyxdf don't support random access of chunks at all? I don't have a
strong feeling on this but that would make a precedent to have readers that
don't support preload.

pyedflib does support random access, that is you can specify the channel, start time, and end time. I think XDF is really an exception here - I don't know any other file format that's structured similarly, so this might be the only reader for now.

I've added a parse_xdf function that does a quick pass over the whole file to read just the headers (but ignore all actual content). This is very fast even for large files (fractions of a second) as compared to the complete load_xdf call, which can take several seconds. Maybe we can use parse_xdf to fill our meta info even in the case of preload=False. But once data is actually needed, we'd need to pull in everything, so it's just a simple lazy loading without random access.

not strong feeling here. Do you need this to process your own data? or some
public data?

I don't even work with XDF myself, but I have been involved with the format and I also needed it in SigViewer. But I'm not sure if this was your question...

In general yes, one should at a minimum (that I can think of):

Populate info properly,
Give the number of samples in the file, and
Provide a function that returns an arbitrary chunk of data for a given start, stop sample number pair

All of these require at least one full pass over the file because the number of streams and samples isn't known in advance. Also, with postprocessing the number of samples might change, even for evenly sampled streams.
I'm not an expert, but I think the postprocessing in the current implementation needs all samples and can't just take a time slice, select all chunks which fall into that range and then read only those samples. Plus, the default of a few seconds of data per chunk means that most operations will need to read multiple chunks so preloading might make everything a lot simpler and faster, even if only a subset of data is needed.

All of these require at least one full pass over the file because the number of streams and samples isn't known in advance. Also, with postprocessing the number of samples might change, even for evenly sampled streams.

Yes, but the pass is much quicker with parse_xdf (i.e. when you don't process the contents). Maybe we can use this to fill our meta info when preload=False.

I'm not an expert, but I think the postprocessing in the current implementation needs all samples and can't just take a time slice, select all chunks which fall into that range and then read only those samples. Plus, the default of a few seconds of data per chunk means that most operations will need to read multiple chunks so preloading might make everything a lot simpler and faster, even if only a subset of data is needed.

Correct, once you start working with the actual data, everything needs to be read and processed (clock synchronization). So basically random access just won't be possible.

BTW, read_raw_xdf in https://gist.github.com/cbrnr/7164a12868bc7616056587a41f51e92d also supports loading arbitrary streams by name (and since names need not be unique I could/should also add loading by stream ID). If no name is provided, the first EEG stream is used.

I'm okay with only allowing preload=True or string for this format then

in 0.17.1 this is already the case that we can only read with preload=True. i.e: edf files with annotations.

ok fair enough then. I assume we can use as soft dep
https://pypi.org/project/pyxdf/ ?

We could, but this should be discussed again. It looks like MNE is much more actively maintained than pyxdf, so we could also think about integrating the XDF code directly into MNE. I'd prefer this.

I would prefer to boost the maintenance team of pyxdf and eventually pyedf
to distrbute the maintenance load. It would scale if we always integrate
the community work.

Couldn't you get write permissions for pyxdf @cbrnr ? That would at least remove potential "blocks" due to inactivity from the reviewing / merging side of PRs at pyxdf?

I'd hope that I could (@cboulay WDYT?), but I can't just rage-merge everything without review 😛 - but it would certainly help if I was more directly involved.
BTW, is there a way I can list all GitHub repos I have write access to?

I've been explicitly told that I cannot add any new people to SCCN repos. I recently asked for help and guidance, because it's clear that xdf requires more stewardship than it currently receives (and I don't have time to give), and I received a couple "Chad's right, we need more work on this" and a couple no-answers.
One of my ideas, which was not well received by the xdf oversight committee (*real people but not a real committee), is to break out xdf into submodules just how we did it for labstreaminglayer. Then we can have individuals working with more authority on the code while not granting them the ability to break SCCN's repositories. i.e., any changes that happen upstream in these submodules will not be visible to sccn/xdf users until someone with SCCN authority updates the submodule pointers.
Even though there was resistance to this, I went ahead and created the xdf-modules GitHub organization and put in a few placeholders for submodules it will hold. I'm just asking around now about how to move the code without losing the commit history.
I've already invited a few people to the organization, including @cbrnr , but there isn't much to be done yet until we get the code + commit history moved over.

let me share my thoughts on this. If you want xdf to become a community
standard you need to make pyxdf a project that is not affiliated to SCCN.
if you can move the code to a more neutral org it's great. thanks a lot

I think creating separate repos is a step in the right direction (thanks @cboulay for adding me) - I always thought that pyxdf shouldn't be combined with MATLAB (and potentially other stuff). I agree with @agramfort, but that's exactly what @cboulay just did - if the new upstream will be xdf-modules/pyxdf, then it is essentially detached from SCCN. In any case, since at least the pyxdf code is BSD licensed, we can always fork it and roll our own thing (that's why I was suggesting to do it in MNE, it's really not that much more to maintain).

forking and maintaining our own code is bad community-wise. It make the
community more fragmented while we should consolidate

Yes, I meant migrating and not forking.

@cbrnr you now have write access to https://github.com/xdf-modules/xdf-Python
I will ask the other people who have made Python pull requests to move their PRs to that repo instead.

Thanks. BTW, I've never migrated/transferred a repo, but shouldn't it be possible with the standard git commands (i.e. cloning and pushing to the new repo)? https://www.atlassian.com/git/tutorials/git-move-repository

I've implemented a basic XDF reader in MNELAB:
https://github.com/cbrnr/mnelab/pull/22
There are some caveats (see my comment in that PR), but loading basic EEG streams should work. I'm not sure if we can handle loading multiple streams, because everything gets very slow even with just one long stream (with a high number of channels/samples, e.g. 80 channels, fs 1000Hz, 10 minutes).

@cbrnr very cool. it looks like we might be able to incorporate the lazy evaluation of preload and seek on demand. with xdf, can streams be added during recording or we do always know that it would contain certain streams and only those stream throughout?

@teonbrooks New streams can appear anywhere in the file, but per spec the header for the stream has to appear before the data chunks.

I guess then you would need to be able to read all the headers first to and construct a map of pointers (sample_n --> data_block_n) for the eeg if you wanted to avoid loading the whole file

Yes, it is possible to parse the whole file and just consider the data of the stream you want (and skip over the data you don't want), because each stream has a unique stream ID. That's something I'm already doing with parse_xdf, but the current version of pyxdf (which I use to actually load data) doesn't support this yet.

@agramfort just thought about your comment - when you say pyxdf should not apparently be associated with SCCN, why is this not a problem with MNE Python hosted at Martinos?

y@agramfort https://github.com/agramfort just thought about your
comment - when you say pyxdf should not apparently be associated with SCCN,
why is this not a problem with MNE Python hosted at Martinos?

mne-python is not hosted on an github org of martinos and it's not
administrated by anyone at martinos
we have the website historically hosted at martinos.org. We use
mne-tools.github.io as nightly build of the doc.
It's true that we have martinos in the url of the website but we have all
the logos of all the institutions
that helped over the years.

Hello,
I would like to know what the status is on this feature in 2020, as it is still open. Are you still planning to include this at some point? I would be very interested in having this feature built into MNE.
Alternatively, it would be nice if you include a link to relevant software in the documentation if you are not planning to include this in MNE. That way people looking for a solution don't have to go to google and read through this issue.

Currently only MNELAB supports loading XDF. We don't know if and when this feature will be available in MNE, because there are a couple of open questions (e.g. how do we handle multiple streams with different sampling frequencies). However, in the meantime you can use either pyxdf or even the reader in MNELAB (from mnelab.io import read_raw) if you want to work with XDF files in MNE-Python.

FYI I just used pyxdf + mne.io.RawArray to read an XDF-formatted file (recorded using LSL stream recorder). I think this is what we should probably "support" from the MNE end so that people format data the way they need. @cbrnr would you be up for making a PR to mention using MNELAB and/or pyxdf directly to load data and using mne.io.RawArray? To me it's the cleanest solution since there are so many ways people's data can show up in XDF format.

Sure. What would you like me to implement? Just an update to our docs (where)? I'm using the mne.io.RawArray approach in MNELAB, so this could be some sort of reference implementation which we could include directly in MNE. However, this supports only one particular stream which users have to select.

Just an update to our docs (where)?

Probably update https://mne.tools/stable/auto_tutorials/io/plot_20_reading_eeg_data.html

I'm using the mne.io.RawArray approach in MNELAB, so this could be some sort of reference implementation which we could include directly in MNE. However, this supports only one particular stream which users have to select.

Yeah I'd rather just show people a little code snippet, probably we are using the same things like:
data, header = pyxdf.load_xdf(fn_eeg)
data = data[0]['time_series'].T
info = mne.create_info(...)
raw = mne.io.RawArray(data, info)

this could be some sort of reference implementation which we could include directly in MNE

I'd rather not include an actual implementation in MNE because there is too much flexibility in the format, I'd rather just update the docs to say "something like this might work for your use case" and then people can adapt appropriately based on the data they have.

For cases like this (reading in data from a source type that we don't fully support), I think they make more sense as a how-to example rather than integrated as part of the tutorials.  The NEO how-to is an example of this.

If it is a separate tutorial, I think we should at least link to it from the plot_20_reading_eeg_data.html, since that's where people will probably naturally end up if they look into file formats in MNE

agree... I was just editing my above comment to say something similar.

@larsoner OK, this tutorial might be a good place to mention it.
I've linked to my reader in my previous comment, but yeah, I'm basically just doing what you are using. However, I'm also reading custom units as well as marker channels, which I convert to annotations. I would mention my function in addition to some general code snippet, because people can just go ahead and use from mnelab.io.xdf import read_raw_xdf, which is probably OK for many use cases.

Full XDF support is now available in MNELAB (currently in the main branch, but soon in a new release).

Full XDF support is now available in MNELAB (currently in the main branch, but soon in a new release).

@cbrnr
What's involved in getting "Full" support in to MNE-Python? I just followed the https://mne.tools/dev/auto_examples/io/read_xdf.html tutorial. What is missing from this that would be included in a full xdf reader?
I am now using xdf files and may be able to assist in implementing xdf support in MNE.

@rob-luke by full support I am referring to importing more than one stream from an XDF file. This requires resampling to a common sampling frequency.
The example shown in the docs requires that one stream is selected.
MNELAB has full support now, which includes importing an arbitrary number of streams plus all marker streams (which are converted to annotations). You can use this function in your own scripts, for example:
from mnelab.io import read_raw

raw = read_raw(fname, stream_ids=[1, 3, 5], fs_new=1000)

This will load streams 1, 3, and 5 from a file named fname and resample them to 1000 Hz. If you want to find out which streams are contained in a given XDF file (and their corresponding stream IDs), you can use:
from pyxdf import resolve_streams

print(resolve_streams(fname))

All of this could potentially be moved to MNE, but we have not discussed if this should be done. If so, I can do the work, but for now I think it's easy enough to just use the function from MNELAB directly.

Thanks @cbrnr
I tested out the functions in MNELAB and they worked wonderfully.
Given how robust and well written the function are, can we move this reader to MNE-Python? This will provide  I am able to help in the transition.
Or is there some concern with adding this functionality @larsoner @agramfort ?

no objection

Message ID: @.***>

Then I'll prepare a PR.


Add files via upload

add Bottega (@scuolabottega.net)

There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Locale for Date does not seem to work at all for 1.4.2 :(

Changing the locale for Date does not seem to work at all for 1.4.2 :(
I used the standard inline example, loaded the 'de-de.json' locale, changed to formatting to correspond with the one in the locale (and removed some columns for readability)
http://jsfiddle.net/wew2x23d/3/
It does not seem to work however: not for rendering, but also not when editing a field :(.

It is fixed in master branch for 1.5 version.

It is fixed in master branch for 1.5 version.

Thank you for the information.
Unfortunately 1.5 does not seem to be released soon :(.

You need to download locale files from 1.4.x branch, as there were some changes in current master in regards to data. Here is a link for you https://github.com/vitmalina/w2ui/blob/w2ui-1.4/src/locale/de-de.json

Close this issue if it works.

it works with the unpublished 1.4.x branch.

I released 1.4.3. Now you can download it from website or using bower. All fixes should be there.

Fantastic! It all works now. Thank you.


Question about VRAM cost

Hi, thank you so much for the amazing project!
May I ask what the VRAM cost is for training the model? Is V100 32GB VRAM enough for training?
Thanks for the help!

Hi! The VRAM usage of 3DGraphLLM depends on the size of the base LLM, the parameters of LoRA fine-tuning, the batch size, and the number of nearest neighbors. For the experiments described in the paper with knn=2 and the LLM LLAMA3-8B-Instruct, approximately 50 GB of VRAM was required with a batch size of 8. Meanwhile, conducting a basic experiment without using the scene graph (knn=0 and LLM LLAMA3-8B-Instruct) cost about 46 GB of VRAM with batch size = 8. Therefore, I’m afraid that a V100 GPU with 32GB VRAM is insufficient for training with the original training config, but there is room for reducing VRAM consumption in the method if necessary.

Thank you so much for the info!


fix: replaced deprecated onAttach with correct override

good thing we're not using the framework provided fragments here. I remember a nefarious bug where for lower APIs, the onAttach(Context) method wouldn't be called.


Add support for JSON logging format

In this PR I propose to introduce slog.Handler as a backend for logr (and klog) - as documented here.
I am doing a minimal change in this PR where my primary goal is to add support for a structured log format (ref.  https://github.com/cert-manager/trust-manager/issues/282).
NOTE: This might break for some users, depending on if/how they parse trust-manager log output. I cannot imagine the slog text format (the new default) is the same as the deprecated klog format. We always try to avoid breaking changes, but I think a change is required here anyway - since the currently used klog format is deprecated.
Fixes https://github.com/cert-manager/trust-manager/issues/282

/lgtm

Had a bit of a read through of the PR and of the linked documentation. This seems to make sense to me. The notion for using slog is that this is in the Go standard library now? I can't approve and can't comment explicitly on the code, but if it works 👍
Can I run this? just need to branch checkout and build the image?

Thanks @hawksight! You should be able to just checkout the branch and install it. My workstation environment is really borked for working with open source.


Tasks 1645-1653

Reviews: https://github.com/swarooprm/CSE576HW/pull/96/files

The input language needs to be changed to Spanish and catalan in task 1646, rest look good.


Offering Translation into Turkish

Hi all! As you know Turkish community of Holochain is huge. If you need any translation to Turkish, I'm here. (P.S. I hope I left this issue to the right place. If not, sorry for that)

Thank you so much! We are getting very close to ready for help with translations, should be in the next couple months


Dependencies not getting installed

pip install git+https://github.com/mov-cli/mov-cli.git --verbose

Using pip 22.1.2 from /home/noel/.local/lib/python3.10/site-packages/pip (python 3.10)
Defaulting to user installation because normal site-packages is not writeable
Collecting git+https://github.com/mov-cli/mov-cli.git
  Cloning https://github.com/mov-cli/mov-cli.git to /tmp/pip-req-build-hcv4qijb
  Running command git version
  git version 2.37.1
  Running command git clone --filter=blob:none https://github.com/mov-cli/mov-cli.git /tmp/pip-req-build-hcv4qijb
  Cloning into '/tmp/pip-req-build-hcv4qijb'...
  Running command git rev-parse HEAD
<PHONE_NUMBER>5c8809f43ea73e275932d6ae25a65d
  Resolved https://github.com/mov-cli/mov-cli.git to commit<PHONE_NUMBER>5c8809f43ea73e275932d6ae25a65d
  Running command python setup.py egg_info
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-req-build-hcv4qijb/setup.py", line 2, in <module>
      from mov_cli.__version__ import __core__
    File "/tmp/pip-req-build-hcv4qijb/mov_cli/__init__.py", line 1, in <module>
      from . import __main__
    File "/tmp/pip-req-build-hcv4qijb/mov_cli/__main__.py", line 7, in <module>
      from .websites.theflix import Theflix
    File "/tmp/pip-req-build-hcv4qijb/mov_cli/websites/theflix.py", line 5, in <module>
      import httpx
  ModuleNotFoundError: No module named 'httpx'
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /usr/bin/python -c '
  exec(compile('"'"''"'"''"'"'
  # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
  #
  # - It imports setuptools before invoking setup.py, to enable projects that directly
  #   import from `distutils.core` to work with newer packaging standards.
  # - It provides a clear error message when setuptools is not installed.
  # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
  #   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
  #     manifest_maker: standard file '"'"'-c'"'"' not found".
  # - It generates a shim setup.py, for handling setup.cfg-only projects.
  import os, sys, tokenize

  try:
      import setuptools
  except ImportError as error:
      print(
          "ERROR: Can not execute `setup.py` since setuptools is not available in "
          "the build environment.",
          file=sys.stderr,
      )
      sys.exit(1)

  __file__ = %r
  sys.argv[0] = __file__

  if os.path.exists(__file__):
      filename = __file__
      with tokenize.open(__file__) as f:
          setup_py_code = f.read()
  else:
      filename = "<auto-generated setuptools caller>"
      setup_py_code = "from setuptools import setup; setup()"

  exec(compile(setup_py_code, filename, "exec"))
  '"'"''"'"''"'"' % ('"'"'/tmp/pip-req-build-hcv4qijb/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-mm0mwpc9
  cwd: /tmp/pip-req-build-hcv4qijb/
  Preparing metadata (setup.py) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I had to install bs4, colorama, and httpx manually and then run pip install to get it installed

I will look into it

Should be fixed now

Nope I still get the same error. I tried #24 still the error.

Should be fixed for sure now

All good 🥳


Failed to install 'cordova-plugin-ionic-webview':Error: ENOENT: no such file or directory

ionic version  1,  happen in android platform
Error info:
Discovered plugin "cordova-plugin-ionic-webview" in config.xml. Adding it to the project
Fetching plugin<EMAIL_ADDRESS>via npm
Installing "cordova-plugin-ionic-webview" for android
Failed to install 'cordova-plugin-ionic-webview':Error: ENOENT: no such file or directory, open '/Users/../**/../platforms/android/assets/www/cordova_plugins.js'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.writeFileSync (fs.js:1291:33)
    at /Users/../**/../platforms/android/cordova/node_modules/cordova-common/src/PluginManager.js:137:12
    at _fulfilled (/Users/../**/../platforms/android/cordova/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/Users/../**/../platforms/android/cordova/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/Users/../**/../platforms/android/cordova/node_modules/q/q.js:816:13)
    at /Users/../**/../platforms/android/cordova/node_modules/q/q.js:877:14
    at runSingle (/Users/../**/../platforms/android/cordova/node_modules/q/q.js:137:13)
    at flush (/Users/../**/../platforms/android/cordova/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
Failed to restore plugin "cordova-plugin-ionic-webview" from config.xml. You might need to try adding it again. Error: Error: ENOENT: no such file or directory, open '/Users/../**/../platforms/android/assets/www/cordova_plugins.js'

Just like this case: https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/12
I have made a lot of changes in android platform, if I remove them, there would be a lot of trouble, is there any way to handle this error?

no response, will close this.

@johnnynode hi, how did you fixed it?


Downloading YouTube livestream VOD while still live

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

I've recently started using YouTube-DL to download YouTube livestreams while they are still live, but the download starts at the current live moment, ignoring the up to 3 hours of VOD history.  I was just wondering if this is possible to download as well via an option, or if no such feature exists yet.

no such feature exists yet.

You can use streamlink and download the video from the beginning, then continue downloading the live parts.
https://streamlink.github.io/


Trigger page register when module is executed

Solves inconsistent loading issues when one bundle is loaded faster than the other
Fixes zeit/next-plugins#244
Fixes #4997
Fixes #4620

@Zn4rK I finally found the issue you ran into and wrote a test for, check this commit: https://github.com/zeit/next.js/pull/5115/commits/a3f83ae2216f47449dfd24e6e3e038664674f527
It was a timing issue where the page cache got deleted right before re-rendering the page. Causing the props to not be available. Removing this logic as it is no longer needed there was enough 👍

@timneutkens When are you planning to merge this? Is it imminent?
Just wondering because I really need this fix and would prefer not to use my fork.

Basically today, was just waiting for Someone to review which has been done now.


How l2-normalization over feature is implemented ?

this paper states that L2 normalization of the image features is crucial for good performance. However, you just use pool5 data, which is average pooled to become a 2048 vector in generate_tsv.py
I'm wondering if you have implemented L2-normalization over feature or not. If you did, please inform me how you do it. Thanks a lot~

I guess the L2 normalization is done in the data loading part of the VQA model part, like https://github.com/yuzcccc/vqa-mfb/blob/master/mfh_coatt_glove/vqa_data_layer.py

Thanks, it does.


Fix error message inconsistencies

First of all, cool library 🦄 !
This PR fixes some inconsistencies regarding the error messages thrown, mainly the usage of toString instead of toUnguardedString

Beaten by @poeschko by 2 minutes 😂

Sorry bro! :-) Your PR description is better, though. Totally agree with "cool library" and the unicorn.


Visualize Training Progression

[x] I have marked all applicable categories:

[ ] exception-raising bug
[ ] RL algorithm bug
[ ] system worker bug
[ ] system utils bug
[ ] code design/refactor
[ ] documentation request
[x] new feature request

[x] I have visited the readme and doc
[x] I have searched through the issue tracker and pr tracker
[x] I have mentioned version numbers, operating system and environment, where applicable: N/A

RL training can be unstable and fall into local optimal solution easily. Visualization and monitoring metrics are therefore extremely important. Assume there are 3 roles in league training (MA, ME, LE). It would be better to visualize metrics for each of these roles over the training time.

This issue is also figured out in #18, the visualization result is like:


Testing merge flow

:tada: This PR is included in version 1.0.0-develop.1 :tada:
The release is available on:

npm package (@develop dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add class Email and necessary methods / add class Adress and necessary methods

I see there is a merge conflict - you will need to resolve it locally to be able to push. I also noticed that you don't have the latest changes that Oleksii added yesterday around 8PM. Please update your branch locally. You can do this like so:

make sure you have all the changes that you made committed locally (but not pushed);
git fetch origin main
git rebase origin/main (you will likely have small merge conflicts here. A tip - incoming changes are the changes from your branch; current changes are the changes currently on main)
git push


Forward the error handling to the other party

@geek I think this is the expected behavior of my code, sorry for the dumb bug. What do you think?
Closes #3

If you comment out my change and run the tests, the process crashes with:
TypeError: Cannot set property 'error' of undefined

It means you can't reply with an Error without your process crashing... is that expected?

look at this fix :D.
the bug was using that instead of self.


SAK-32592 Have permission widget correctly load JS

This also affected the CSS which is fixed here. This prevented the permissions widget to from rendering correctly as well as the clickable columns from working correctly.

Cheers @bjones86


How run rtsp2web server using SSL/TLS

Hi there,
Is the --sslkeycert flag implemented?
I tried to run the demo of the rtsp server using the --sslkeycert flag but didn't seem to have any effect. I used the following command:
./rtsp2ws -P 8443 -p ./www -C ./config.json -c ./keycert.pem

Note: this is using the same certificate on your repo keycert.pem

I got a chrome browser error: ERR_SSL_PROTOCOL_ERROR when trying to load the https://localhost:8443.
Then when I ran the demo on port 8080 I was not able to run the demo due to the VideoDecoder object being undefined. Because it's not available on non-secure contexts.
I don't want to run the chrome browser on insecure mode by passing the #unsafely-treat-insecure-origin-as-secure flag.
Any suggestions?

Hi,
You need to configure listening port using ssl, sée civetweb doc. This should work using -P 8443s.
Best Regards
Michel

@mpromonet I was not familiar with the civetweb server, using -P 8443s worked. Thanks.


Issue with QlikSense Feb release and Spaces in Names

I have a Bar Chart that was using 2 dimensions, both of the these are variables
I've found since we upgraded to Feb release the geography variable doesn't display a legend and the colours are all grey.
After some investigation i found its to do with the Field Names

Current Field name [Geo Level 9] doesn't work
-[GeoLevel9] does display correctly

Did Qlik change something in the latest release to affect Field names with spaces. ?
I don't really to have to update my data models to deal with this, any ideas on a fix?

Sounds like it may be a bug in Qlik Sense, you should report it.
A workaround is to use pick() as described here:
https://extendingqlik.upper88.com/add-flexibility-to-your-qlik-sense-app-with-variables-and-pick/
This might have a performance cost, check that it doesn't slow your app down.

Have you tried using ' ? That is set up the value as 'Geo Level 9' ?

Hi Erik
I tried using 'Geo Level 9' which does work in certain scenarios however it
didn't work for the following
round(aggr({$<FiscalYearQuarterNameLong=,FiscalYearPeriodNameLong=,FiscalYear=
, FiscalPeriodId= {'<$(vCurrentFiscalPeriodId)'}
,$(='[' & concat({<$Table={ 'SalesFinal'}>}$Field,']=,[') & ']=')
,$(vPantherTypeConvert)-={0}

} RangeAvg(above(sum($(vPantherTypeConvert)), 0, 12)),$(vGeoLevel),($(vFiscalGroup)
,NUMERIC, ASCENDING))
)

Changed the name from 'Geo Level 9' to GeoLevel9 and $(vGeoLevel) then
works.
It worked fine until we upgraded to the Nov release last month
On 13 March 2018 at 14:19, Erik Wetterberg<EMAIL_ADDRESS>wrote:

Have you tried using ' ? That is set up the value as 'Geo Level 9' ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/erikwett/qsVariable/issues/38#issuecomment-372681098,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Afj-tWJ4Zyto90kAFs7q-qYZt0r3i7u1ks5td9VdgaJpZM4Siyr8
.

And what about  '[Geo Level 9]' ??

No it doesn't work i'm afriad
On 13 March 2018 at 14:46, Erik Wetterberg<EMAIL_ADDRESS>wrote:

And what about '[Geo Level 9]' ??
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/erikwett/qsVariable/issues/38#issuecomment-372690915,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Afj-taU3qMYfTVz9MKKgOUdIlZ7wawixks5td9vIgaJpZM4Siyr8
.

its very weird because the aggr does work it just doesn't dsiplay the
legond or color the lines
On 13 March 2018 at 14:53, michael lees<EMAIL_ADDRESS>wrote:

No it doesn't work i'm afriad
On 13 March 2018 at 14:46, Erik Wetterberg<EMAIL_ADDRESS>wrote:

And what about '[Geo Level 9]' ??
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/erikwett/qsVariable/issues/38#issuecomment-372690915,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Afj-taU3qMYfTVz9MKKgOUdIlZ7wawixks5td9vIgaJpZM4Siyr8
.


RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

在运行bash scripts/videochat_vicuna/run_7b_stage3.sh时候出现这个问题，请问如何解决：
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

try this
https://bit.ly/4eugCty
you may need to install the c compiler


feat: add stack checkout

This new command allow to download a stack.
Depends-On: #520

This pull request is part of a stack:

refactor: pre compute the action to do for each change of the stack (#510)
refactor: check API response globally (#511)
chore: use a more reliable solution to get changes (#512)
feat: allow to pass author (#520)
feat: add stack checkout (#523) 👈


Prepare release notes

Signed-off-by: Paul Pietkiewicz<EMAIL_ADDRESS>

TODO:

Document difference between user remote/origin and upstream
Upstream used for release branch
Push release PR first then go back to Cargo.tml commit to do cargo publish
Fixes: ensure that

Updated with latest cargo binary dependencies.
TODO: add cargo publish --dry-run for sanity checks

@bstrie Could you please take a look at this? I updated it with some of the changes following our discussion


fix(es/ast): Fix Reserve Words

fixes #1838
@kdy1 two problems left:

I don't know what's needed to be escaped in bundler, so I just escape everything
What does es3/props_lit do? It seems do the opposite of @babel/plugin-transform-property-literals. That babel plugin transform

var foo = {
  // changed
  const: function() {},
  var: function() {},

  // not changed
  default: 1,
  [a]: 2,
  foo: 1,
};

to
var foo = {
  // changed
  "const": function () {},
  "var": function () {},
  // not changed
  "default": 1,
  [a]: 2,
  foo: 1
};

while swc transform string literal in prop name back to ident

Sorry, I forgot the questions.

Escaping everything is fine.
If I remember correctly, property literals pass converts foo.catch to foo['catch'] for old browsers.

Hmm... I'm not sure about property literals pass.
I don't know why it does opposite task of babel one.


feat(scrollIntoView): add new prop to override built-in scrollIntoView

What: feat(scrollIntoView): add new prop to override built-in scrollIntoView

Why: Closes #537

How: React makes this easy. I leverage defaultProps to set our own implementation of scrollIntoView as the scrollIntoView prop and then call it via this.props.scrollIntoView so users of downshift can override it to be whatever they want.
This means that I had to change the test slightly because the scrollIntoView function is no longer called directly on utils so we can't spy on it. Just swapped that to use mocking and it's working fine.

Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged

[ ] Added myself to contributors table N/A

Good thinking @eliperkins! It'd be cool to get official support for scrolling to the highlighted index with ReactNative!

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

We probably also needs to change the type definition for this. Will do this in a bit.


Dragging Book section into subsection causes section to disappear

This probably won't happen very often but if a user accidentally drags a section into its own subsection, the entire section will disappear.
https://user-images.githubusercontent.com/23462877/133272777-c315920d-d4c2-4058-9956-0992ae565a05.mov

Fixed by #17141


minimalcss takes into account css from iframe

Need to investigate. Example https://minimalcss.app/?url=https%3A%2F%2Fstereobooster.github.io%2F

Another use case:

Uhh??
▶ node --trace-warnings ./bin/minimalcss.js https://helloeave.com/

(Have I completely forgotten how to use this thing?!)

Oh! It's an empty string because that website uses CSS Modules so there's 0 waste. I think the bug lies with minimalcss-server if anything.


wip updates for react 18

PR for reakit updates: https://github.com/eyerean/paste/pull/1

getting this:

closing as it was partially merged in the main react 18 PR https://github.com/twilio-labs/paste/pull/2868


csv file with forward rolling

a new patch

This broke the tests so I reverted it.
In the future, please run the tests with mvn clean test before submitting a pull request.
Also, please don't add main methods to classes in place of unit tests.


supports video capturing & fixes bugs

Summary

This PR fixes/implements the following bugs/features

[ ] Feature supports video capturing
- Implementation:
Step 1: In cloning period, using canvas api drawImage to draw the current video frame to a temporary canvas.
Step 2: Translating canvas to an inline image.
Step 3: In cloning period, replacing the origin video tag with the img tag generated in Step 2.
Step 4: Applying css styles to img tag according to video tag's computed styles. Styles applied to img tag should have the '!important' suffix to prevent user defined styles overwriting them.
Step 5: In canvas rendering period or foreignObjectRendering period, the render can recognize the img tag and then rendering it to the final canvas.

[ ] Bug 1 displaying inline-block & inline-table not correctly.
- see test case /tests/reftests/inline-block-inline-table.html

[ ] Bug 2 fix function parseStatckTree
- elements in negativeZIndex or positiveZIndex should be in ascending order according to their zIndex value

[ ] Bug 3 fix canvas globalAlpha
- When calling applyEffects, canvas may be restored to an older state. As a result, canvas's globalAlpha value set in renderStack function may be overwritten. This causes visual problems in some cases.

Sorry, I can not figure out what's wrong with video capturing test cases in a short time. They always fail on certain platform. However, my application only needs to work in Chrome, i will close the pr and find out the reason latter.

Hello, my application need to capture video, and only needs to work in Chrome, can you send me the builds. Thank you very much.


Run eslint --fix as part of esify

ESLint can fix a bunch of minor formatting things automatically. It would be nice to run it after all the decaf/ codemods have run on a file, and it should be easy enough to do given that we know eslint is installed locally given that this is running in the Shopify repo. Depending on whether we can easily access that eslint, it would also be a reasonable alternative to have eslint as a global peer dependency, or as a dependency and using it programatically.

Looking at the linters that support this, I don't think there's enough value. We can get the high impact ones much better with codemods.


Consider moving AiResponse and Generation to a separate package from AiClient

The AiResponse and Generation types are fairly common across different AI providers, AFAICT. Although, where we refer to what the AI returns as a Generation, others refer to this as a Completion, or based on use, a Choice.
Regardless, like Prompt, I think that AiResponse and Generation warrant their own top-level package, such as org.springframework.ai.generation, or org.springframework.ai.response.
Food for thought.

Great.  Need to view in context of functionality of #108 and #110

BTW, I spent some time thinking about the name of that class, and 'Generation' felt more akin to 'generative ai' than 'completion' as sometimes in other AI models, the completion was completing the next word in a sentence that was passed in.

Closing this as additional detail is captured in https://github.com/spring-projects/spring-ai/issues/241


feat(plugin-chart-echarts): Treemap chart POC

🏆 Enhancements

basic query panel
color schema
labels options

support upperLabel: upperLabel is used to specify whether show label when the node has children.Default is true.

 support breadcrumb: whether to show the breadcrumb.Default is true.
 support treemap roamming: whether to enable dragging roam (move and zoom).
 support node click: the behaviour when clicking a node.

Data panel

Custom Config
https://user-images.githubusercontent.com/11830681/117105241-32057580-adb0-11eb-9386-99113eccd79d.mov

notes from 5/5 meetings

remove white border in text
group-by color, add color scale per groupby
remove breadcrumb
remove ratio control
default scale and move, zoom to clicked node

@villebro @ktmud
we wanna support many cool out-of-the-box features that Echarts offer, but making every feature configurable may put too much mental burden on the users. my suggestion is we make what we believe is the best experience to the user by default and remove unnecessary controls.
I will start cleaning up/removing some controls in new and existing Echarts as the first step.

Left some comments, with the comment about clearing the ref being the most critical one. One major problem with this chart vs the old one is that it leaves a lot of padding around the chart by default. See the old chart:

vs the new chart

I tried setting the grid to 0 on all sides, but it didn't help much, which makes me think this might be set in ECharts. So before we replace the legacy chart with this one, perhaps we should see if we can remove some of that additional padding.

ye, Echarts sets the width and height of Treemap is  80% by default.Here need to be set to 100%.

treemap can be dragged on the dashboard, there is something weird. Do we consider disabling dragging?
https://user-images.githubusercontent.com/2016594/117326141-f3f97600-aec3-11eb-97e7-4426d442e920.mp4

recommended sorting with main metric. refer to table sort by design.

Treemap crashed when metric is a small number
https://user-images.githubusercontent.com/2016594/117328071-df1de200-aec5-11eb-8df1-ec5e193a5bc2.mp4

please catch null values in metrics
https://user-images.githubusercontent.com/2016594/117329141-ee515f80-aec6-11eb-937f-e3e64509857c.mp4


nsp causes warning when running npm install with<EMAIL_ADDRESS>

I have a project written in Node v8.2.1 and<EMAIL_ADDRESS>that includes nsp as a devDependency. When running npm install the following warning is displayed`:
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!

This is caused by nsp also publishing npm-shrinkwrap.json as part of the NPM package. When I remove this file or rename it to package-lock.json the warning disappears.
Is it necessary to include the shrinkwrap file as part of the published package? When I take a look at other packages, very few packages actually include a shrinkwrap- or lockfile. I'm not sure what's considered best practice here, since I expected most packages to include it.
Otherwise, is it possible to use a lockfile instead (same as #179?) by upgrading to npm@5? From the documentation I gather that this might be difficult (since npm@2 is still used), although I don't understand why.

closed in 2.8.0

just run yarn install again

deleting node_modules and running npm i worked for me

@alijalbani saved my day 💯 🥇