Bypass potential local date aliases.

I have date aliased to something else (date +%Y.%m.%d_%H%M), and thus fails on this line since it's trying to do date +%Y.%m.%d_%H%M +%s which is not a valid command.
Escaping the command bypasses users' aliases.

Thanks!


Don't load ActionPack and ActionView examples, when they are not available

When I use rails without action_pack or action_view, rspec-rails still  expects them to be both loaded and available. This PR fixes the issue, similar way it's handled for ActiveJob or ActionMailer
Better to ignore whitespaces when looking on code changes here https://github.com/rspec/rspec-rails/pull/1911/files?w=1 :)

@knapo Are you up to finish this? Some things have changed since the moment you've opened the pull request. Can you please rebase?

@pirj omg, it's been a while, better later than never :) rebased!

I believe YARD complains about undocumented methods/classes.

It's actually pretty weird and it complains about: # @!attribute [r], which probably are  not valid , but not idea why yard didn't complained about them before. I wonder, if current master would pass right now.

Did an experiment https://github.com/rspec/rspec-rails/pull/2257

The problem seems to disappear if you change the conditional to a guard statement:
- if defined?(ActionPack)
+ return unless defined?(ActionPack)

Wondering if it's good like that, or it would be better to put conditionals in lib/rspec/rails/example.rb.
Also, with this approach empty modules preceeding the conditional become redundant.
Highly appreciate if along with your changes you also change the rest of files in lib/rspec/rails/example/ to match the style you settle on for this change.

Wondering if it's good like that, or it would be better to gather all those conditionals in

I think it's a way better approach. I did it the way it was done for JobExampleGroup and MailerExampleGroup . Gonna give it a try.

@pirj I think it's good now!

So much better code-wise 👍
Have you tested it against your project?
Just wondering if the following will fail:
# lib/rspec/rails/configuration.rb
config.include RSpec::Rails::SystemExampleGroup, type: :system

There are conditional checks wether to include e.g. JobExampleGroup:
      if RSpec::Rails::FeatureCheck.has_active_job?
        config.include RSpec::Rails::JobExampleGroup, type: :job
      end

maybe add something similar?

Just a friendly reminder @knapo

@pirj Thanks for reminder :)
It was a long time ago since I experienced the issue and don't remember exact errors and reasons I created the PR. I no longer use rails (so rspec-rails too) in my current projects, but I revisited the issue from scratch again. I created a test project which has only railties loaded and can see that actionpack is its dependency, so it's always loaded - no matter is used/needed or not (it sucks btw, especially it's the heaviest rails component).
Taking account of that, I don't see benefits in adding checks introduced by this PR, since the key assumption of creating the PR When I use rails without action_pack or action_view is never met.

Thanks for double-checking this @knapo !


Dump ASSERTION_FAILED when creating new online repo

I cannot create new online repositories anymore.
Test repo

assertion_failed.txt
Maybe this is due the recent optimizations? @mkaesemann can you have a look?

The error was cause by a orphaned abapGit repository. I deleted it with database utils and it's working again. Don't bother. I'll close.

Good to hear. I try to test the optimizations prior to creating the PR and would have hated to have missed something.


Connection clean-up does not reset session system variables

When calling get_conn on a pool, there's a risk to get a connection with session system variables in an unexpected state.
(For example variables defined like SET session innodb_lock_wait_timeout = 0;)
Both MariaDB and MySQL have support to reset the connection state, and this library exposes it as Conn::reset. However, it's required to call it manually every single time to avoid leaking state from some recycled connection.
I believe that the connection state should be reset by default in Conn::cleanup_for_pool, with potentially an option to opt-out of this behavior. Having resets enables by default is a better choice in my opinion to get predictable results.

https://github.com/blackbeam/mysql_async/commit/134cbf8b5f31c9c91e1559f9c596b98da56234f3 adds implicit non-configurable connection reset when it's returned to the pool. This kills the prepared statement cache, degrading performance, and also the conn init statements are not run after a reset, so default session settings are not kept.

@cloneable, please note, that 134cbf8 does not enforce reset for clean connections because of this condition. I would say it's broken.
I agree with @demurgos that we should reset the connection state by default, actually it might be dangerous not to do so (consider something like unique_checks).
The problem, I think, that there is no way to opt-out, so I have to add one (actually, this is the reason for a new boolean argument on GetConn::new).

and also the conn init statements are not run after a reset

This is a bug.

Ok, thanks! It's very unfortunate that COM_RESET_CONNECTION clears prepared statements. I wish they would offer a reset that keeps the statement cache.

Fixed in v0.32.1


Add scheduled delete

Yeah, I got confused with the timers really, couldn't decide on a polling interval, probably simpler than tracking tasks though.
Thoughts? I guess the memo can hold the time, so we just check that in the timer?

OK, ready for review again. That last comment opened a whole can of (quite useful!) worms.


Speed up SWS Track Notes

Fixes #1614
Calling GuidToTrack in for-loops made some operations painfully slow, e.g. "cfillion_Duplicate tracks (preserving SWS track notes).lua".
I made track-to-tracknotes lookups much faster by just comparing project pointers and guids, which is sufficient to globally identify any track.
Duplicating 256 tracks with notes:
Before:
GetSWSTrackNotes took 888 ms
Duplicate tracks took 41 ms
SetSWSTrackNotes took 4692 ms
The entire lua script took 5637 ms
Now:
GetSWSTrackNotes took: 1 ms
Duplicate tracks took: 53 ms
SetSWSTrackNotes took: 2 ms
The entire lua script took: 67 ms
It's barely even measureable in ms which made me worried that I screwed up something, but it seems to be working by my testing.

:white_check_mark: Build sws 974-master completed (commit https://github.com/reaper-oss/sws/commit/9ae76231ef by @Szapi)

Windows 64-bit

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x64.pdb
build/sws-<IP_ADDRESS>-Windows-x64-dev_tracknotes-9ae76231.exe

Windows 32-bit

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x86.pdb
build/sws-<IP_ADDRESS>-Windows-x86-dev_tracknotes-9ae76231.exe

macOS x86 64-bit

build/sws-<IP_ADDRESS>-Darwin-x86_64-dev_tracknotes-9ae76231.dmg

macOS x86 32-bit

build/sws-<IP_ADDRESS>-Darwin-i386-dev_tracknotes-9ae76231.dmg

macOS ARM 64-bit

build/sws-<IP_ADDRESS>-Darwin-arm64-dev_tracknotes-9ae76231.dmg

Linux x86 64-bit

build/sws-<IP_ADDRESS>-Linux-x86_64-dev_tracknotes-9ae76231.tar.xz

Linux x86 32-bit

build/sws-<IP_ADDRESS>-Linux-i686-dev_tracknotes-9ae76231.tar.xz

Linux ARM 64-bit

build/sws-<IP_ADDRESS>-Linux-aarch64-dev_tracknotes-9ae76231.tar.xz

Linux ARM 32-bit

build/sws-<IP_ADDRESS>-Linux-armv7l-dev_tracknotes-9ae76231.tar.xz


Add license header to golang files

Description
This PR adds a linting check to ensure a consistent license header is present in golang files, and adds it to all files.
@reviewers Probably the biggest PR ever, but an easy one. Either yes, or no :)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[X] Checking the outcome of golangci-lint

/test

/rebase test=true

/test

/merge


SQLite unable to open database file

Behaviour
Container crash at startup because it can't access/find/create the sqlite file
Steps to reproduce this issue

docker-compose up

Expected behaviour
The container should not crash at startup
Actual behaviour
The Container crash at startup because it can't access/find/create the sqlite file
Configuration

Docker version: Docker version 19.03.2, build 6a30dfca03
Docker compose version: docker-compose version 1.24.1, build 4667896
Platform: Debian 9
docker-compose.yml:

  firefox-sync:
    container_name: firefox-sync
    environment:
      - TZ=${TZ}
      - FF_SYNCSERVER_PUBLIC_URL=${FF_SYNCSERVER_PUBLIC_URL}
      - FF_SYNCSERVER_SECRET=${FF_SYNCSERVER_SECRET}
      - FF_SYNCSERVER_ALLOW_NEW_USERS=${FF_SYNCSERVER_ALLOW_NEW_USERS}
      - FF_SYNCSERVER_FORCE_WSGI_ENVIRON=true
    hostname: ${DOCKERHOSTNAME}
    image: crazymax/firefox-syncserver
    logging:
      driver: json-file
      options:
        max-file: ${DOCKERLOGGING_MAXFILE}
        max-size: ${DOCKERLOGGING_MAXSIZE}
    ports:
      - ${FF_SYNCSERVER_PORT}:5000
    restart: unless-stopped
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ${DOCKERCONFDIR}/firefox-sync:/data

.env:

TZ=Europe/Paris
FF_SYNCSERVER_ALLOW_NEW_USERS=true
FF_SYNCSERVER_PORT=<IP_ADDRESS>:5000
FF_SYNCSERVER_PUBLIC_URL=not relevent
FF_SYNCSERVER_SECRET=not relevent
DOCKERCONFDIR=/home/zayon/.config/appdata

Docker info
Client:
 Debug Mode: false

Server:
 Containers: 9
  Running: 8
  Paused: 0
  Stopped: 1
 Images: 10
 Server Version: 19.03.2
 Storage Driver: devicemapper
  Pool Name: docker-9:3-1056766-pool
  Pool Blocksize: 65.54kB
  Base Device Size: 10.74GB
  Backing Filesystem: xfs
  Udev Sync Supported: true
  Data file: /dev/loop0
  Metadata file: /dev/loop1
  Data loop file: /var/lib/docker/devicemapper/devicemapper/data
  Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
  Data Space Used: 3.21GB
  Data Space Total: 107.4GB
  Data Space Available: 15.24GB
  Metadata Space Used: 21.92MB
  Metadata Space Total: 2.147GB
  Metadata Space Available: 2.126GB
  Thin Pool Minimum Free Space: 10.74GB
  Deferred Removal Enabled: true
  Deferred Deletion Enabled: true
  Deferred Deleted Device Count: 0
  Library Version: 1.02.137 (2016-11-30)
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.19.0-ovh-xxxx-std-ipv6-64
 Operating System: Debian GNU/Linux 9 (stretch)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.7GiB
 Name: ks-11.zayon.eu
 ID: ZUMQ:Y2AF:FT2N:SUWX:IARP:FUWA:3KLH:KRKY:HGCT:6K3U:EFPJ:OE7I
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release.
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

Logs
[ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 63, in load
    return self.load_pasteapp()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 59, in load_pasteapp
    return load_pasteapp(self.cfgurl, self.relpath, global_conf=None)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/pasterapp.py", line 69, in load_pasteapp
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj
    return context.create()
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 715, in create
    return self.object_type.invoke(self)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke
    return fix_call(context.object, context.global_conf, **context.local_conf)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/app/syncserver/__init__.py", line 265, in main
    config = get_configurator(global_config, **settings)
  File "/app/syncserver/__init__.py", line 257, in get_configurator
    config.include(includeme)
  File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
    c(configurator)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 561, in includeme
    storage = load_storage_from_settings("storage", settings)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 585, in load_storage_from_settings
    return klass(**section_settings)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/__init__.py", line 130, in __init__
    self.dbconnector = DBConnector(sqluri, **dbkwds)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 363, in __init__
    collections.create(self.engine, checkfirst=True)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/sql/schema.py", line 860, in create
    bind._run_visitor(ddl.SchemaGenerator, self, checkfirst=checkfirst)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2032, in _run_visitor
    with self._optional_conn_ctx_manager(connection) as conn:
  File "/usr/local/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2024, in _optional_conn_ctx_manager
    with self._contextual_connect() as conn:
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2226, in _contextual_connect
    self._wrap_pool_connect(self.pool.connect, None),
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2266, in _wrap_pool_connect
    e, dialect, self
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1536, in _handle_dbapi_exception_noconnection
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2262, in _wrap_pool_connect
    return fn()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 363, in connect
    return _ConnectionFairy._checkout(self)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 760, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
    rec = pool._do_get()
  File "/usr/local/lib/python2.7/site-packages/mozsvc/metrics.py", line 183, in timed_func
    return func(*args, **kwds)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 283, in _do_get
    return QueuePool._do_get(self)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/impl.py", line 139, in _do_get
    self._dec_overflow()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/impl.py", line 136, in _do_get
    return self._create_connection()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 437, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/pool/base.py", line 639, in __connect
    connection = pool._invoke_creator(self)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 453, in connect
    return self.dbapi.connect(*cargs, **cparams)
OperationalError: (sqlite3.OperationalError) unable to open database file
(Background on this error at: http://sqlalche.me/e/e3q8)

Hi @Zayon,
Since 1.8.0-RC10, this image runs as non-root user.
I should have added a note explaining how to upgrade.
In your case:
docker-compose stop
chown -R 1000:1000 ${DOCKERCONFDIR}/firefox-sync
docker-compose pull
docker-compose up -d

it works now, thanks.
It may be useful to be able to pass the PUID et PGID to the container as it may not be 1000:1000.


WIP: Update checker

This is a rough version of an update checker for pliers.
You provide a path of a csv file, and a graph spec. Optionally some stimuli, but if not provided uses a set of 100 CC0 public domain images I put together.
If the csv file doesn't exist, it is created and results are saved w/ a timestamp.
If it exists, the script looks for mismatches, appends the new data to the CSV and saves, and reports mismatches and extractors that have changed.
Not sure if you want this in pliers itself. If not, that's fine and I can move it to neuroscout. Might be interested in the stimuli for testing though.

Also, I considering using a sqlite database but I don't really see the advantage over a simple CSV for this purpose.

I'm very much a fan of having this in pliers, esp given the feedback we got at KDD

Cool. Do you think its necessary to have video stims to check against? The problem is that you can't apply a video graph to image stimuli. Is there a way to do this? If not, then I can implement a function that would strip a video graph from video-specific converters, and leave only the pure extractors.
The checker could then return the original graph nodes that require re-extraction (with converters and all)

Great, in the long run, it would also be used full to add video stims to the battery for Video Specific extractors.
IMO the ideal API for this function would be to
In the short term, an idea API for this function would be to give it a graph, and get back nodes of that graph that need to be rerun. If a node begins with a video converter (e.g. FrameSamplingConverter) that is not applicable to images (but is not necessary because the input is an image, and the next node requires images), it would ignore this node, and be able to test a "video" node against images.

I think we should definitely have video/audio/etc. stims to the battery. Also ok with merging this (once the logic is finished) for now and opening an issue to add those later.

Update checker is pretty much complete, although code is not super optimized.
Given an input graph such as:
{
  "roots": [
    {
      "transformer": "FrameSamplingConverter",
      "parameters": {
        "every": 200
      },
      "children": [
        {
          "transformer": "BrightnessExtractor"
        }
      ]
    },
    {
      "transformer": "VibranceExtractor"
    }
  ]
}

check_updates will run the Graph on 100 image stimuli. The graph is searched recursively for transformers that are not compatible with the stimuli. In this case FrameSamplingConverter is replaced by its child, which does match the input stimuli.
The results are saved in a CSV, with each column representing The result of an extractor for each stimuli, and rows being time stamps.
Next time this script is run, the new results are compared against the last time point in the csv file. If  there any any mismatches, they are compiled into a list (per stimuli, extractor combination). The set of extractors that has changed is them compiled, and the original Graph is filtered based on those extractors.
If "BrightnessExtractor" changed, the output would be something like:
{'changed_extractors': {'BrightnessExtractor'},
 'difference_graph': {'roots': [{'children': [{'transformer': 'BrightnessExtractor'}],
    'parameters': {'every': 200},
    'transformer': 'FrameSamplingConverter'}]},
 'mismatches': ['BrightnessExtractor.brightness.10283671495_c73418908c_z.jpg']}

It should be easy then to apply the difference_graph to get the new results on your data.

Probably want to change FrameSamplingConverter to its new location FrameSamplingFilter, we recently refactored this code.

@tyarkoni do you wanna take a look at this?

Tests would be nice (can just do the filter functions if check_updates is too heavy)

Oh yeah, meant to add that as well. We definitely need tests.

@tyarkoni I simplified check_updates to only take Extractors and look for a file in the homedir (unless a new file is passed). We can possibly add the Graph functionality back later, but we'll see if its necessary.
I added tests and they should be working, with a Dummy Extractor.

One minor comment but LGTM

Allright looks like this needs to also return the parameters that go along with the Extractor. So in that case, it should probably not take instantiated extractors and instead take names & params, and return the same.

I refactored this to 1) be able to handle filters and converters as well and 2) keep track of parameters, rather than just transformer name.
Now, the input is a list of tuples with transformer name and parameters such as:
[('SomeTransformerName', {'parameter1': 5})]

The updater instantiates these transformers & applies them to the stimuli. In the case of filters or transformers, it extracts the new stimuli and hashes their data (in the case of iterables, it updates this hash with every frame, for example). Results for are saved in CSV.
If anything changes, a mismatch is detected, and the original transformer input (with the parameters specified) is returned as a changed transformer.
Let me know what you think. I had to change the tests to edit the datastore instead of pass a dummy extract since this function instantiates the transformers for you from the main pliers library.

I also added __iter__ to CompoundStim, to iterate over elements.

@tyarkoni This is ready to merge as far as I'm concerned. Looks like the travis error was downloading related so maybe re-run the tests if you want to doube check, but they pass locally for me.


The RISC-V vector intrinsics v1.0 specification

This PR hopes to produce the main proportion of the intrinsics specification (excluding the appendix of full list of intrinsic prototypes and tuple types).
This PR still lacks of:

Introductions to the RVV intrinsics

[x] First draft
[ ] Polish / Refactor / Address reviews

Appendix for full list of intrinsic prototypes

[ ] Modify Python script generator

Forced-push change: Add email in commits
Added latest commit to split explanation for naming scheme and the control to vector programming model as individual sections.


Is it possible to import the project int android Studio and compile using NDK?

I was trying to import the project into android studio and work on it.
Getting lot of compilation issues on jni compilation.
Is it possible to do that?
Any constraints we have ?

Hi, I've just given this a whirl and managed to successfully open the Android Tensorflow Demo under Android Studio and build it from there. You'll still need Bazel for building the native libs, but you'll be able to get full Java support through Android Studio.
Some of these steps are shared with
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/README.md, so feel free to skip if you've already done them.
Instructions:
Download and install bazel 0.3.0 for your system: https://github.com/bazelbuild/bazel/releases
Download Android NDK r11c and unzip it somewhere:
osx: https://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip
linux: http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip
Clone repo:
git clone --recursive https://github.com/tensorflow/tensorflow/
cd tensorflow

now edit tensorflow/WORKSPACE to point to your NDK (SDK should be unnecessary).
Install Assets for Demo:
wget https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip -O /tmp/inception5h.zip
unzip /tmp/inception5h.zip -d tensorflow/examples/android/assets/

Build native libs:
CPU=armeabi-v7a
bazel build //tensorflow/examples/android:tensorflow_native_libs --crosstool_top=//external:android/crosstool --cpu=$CPU --host_crosstool_top=@bazel_tools//tools/cpp:toolchain

NATIVE_FOLDER=tensorflow/examples/android/libs/$CPU
andrewharp-macbookpro2:tensorflow andrewharp$ mkdir -p $NATIVE_FOLDER
andrewharp-macbookpro2:tensorflow andrewharp$ cp bazel-bin/tensorflow/examples/android/libtensorflow_demo.so $NATIVE_FOLDER

Set up the Android Studio project:

Open tensorflow/examples/android as "Existing Gradle project" (it's not, but don't worry about that)
It will detect the AndroidManifest.xml, and ask you to configure. Do so.
Open "File/Project Structure"
click "Modules"
select the Android module
On the "sources" tab, make sure that res is a resource directory, and src is a source directory.
On the "Paths" tab, make sure that the paths are set to a directory you want to output to.

Build the APK
Under Build, click "Generate Signed APK"
With any luck, this should create a working APK! You'll need to re-run the "Build Native Libs" instructions any time you modify .cc or .h files, but you should be able to edit the Java code as you normally would for any other Android project.
In the future we may better support Android Studio with cmake support, so that some of these steps would be unnecessary.

Just to followup on this, there is now a build.gradle for the Android demo that will automate most of this if you just add the tensorflow/examples/android dir as an existing AS project. You'll still need to have Bazel installed, though.

@riless Seems to be a change/bug in Gradle 2.2: https://code.google.com/p/android/issues/detail?id=219732
A workaround may be to rewrite it as:
tasks.whenTaskAdded { task ->
    if (task.name == 'assembleDebug') {
        task.dependsOn 'copyNativelibs'
    }
}

copyNativeLibs (with Capital L)

Can anyone guide me? I want to take the scoreView result as recog.getTitle() in a texview.

@codeloverr It sounds like you just want to call view.setText(recog.getTitle()). But please direct general Android programming questions to StackOverflow, you'll find better support for that there.


Version bump to 1.5.0

Closes #183

Pull Request Test Coverage Report for Build 501

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 76.382%

Totals

Change from base Build 499:
0.0%

Covered Lines:
2694

Relevant Lines:
3527

💛  - Coveralls


Why does clearing a ByteBuf cause it to be reference collected?

Why does clearing a ByteBuf cause it to be reference collected?
In ByteBuffer, clearing allows me to reuse the same buffer by essentially resetting its index. I wish to do the same with Netty's ByteBuf.

@Jire - can you clarify what you are talking about when you say clearing a ByteBuf cause it to be reference collected?
ByteBuf.clear() does not release the ByteBuf.

@Scottmitch Sorry I am mistaken. I believe it is write/writeAndFlush that releases the buf, then my subsequent clear call throws ala ref count is 0 error.

Yes, retaining before write works. Code used here if anybody is interested: https://github.com/Jire/Acelta/blob/master/src/main/kotlin/com/acelta/net/Session.kt

Yes retaining will avoid getting an exception in this case. However make sure you understand the following:

lifetime of the content(), and the responsibility to release (and re-use) is clear. Checkout http://netty.io/wiki/reference-counted-objects.html.
If you clear the indexes before the buffer is actually written (the write operation is asynchronous) ... then your data will not actually be written. See ByteBuf.slice and ByteBuf.duplicate which will ensure the ByteBuf that is written will have its own indexes.


Correct Archives page layout

This is the correct way the archives page should look. Note the added heading at the top. This will be in Zeplin for reference as well.

Done 1a0a4edb9db22815841ae65e15ff5ed22ff0f534.


fpu with single/double precision - bugfix and extension

This is an continuative work of PR #1909 and is a suggestion to discuss the problem of two possible Cortex M7 variants: with single or with double precision fpu.

creating new core name Cortex_M7F_DP for targets with a double precision fpu
adding new core name to arm.py to set compiler/linker flags to a double precision fpu when configured in target.json; current state: every Cortex_M7F is configured with single precision fpu
up to now: gcc wrote flag for a double precision fpu -> target with STM32F746 crashes when using double variables - mcu has only single precision fpu
-changing gcc.py to use single precision for Cortex-M7F und double precision for Cortex_M7F_DP
tested with NUCLEO_F746, NUCLEO_F767 and build.py+make.py and exporting with project.py + compiling/flashing

I think this PR to be merged is highly critical before release of the next mbed version. Else STM32F746G Discovery will surely break!

The addition is simple. We can see there's duplication of the core attributes as the only addition to the M7F is different FPU. I would propose to go with this for the upcoming release, but consider adding fpu attribute to the targets. It would be applied only if a core contains F (M4F or M7F). If anyone agree with this, we could create an issue for this change.

@mbed-bot: TEST
HOST_OSES=windows
BUILD_TOOLCHAINS=ARM,GCC_ARM,IAR
TARGETS=ALL

To remove all redundancy we could change the possible options for core in target.json to
"core" : "Cortex-M0", "Cortex-M0+", "Cortex-M1", "Cortex-M3", "Cortex-M4", "Cortex-M7", "Cortex-A9"
and add
"fpu" : "none", "SP", "DP" with none as default.

To remove all redundancy we could change the possible options for core in target.json to
"core" : "Cortex-M0", "Cortex-M0+", "Cortex-M1", "Cortex-M3", "Cortex-M4", "Cortex-M7", "Cortex-A9"
and add
"fpu" : "none", "SP", "DP" with none as default.

Yes, something like that. I would be more explicit: none, single, double for fpu.

When you agree, I would change it in this PR.

Yes please lets do it. The test results are fine for M7 targets

Let me know once done, and if it can be done within today, to make it to the release :-)

I'll prepare it immediatly.

@0xc0170 its done:

removing redundancy as discussed above:

in target.json the core option can have only this values : "Cortex-M0", "Cortex-M0+", "Cortex-M1", "Cortex-M3", "Cortex-M4", "Cortex-M7", "Cortex-A9" - Cortex-M4F and Cortex-M7F are removed

in target.json an additional fpu option with values: "single" and "double" can be used

build and export scripts are changed to handle this

tested (compiling, running on hardware) with nucleo_f767 (cortex-m7 with double precision fpu), disco_f746 (cortex-m7 with single precision fpu), nucleo_f446 and nucleo_l476 (cortex-m4 with single precision fpu), teensy31 (cortex-m4 without fpu - only build test), nucleo_l152 (cortex-m3) and
nucleo_l073 (cortex-m0+)

singletest results are added

nucleo_f767.zip
disco_f746.zip
nucleo_f446.zip
nucleo_l476.zip
nucleo_l152.zip
nucleo_l073.zip

master branch got two new cortex-m4f targets -> travis build failed because cortex-4f doesn't exist any longer

cc @c1728p9 @sg- please review

@mbed-bot: TEST
HOST_OSES=windows
BUILD_TOOLCHAINS=ARM,GCC_ARM,IAR
TARGETS=ALL

LGTM, +1.


problems with ng build --prod

when i try to run the command ng build --prod
the terminal shows messages like Property 'SearchText' doesn't exist on Type Component...
this is my html
<input   [(ngModel)]="searchText">

...

sorry, i had not declared searchText in Component.


🐛 [firebase_auth] getIdTokenResult() not returning anything

Bug report
Describe the bug
When I call FirebaseAuth FirebaseAuth.instance.currentUser.getIdTokenResult(true); it returns nothing and keeps printng :
[connection] nw_resolver_start_query_timer_block_invoke [C305] Query fired: did not receive all answers in time for securetoken.googleapis.com:443
[connection] nw_resolver_start_query_timer_block_invoke [C306] Query fired: did not receive all answers in time for securetoken.googleapis.com:443
[connection] nw_resolver_start_query_timer_block_invoke [C307] Query fired: did not receive all answers in time for securetoken.googleapis.com:443
[connection] nw_resolver_start_query_timer_block_invoke [C308] Query fired: did not receive all answers in time for securetoken.googleapis.com:443

Hi @jakcal
I'm not seeing this on firebase_auth: ^1.0.3

flutter doctor -v
[√] Flutter (Channel master, 2.1.0-13.0.pre.574, on Microsoft Windows [Version 10.0.19041.867], locale et-EE)
    • Flutter version 2.1.0-13.0.pre.574 at C:\Development\flutter_master
    • Framework revision 02efffc134 (2 days ago), 2021-04-10 03:49:01 -0400
    • Engine revision 8863afff16
    • Dart version 2.13.0 (build 2.13.0-222.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119
    • Flutter plugin version 55.0.1
    • Dart plugin version 201.9335
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
    • IntelliJ at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\211.6693.111
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (4 available)
    • SM G950F (mobile) • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.867]
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 89.0.4389.114
    • Edge (web)        • edge               • web-javascript • Microsoft Edge 89.0.774.63

! Doctor found issues in 1 category.

Does the issue persist on the latest version?
Could you please provide your flutter doctor -v and flutter pub deps -- --style=compact?
Thank you


Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0) when running as FreeRTOS task

When I run the example task as single application, then it works fine, but when I start it together with other tasks (e.g. MQTT) then it resets with the following message.
Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0)
I (881) count_task: RAM left 185768,
 nvs_main_th: 1384,
 server_task_th: 1304,
 server_handle_task_th: 2384,
 count_task_th: 1148,
 mb_master_main_th: 18900,
 mb_slave_main_th: 2864,
 mqtt_ssl_main_th: 1148
I (881) uart: queue free spaces: 20
I (881) main: Start MQTT SSL
I (901) SLAVE_TEST: Modbus slave stack initialized.
I (911) SLAVE_TEST: Start modbus test...
I (921) MQTTS_EXAMPLE: [APP] Startup..
I (921) MQTTS_EXAMPLE: [APP] Free memory: 165916 bytes
I (931) MQTTS_EXAMPLE: [APP] IDF version: v4.4.2
I (931) MQTTS_EXAMPLE: [APP] Free memory: 165876 bytes
I (941) MQTTS_EXAMPLE: Other event id:7
E (941) esp-tls: couldn't get hostname for :mqtt.energy.uray.io: getaddrinfo() returns 202, addrinfo=0x0
E (951) esp-tls: Failed to open new connection
E (961) TRANSPORT_BASE: Failed to open a new connection
E (961) MQTT_CLIENT: Error transport connect
I (971) MQTTS_EXAMPLE: MQTT_EVENT_ERROR
I (971) MQTTS_EXAMPLE: Last error code reported from esp-tls: 0x8001
I (981) MQTTS_EXAMPLE: Last tls stack error number: 0x0
I (991) MQTTS_EXAMPLE: Last captured errno : 0 (Success)
I (991) MQTTS_EXAMPLE: MQTT_EVENT_DISCONNECTED
E (1181) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_base.cpp', line: 114, function: esp_err_t PL::ModbusBase::ReadFrame(PL::Stream&, uint8_t&, PL::ModbusFunctionCode&, size_t&, uint16_t&)
E (1191) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_client.cpp', line: 305, function:
esp_err_t PL::ModbusClient::Command(PL::ModbusFunctionCode, size_t, size_t&, PL::ModbusException*)
E (1211) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_client.cpp', line: 373, function:
esp_err_t PL::ModbusClient::ReadRegisters(PL::ModbusFunctionCode, uint16_t, uint16_t, uint16_t*, PL::ModbusException*)
Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0).

Core  0 register dump:
PC      : 0x401697da  PS      : 0x00060c34  A0      : 0x800d3b99  A1      : 0x3ffbbae0
0x401697da: esp_pm_impl_waiti at C:/Users/Michael.Uray/esp/esp-idf/components/esp_pm/pm_impl.c:839

A2      : 0x00000000  A3      : 0x00000001  A4      : 0x00000001  A5      : 0x80000001
A6      : 0x3ffb3ba0  A7      : 0x3ffb3ba0  A8      : 0x800eb5a2  A9      : 0x3ffbbab0
A10     : 0x00000000  A11     : 0x40001d48  A12     : 0x00060720  A13     : 0x00060723
A14     : 0x00000001  A15     : 0x00000001  SAR     : 0x0000001e  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000

Backtrace:0x401697d7:0x3ffbbae00x400d3b96:0x3ffbbb00 0x4008adb9:0x3ffbbb20 0x4008c9a5:0x3ffbbb40
0x401697d7: cpu_ll_waiti at C:/Users/Michael.Uray/esp/esp-idf/components/hal/esp32/include/hal/cpu_ll.h:183
 (inlined by) esp_pm_impl_waiti at C:/Users/Michael.Uray/esp/esp-idf/components/esp_pm/pm_impl.c:837

0x400d3b96: esp_vApplicationIdleHook at C:/Users/Michael.Uray/esp/esp-idf/components/esp_system/freertos_hooks.c:63

0x4008adb9: prvIdleTask at C:/Users/Michael.Uray/esp/esp-idf/components/freertos/tasks.c:3973 (discriminator 1)

0x4008c9a5: vPortTaskWrapper at C:/Users/Michael.Uray/esp/esp-idf/components/freertos/port/xtensa/port.c:131

ELF file SHA256: d6bff7793b423126

Rebooting...

Sometimes it also reports the following message before a reboot:
Guru Meditation Error: Core  0 panic'ed (InstructionFetchError). Exception was unhandled.
I (881) count_task: starting task
I (881) count_task: RAM left 185768,
 nvs_main_th: 1384,
 server_task_th: 1304,
 server_handle_task_th: 2384,
 count_task_th: 1068,
 mb_master_main_th: 18900,
 mb_slave_main_th: 2864,
 mqtt_ssl_main_th: 1068
I (881) uart: queue free spaces: 20
I (881) main: Start MQTT SSL
I (911) SLAVE_TEST: Modbus slave stack initialized.
I (911) SLAVE_TEST: Start modbus test...
I (921) MQTTS_EXAMPLE: [APP] Startup..
I (921) MQTTS_EXAMPLE: [APP] Free memory: 165916 bytes
I (931) MQTTS_EXAMPLE: [APP] IDF version: v4.4.2
I (931) MQTTS_EXAMPLE: [APP] Free memory: 165876 bytes
I (941) MQTTS_EXAMPLE: Other event id:7
E (951) esp-tls: couldn't get hostname for :mqtt.energy.uray.io: getaddrinfo() returns 202, addrinfo=0x0
E (951) esp-tls: Failed to open new connection
E (961) TRANSPORT_BASE: Failed to open a new connection
E (971) MQTT_CLIENT: Error transport connect
I (971) MQTTS_EXAMPLE: MQTT_EVENT_ERROR
I (981) MQTTS_EXAMPLE: Last error code reported from esp-tls: 0x8001
I (981) MQTTS_EXAMPLE: Last tls stack error number: 0x0
I (991) MQTTS_EXAMPLE: Last captured errno : 0 (Success)
I (991) MQTTS_EXAMPLE: MQTT_EVENT_DISCONNECTED
E (1181) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_base.cpp', line: 114, function: esp_err_t PL::ModbusBase::ReadFrame(PL::Stream&, uint8_t&, PL::ModbusFunctionCode&, size_t&, uint16_t&)
E (1191) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_client.cpp', line: 305, function:
esp_err_t PL::ModbusClient::Command(PL::ModbusFunctionCode, size_t, size_t&, PL::ModbusException*)
E (1211) PL_RETURN_ON_ERROR: 0x107 (ESP_ERR_TIMEOUT), file: './components/modbus-esp-cpp/pl_modbus_client.cpp', line: 373, function:
esp_err_t PL::ModbusClient::ReadRegisters(PL::ModbusFunctionCode, uint16_t, uint16_t, uint16_t*, PL::ModbusException*)
Guru Meditation Error: Core  0 panic'ed (InstructionFetchError). Exception was unhandled.

I have tried to start four just very simple tasks, but then it does not happen, for example like this:
void task4(void *pvParameters)
{
  ESP_LOGI("TASK4:", "Start");
  while (1)
  {
    ESP_LOGI("TASK4:", "Loop");
    vTaskDelay(100 / portTICK_PERIOD_MS);
  }
}

extern "C" void app_main(void)
{
  ESP_LOGI("Main:", "Start");
  xTaskCreate(&task1, "task1", 4000, NULL, 9, NULL);
  xTaskCreate(&task2, "task2", 4000, NULL, 9, NULL);
  xTaskCreate(&task3, "task3", 4000, NULL, 9, NULL);
  xTaskCreate(&task4, "task4", 4000, NULL, 9, NULL);

  xTaskCreate(&mb_server_main, "mb_server_main", 4000, NULL, 9, NULL);
}

But if I start more complex tasks like this, then this problem occurs.
void app_main()
{
  const static char *TAG = "main";

  esp_err_t err = nvs_flash_init();
  if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND)
  {
    ESP_ERROR_CHECK(nvs_flash_erase());
    err = nvs_flash_init();
  }
  ESP_ERROR_CHECK(err);

  wifi_app_main();

  led_setup();
  ws_server_start();

  xTaskCreate(&nvs_main, "nvs_main", 3000, NULL, 9, &nvs_main_th);
  xTaskCreate(&server_task, "server_task", 3000, NULL, 9, &server_task_th);
  xTaskCreate(&server_handle_task, "server_handle_task", 4000, NULL, 6, &server_handle_task_th);
  xTaskCreate(&count_task, "count_task", 3000, NULL, 2, &count_task_th);
  xTaskCreate(&mb_master_main, "mb_master_main", 20000, NULL, 9, &mb_master_main_th);
  xTaskCreate(&mb_slave_main, "mb_slave_main", 3500, NULL, 9, &mb_slave_main_th);
  xTaskCreate(&mqtt_ssl_main, "mqtt_ssl_main", 1024 * 8, NULL, 9, &mqtt_ssl_main_th);
}

Even mqtt_ssl_main() and mb_master_main() causes this problem, but also mb_master_main() together with some other tasks.
What could casue this problem?

Can you please show the tasks' code?

You mean the call of the taks?
I have also attached the full code in the zip file.
void app_main()
{
  const static char *TAG = "main";

//  rtc_wdt_protect_off();
//  rtc_wdt_disable();

  // Initialize NVS
  esp_err_t err = nvs_flash_init();
  if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND)
  {
    // NVS partition was truncated and needs to be erased
    // Retry nvs_flash_init
    ESP_ERROR_CHECK(nvs_flash_erase());
    err = nvs_flash_init();
  }
  ESP_ERROR_CHECK(err);

  wifi_app_main();

  led_setup();
  ws_server_start();

  xTaskCreate(&nvs_main, "nvs_main", 6000, NULL, 9, &nvs_main_th);
  xTaskCreate(&server_task, "server_task", 6000, NULL, 9, &server_task_th);
  xTaskCreate(&server_handle_task, "server_handle_task", 8000, NULL, 6, &server_handle_task_th);
  xTaskCreate(&count_task, "count_task", 6000, NULL, 9, &count_task_th);

  xTaskCreate(&mb_master_main, "mb_master_main", 8000, NULL, 9, &mb_master_main_th);
  xTaskCreate(&mb_slave_main, "mb_slave_main", 8000, NULL, 9, &mb_slave_main_th);

  vTaskDelay(10000 / portTICK_PERIOD_MS);

  ESP_LOGI(TAG, "Start MQTT SSL");
  xTaskCreate(&mqtt_ssl_main, "mqtt_ssl_main", 1024 * 12, NULL, 9, &mqtt_ssl_main_th);
}

GK_PV.zip

I have attached the full project there.
The relevant file ist mb_master.cpp and mqtt_ssl.c.
GK_PV.zip

For now it does not seem to me that the problem is with the library itself. Since you are using many tasks with a lot of memory reserved for them it might be anything from wrong task priorities to memory corruption (according to errors that you get). Please do some more debugging and write if you are sure that the problem is directly connected to the library functionality.

You have two global variables named "client" (in mb_master.cpp and in mqtt_ssl.c).
Make them local or rename them or do something else to make sure that they do not interfere with each other.

Oh boy, you are absolutely right, this was causing the problem.
I was looking for days for this issue, but I did not figure it out, thank you very much for your help!
I understand now, that I have to declare it as static, if I want to limit the scope to the file.
But why doesn't the compiler throw an error, if I declare the same variable in two files with different data types?

I don't know why there is no error. I don't have much experience in mixing C and C++ in one program, but maybe it has something to do with this.

It looks as if the behavior is undefined, if a declaration is done like that withour static in each file.
https://stackoverflow.com/questions/74412226/how-throw-a-gcc-error-if-a-global-variable-with-the-same-name-gets-declared-twi

https://stackoverflow.com/questions/74412226/how-throw-a-gcc-error-if-a-global-variable-with-the-same-name-gets-declared-twi

The solution is to add -fno-common as a compiler option, which was not default prior to GCC 10.
This would raise an error from the compiler in such a situation.
The current ESP IDF Version 4.4.2 / toolchain uses GCC 8.4 which has this option not as default.
Add this option to CMakeLists.txt:
idf_build_set_property(COMPILE_OPTIONS "-fno-common" APPEND)


Add socket receive timeout when idle

Currently the timeout is :infinity and cannot be configured. Since socket is always in passive mode this is OK for operations in client process, not OK for handshake which is connection process and it's actually not OK for ping because it's in connection process too.
Note it'd be an option on MyXQL.start_link, similar to Postgrex and Mariaex.
@josevalim @fishcakez should we mirror Postgrex in calling this :timeout? We have the following there:

:timeout - Socket receive timeout when idle in milliseconds (default: 15000);

FWIW Mariaex has:

:timeout - Connect timeout in milliseconds (default: 15000);

Or maybe we should have something more explicit like :idle_timeout (not to be confused with :idle_interval from dbconnection!)

For ping_timeout I think it makes sense to implement this in dbconnection as this is issue faced by all drivers, it can work like after connect.

@fishcakez sounds good.
Btw, do you think we should have a connect_timeout in DBConnection too? A caveat is Postgrex already has this option and it means a slightly different thing (socket connect timeout) and it has a handshake_timeout too, so we'd be replacing a fine grained timeouts with one coarse grained one.


Added support for emitter on and off feature and the intrinsics not i…

…n the calibration table.

I'm looking forward to this feature.

@honpong - the software part is mostly complete thanks to @daversintel but the firmware still needs to pass several steps. But we are working on it and hopefully this will be available soon

@dorodnic , I have already used a local patch and local FW that is working in Mac now.
Looking forward to the IMU supports on Windows and later Mac. thanks.


Package Problem in Java

Package problems in java:

Please fix it. This app is very good but this is a very big problem.

It didn't work i tried.

For multi-file programs, use javac command in the terminal to compile manually.

It didn't work i tried.

@bummoblizard
Can you give us the set of commands is needed to do that

This still does not work, not even using javac. Tried everything at this point, please fix this.


Building data address corrections

Following Dariya review.
https://docs.google.com/spreadsheets/d/1S3ftokz4nCtDrrEmpBPLNyr5fnd0YlbnjasbCqZTiHI/edit#gid=1932132457
These will need to be updated in CARTO, and then I should check with Mike to see if he needs to update these upstream somewhere. Otherwise, I could imagine the same errors might come back with every update

Is this still relevant? Or maybe replaced by #87 ?

Still relevant. There's still one item to do here, and that's on this line:
https://docs.google.com/spreadsheets/d/1S3ftokz4nCtDrrEmpBPLNyr5fnd0YlbnjasbCqZTiHI/edit#gid=1932132457&range=12:12
But I'm waiting for the final data to be all merged and ready to go on CARTO before I make that change.
I do need to also email Mike with that same info, which I will do right now.

Emailed this to Mike 12/1

This has been changed in the latest 2022 data, and I'm not sure if we should update it for years 2017-2021 as well.
I'm going to guess no, and close this as complete


(master check) don't merge

@pdfjsbot test

"Cannot allocate memory" ... that's new
@pdfjsbot test

#767 passed. Running here again just to double check it's b/c of workers:
@pdfjdbot test


Update gems with bummr

Coverage remained the same at 99.366% when pulling 792ac1fda7d547d54bf27180a20739a563ec7c59 on update-gems into 20ffab21ce85caab649e16a46c089fc434b9c544 on master.


what globalpooling did you use

Hello.  What pooling did you use at the end of resnet?  Did you use globalaveragepooling or globalmaxpooling?

local feature: max
global feature: average

@michuanhaohao  thanks!

@michuanhaohao
thanks!


code optimize for config/config.go

before
In config/config.go, the data tranfered between func#LoadFile and func#Load is type converted unnecessary, ie:
line 61:    cfg, err := Load(string(content))   // []byte -> string
line 47:    err := yaml.UnmarshalStrict([]byte(s), cfg)     //string -> []byte

Can we optimize these code as this PR?
after
refer the commit in this PR

What you're proposing is different, it would no longer make a copy of the default config.

hi, @brian-brazil ,  I just update the pr before seeing your reply. Would you help check again?
thanks.

How much of a difference would this make? Reloading configs happens rarely.

Yes, you are right. In the view of performance,  there is nearly no difference.
But on the side of pursuit of perfection for coding, this might be better.

We have looked at this during our bug scrub and decided not to merge this PR as the performance gain is close to zero.


problem of pretrained models

I tested the pretrained models ,such as mob2-all.h5 or mobnet-model-0.9517.hdf5. using  mobile  device recording data with very low accuracy. Why ?  Were the train data set included augment data when training these models ?

@OrangeBaoWang hello, it looks like you are using mob2, which is a pretrained model for task-1b (3 classes).
which dataset you were testing for facing this condition? (e.g., 1-a or 1-b)

The test dataset is recorded by myself using mobile device.Any way, Were the train data set included augment data when training mob2 models ?

@OrangeBaoWang The acoustic classification task is often device and label-depend. It is hard to justify the transferability over different datasets. For the provided mobnet trained on task 1-b, please refer to the detail in section 5.4 of our DECASE paper.
https://arxiv.org/pdf/2007.08389.pdf


[TVMC] Fix PyTorch support

A PyTorch model could not be compiled through tvmc because the shape
of the input tensor could not be deduced from the model after it has been
saved. We've added an --input-shape parameter to tvmc compile and
tvmc tune that allows the inputs to be specified for PyTorch models.

cc @leandron @u99127

cc @leandron @u99127

Include the functionalities in #7366.

Include the functionalities in #7366.


Fixed a typo in word container

I signed it

I signed it

/check-cla

I signed it

/kind  cleanup

/close

/reopen

Hi @adriancuadrado .
All contributors need a valid CLA? Have you checked if your credentials match?

@kbhawkey I am trying to sign the contributor license agreement again because I am not sure I did back then, but I am having trouble resending the CLA email:
https://identity.linuxfoundation.org/projects/cncf

Once I click the "Send message" button this happens:

How do I contact the site administrator?

You can see in the green rectangle a message stating that A Contributor License Agreement has been sent to my email address, but I have nothing in my inbox.

Besides, in the "Edit" tab I can confirm that my email is correct and the same used in all my commits:

According to this I logged in with my GitHub account, I don't understand what the problem could be:

Hey there! @adriancuadrado, looks like you haven't signed the CLA yet. Could I please have you do that? https://github.com/kubernetes/community/blob/master/CLA.md

Hey there! @adriancuadrado, looks like you haven't signed the CLA yet. Could I please have you do that? https://github.com/kubernetes/community/blob/master/CLA.md

@jimangel I tried following the instructions from that link.

I click in the individual signup link here:

Then I press this link:

I press the "Log in with Github" button (even though I already have sign up):

I enter my credentials...

And then I get this "Access denied" screen, which I guess is because I laready signed up with my github account earlier:

When I return to the screen in step 2, I see this:

When I check my inbox, I see no email there (not even in the spam folder) so I can't sign the CLA.

Hi @adriancuadrado .
I suggest you reach out to CNCF about the CLA.
I plan on closing this PR. You can reopen this PR at any time or open a new PR.
/close


diffbased refactor

Here's a breakdown of the PR:

Splitting Bonsai: The PR aims to divide Bonsai into two packages

Common Classes with a Prefix: The common part will include classes prefixed with "DiffBased." These classes are designed to provide a base for both Bonsai and any future storage format that might use this diff-based approach.

Bonsai's Specifics: Bonsai will retain its unique features in its own package. This means that while it shares the diff-based infrastructure with the common part, it also has its own specific functionalities that are not shared with other storage format.

Extension to Verkle: this modification add the possibility of adding "Verkle" as a new storage format based on the diff-based architecture. Like Bonsai, Verkle would use the common diff-based classes but also have its own specific features.

In summary, the pull request proposes restructuring Bonsai to make it more modular and efficient. This not only improves data management within Bonsai but also sets the stage for incorporating new format like Verkle, which can share the common base while having their unique functionalities.
Thanks for sending a pull request! Have you done the following?

[ ] Checked out our contribution guidelines?
[ ] Considered documentation and added the doc-change-required label to this PR if updates are required.
[ ] Considered the changelog and included an update if required.
[ ] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Most advanced CI tests are deferred until PR approval, but you could:

[ ] locally run all unit tests via: ./gradlew build
[ ] locally run all acceptance tests via: ./gradlew acceptanceTest
[ ] locally run all integration tests via: ./gradlew integrationTest
[ ] locally run all reference tests via: ./gradlew ethereum:referenceTests:referenceTests

PR description
Fixed Issue(s)

lgtm in general, I've been following this changes pretty closely with the verkle work. Maybe getting some else to look at this refactor would be good too. I like the refactor but I was trying to find a better name for the DiffBase classes. Seems to be the eternal struggle of engineers .

Yes I had a lot of difficulties to find Diffbased ^^ it was the less strange name I found


initial pass at source config tests w/o overrides

resolves #3662
Description
This draft just has the first pass at new tests we would want to add.  It does not include anything for overrides.  Most tests will fail and are marked as such.
I'm looking for feedback on

Is the expected new behavior?
Are there any missing tests?

Checklist

[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have added information about my change to be included in the CHANGELOG.

Closing in favor of #5003


check values are an instance of UnitRegistry

Prior to creating an instance of a Block(), the constructor should check whether dictionary values to be added in the self.values attribute are of type int or float, or an instance of pint's UnitRegistry().
e.g.,
model['Requirement'].add_block(value={'missionDuration': 5*ureg('year')})

Resolved by checking value has attribute 'unit'. See element.py#L83)


Missing stroke with Shape.Polygon

Seems like there is an issue with the stroke rendering when there are vertical or horizontal lines in Shape.Polygon. This seems to happen only when stroke weight is 1.
For example, this code:
    val testPolygon = Shape
      .Polygon(
        Batch(Point(0, 0), Point(64, 32), Point(64, 64), Point(0, 32)
        ),
        Fill.Color(RGBA.SlateGray),
        Stroke.apply(1, RGBA.White)
      ).moveTo(10, 10)

    val testPolygon2 = Shape
      .Polygon(
        Batch(Point(0, 0), Point(0, 64), Point(64, 64), Point(64, 0)
        ),
        Fill.Color(RGBA.SlateGray),
        Stroke.apply(1, RGBA.White)
      ).moveTo(100, 10)

    Outcome(
      SceneUpdateFragment(
        testPolygon, testPolygon2
      )
    )

produces this:

This turned out to be two things:

The old bug of 1px stroke sitting perfectly on a line. (I hadn't applied it to polygon...)
The bounds calculation not giving enough room for the border and cutting it off.

Notice the perfectly square one is still imperfect (bottom right corner), but it's a lot better. However, there will always be rounding issues with polygons / shapes and pixel art, so I'm not too concerned. We have a box shape for perfect boxes for exactly this reason! 😄


Release GIL when calling C++ params functions

Run updater continuously:
import psutil

from selfdrive.updated import init_overlay, finalize_update

# Set low io priority (doesn't seem to affect the results much, but match updated)
proc = psutil.Process()
proc.ionice(psutil.IOPRIO_CLASS_BE, value=7)

init_overlay()
while True:
  finalize_update()

Try writing to params in the background. Observe this loop runs slower than 10 Hz indicating the GIL is not released.
import time

from common.params import put_nonblocking
from common.realtime import set_realtime_priority

# set_realtime_priority(1)

t = time.time()
while True:
  dt = time.time() - t
  if dt > 0.2:
    print(dt)
  t = time.time()

  put_nonblocking("GitCommit", "abcdjkldsjflksfd")
  time.sleep(0.1)

Probably also the actual issue behind https://github.com/commaai/openpilot/issues/20675, although disabling the GC for paramsd was a good change as well.
Without these changes lags between 0.5 and 5 seconds are observed often. With the changes from this PR the situation is much better, but can still produce small lags (0.2-0.5) from time to time, not exactly sure yet where those come from. Pinning both scripts to a different core doesn't help.
By setting real time priority (even a very low one) this is fixed as well, but not sure if we want to do that for paramsd/locationd. Setting real time priority without the changes from this PR has no effect.

...
# Set low io priority (doesn't seem to affect the results much, but match updated)
proc = psutil.Process()
proc.ionice(psutil.IOPRIO_CLASS_BE, value=7)

The NEOS kernel has the IO schedulers removed which results in FIFO and ignores ionice. If I had to guess, running at realtime CPU priority probably plasters over the problem by making the kernel prioritize its IO to avoid priority inversion. It would be good to have the CFQ scheduler.

You can use a cgroup to throttle I/O


Add rtl support and Persian translation to mamte #185

refer to this issue I've put all my rtl css properties in custom.css but I don't know how to specialize this file just for Persian locale.
Any help?

I think e8a4056 should add a file called "rtl.css" (instead of naming it custom.css).
And the file should only be included whenever a RTL language is active - always including it means that you are switching English and German users also to RTL, whereas they are used to LTR :)

This is awesome contribution, great work, @khajavi!
I agree with @xdarklight, "custom.css" is supposed to be used by mamute users (not by developers) to make small ui changes. I think you should put your css in another file and include it to the html only if an rtf language is being used (maybe adding a feature toggle?)
Can you do it, @khajavi? This is an awesome contribution and it would be great to ship it to master :-)
(notice that you still need to fix the review I left for you at #212)


Support multiple remotes for projects to support forking workflow

Is your feature request related to a problem? Please describe.
It's not very common to work on git projects with a single remote; at the very least, a common flow is to have
origin: <your fork>
upstream: <upstream fork>

but it's further useful to add close collaborators' forks as remotes in your local copy as well.
It would be useful if the devfile supported assigning multiple remotes to a project.
Describe the solution you'd like
Option 1
Add remotes section
spec:
  projects:
    - name: project
      git:
        location: "https://github.com/amisevsk/web-nodejs-sample.git"
      remotes:
        upstream: "https://github.com/che-samples/web-nodejs-sample.git"
        gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"

Option 2
Support multiple locations instead of a plain string:
spec:
  projects:
    - name: project
      git:
        location: # alt: 'remotes' ?
          origin: "https://github.com/amisevsk/web-nodejs-sample.git"
          upstream: "https://github.com/che-samples/web-nodejs-sample.git"
          gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"
        primary: origin # optional; defines which fork should be checked out from

Option 3
(added from https://github.com/devfile/kubernetes-api/issues/104#issuecomment-665045230 below)
spec:
  projects:
    - name: project
      git:
        branch: foo
           remote: upstream # optional, defaults to origin
        remotes:
          origin: "https://github.com/amisevsk/web-nodejs-sample.git"
          upstream: "https://github.com/che-samples/web-nodejs-sample.git"
          gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"

Additional context
Discussion in Eclipse Che issues: https://github.com/eclipse/che/issues/17449

Maybe something like:
spec:
  projects:
    - name: project
      git:
        branch: foo
           remote: upstream # optional, defaults to origin
        remotes:
          origin: "https://github.com/amisevsk/web-nodejs-sample.git"
          upstream: "https://github.com/che-samples/web-nodejs-sample.git"
          gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"

I like @metacosm proposal. @amisevsk wdyt?

:+1: LGTM

what happens when we fork a repository with a devfile in it ? looks like paths/remotes won't follow.
could we have an option to automatically grab the remotes when it's github ? because we know with github if a repo is a fork from another one, etc.
so I just need to have a very simple devfile in the main repo and all forks will have this info automatically provided for github ?

One feature that we currently use in Che is that project can be left blank, which is taken to mean "import the repository this devfile belongs to". This allows us to have one devfile that will work for all forks automatically (which I think is partly what @benoitf is getting at). I don't know if this belongs in the devfile spec or should be left to implementation, as it has the downside of making devfiles technically not standalone. For full context, Che will accept either a) a devfile.yaml that is used to create a workspace or b) a link to a git(hub) repo from which it'll search for a devfile and fill the project with the git repo linked.
If we want to include this functionality in the spec, of the three proposals above, it's is easiest to do with Option 1: we could treat .spec.projects[].git as optional, and fill this with the repo that contains the devfile.
If we want to leave this up to implementation, option 3 works well, as we could potentially have the semantic

If origin is not specified in the remotes, it is assumed to be the repo containing the devfile.

or something similar.

@metacosm If it a valid yaml?
spec:
  projects:
    - name: project
      git:
        init: # parameters that defined repository state after clonning
          branch: foo # optional, defaults to default branch
            remote: upstream # optional, defaults to origin

Some validators say no, some yes.
How it would look like in the JSON? Like the following?
{
   "spec": {
      "projects": [
         {
            "name": "project",
            "git": {
               "branch": "foo\nremote: upstream",
               "remotes": {
                  "origin": "https://github.com/amisevsk/web-nodejs-sample.git",
                  "upstream": "https://github.com/che-samples/web-nodejs-sample.git",
                  "gh-collaborator": "https://github.com/gh-collaborator/web-nodejs-sample.git"
               }
            }
         }
      ]
   }
}

@sleshchenko indeed, it might not be…
Something like, then:
spec:
  projects:
    - name: project
      git:
        init: # parameters that defined repository state after cloning
          branch: # optional, defaults to default branch
            name: foo # if a branch child is provided then a name for it must be provided as well
            remote: upstream # optional, defaults to origin

A little bit more verbose but more valid :)

I would set
remote: upstream # optional,
                             # defaults to origin if remotes are not specified or origin in the remotes list.
                             # otherwise ??? (could be the first remote or required)

Final format to discuss
spec:
  projects:
    - name: project
      git:
        init: # parameters that defined repository state after cloning
          branch: # optional, defaults to default branch
            name: foo # if a branch child is provided then a name for it must be provided as well
            remote: upstream # optional, defaults to origin
        remotes:
          origin: "https://github.com/amisevsk/web-nodejs-sample.git"
          upstream: "https://github.com/che-samples/web-nodejs-sample.git"
          gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"

^ update:
cloneFrom: #optional -> cloneFrom: # mandatory if there is more than one remote
cc @metacosm @l0rd @amisevsk

Git and github project source format is changed in the https://github.com/devfile/api/pull/120 to the following
projects:
  - name: project
    git:
      remotes:
        origin: "https://github.com/amisevsk/web-nodejs-sample.git"
        upstream: "https://github.com/che-samples/web-nodejs-sample.git"
        gh-collaborator: "https://github.com/gh-collaborator/web-nodejs-sample.git"
      checkoutFrom: # mandatory if there is more than one remote
        revision: foo # The revision that should be used checked out. May be branch name, tag or commit id.
                      # Default branch should be checked out if missing.
        remote: upstream # The remote name should be used as init. Required if there are more than one remote configured


Enhance the implementation for k range frame of window operator

Description
There are already some discussions before. cc @aditi-pandit

Support constant start/end value (preceding/following offset relative to current row value) and let velox compute the lower/upper bound value:
https://github.com/facebookincubator/velox/pull/7303#discussion_r1390740185
Frame bound search optimization:
https://github.com/facebookincubator/velox/pull/7303#discussion_r1392033603
Support types like date, timestamp, interval, etc.

@PHILO-HE Would you consider using ProjectNode before WindowNode to precompute these values?

@PHILO-HE Would you consider using ProjectNode before WindowNode to precompute these values?

@mbasmanova, yes, it is better to directly construct a ProjectNode before WindowNode. I will try to do that after @aditi-pandit's patch is merged. Thanks for your suggestion!


feat: Add sequence chart for runner (DQA-12)

 做循序圖, 流程圖

The flow chart will create another PR?

The flow chart will create another PR?

I forgot the flow chart, I will finish it in this PR.

Does somebody have a suggestion for flow chart? I don't know how to do it

Does somebody have a suggestion for flow chart? I don't know how to do it

@aiyu666 @dang113108 @wzmf399443

cli ->  parsing arg -> docker -> do something(export to google sheet or testrail ....)  ? xDD


Backport "bugfix: add moduleClass imported symbols in IndexedContext" to LTS

Backports #18620 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-18731.
Reference


added calendar ics function

A function to get an .ics file of all talks from an event.
By implementing it in the backend its more accessible than a client-side implementation, you can for example just type the URL directly in your calendar.
URL example: /talks/2024/ics

This is pretty nice.
It would be nice when the events routs provides this with all other data.
Then I would not make an other API call for that. :)

@freddylinux
You said that you would let @mgerhold implement this as response of my comment.
It would be nice if you would have a look at coders comments. :)

Hey @PurpurTentakel97 and @mgerhold!
Thanks for the comments / review. I could either update the code and implement your thoughts or you take my core ics function and integrate it the way you want.

Hey @PurpurTentakel97 and @mgerhold! Thanks for the comments / review. I could either update the code and implement your thoughts or you take my core ics function and integrate it the way you want.

 We're already grateful for your contribution :)
I just didn't want to take your work and change it by myself without your permission :)

@mgerhold Ahhh I see, no worries! Feel free to just use the function, it should be the easiest way to continue. You are welcome, happy to contribute! :)

Thanks again, @freddylinux. I will close this PR. Work will continue in #48.


replace items text by Image?

Hello. thank's for this great djob.
Is it possible to replace items text by Image?

Sorry, currently no. It's really hard to fill the image into the pie.


Problem with multi-word model names

Love the tool, HUGE time saver.
When generating a scaffold for a model with multiple words in the name (example "Email Message") the schema generation disagrees with Eloquent's standards for the table name. This examples creates a model called EmailMessage, and (without editing the migration) a table called emailmessages. Eloquent, by default expects the corresponding table to be snake case, so it expects email_messages.

never mind, this was addressed with pull #5, which apparently I did back in May. The only actual problem is that there hasn't been a new release since then. So installing without specifying a version will of course use 1.0.2, do get this camel case fix you need to explicitly use version dev-master.
example:
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1",
        "laralib/l5scaffold": "dev-master",
        "laracasts/generators": "^1.1"
    },

This was fixed in last version "dev-master"
tks


Databroker returns success when an incorrect value type for Datapoint is established

I attempted to set a DataEntry, 'Vehicle.Acceleration.Lateral', by assigning the DataPoint as an int64 instead of a float. Surprisingly, the Databroker accepted the value without raising any errors, returning success. It would be beneficial if the Databroker could provide with an invalid argument error in such cases.
Subsequently, when I invoked the get function, it returned an empty DataPoint, indicating that the value had not been updated despite the previous success response.

Please provide more information. What did you use. How does your code look like?

https://github.com/eclipse/kuksa.val/blob/c4091636418e34bd8f93b29f015da74c5f613a23/kuksa_databroker/databroker/src/broker.rs#L373
I think the check is here. Do not know why it gives success.

I found the reason, the enum Field variable must be initialized in the EntryUpdate request, otherwise the broker will just accept the request withouth checking whether value is valid or not.
Would it be convenient to return an error like "Please provide a valid enum Field in EntryUpdate"?

[```
// Describes a VSS entry
// When requesting an entry, the amount of information returned can
// be controlled by specifying either a View or a set of Fields.
Maybe yes, but it is not necessary I guess. @argerus what's your opinion?

Well, firstly I think this points to a usability issue with the current design of the API.
But if we want to make it "a little bit" better, returning an error when no fields are set seems logical.

We are about to archive this repo soon. If you consider this issue as important please file a new issue at one of the new Kuksa repos at https://github.com/eclipse-kuksa


Release process.

[ ] Mention tutorials update according to introduced features.

Moved to https://github.com/proofit404/python-library-template/issues/14


Keep profile tab when clicking on Language

Fixes https://codeberg.org/Codeberg/Community/issues/1355

This should be backportet


org.sonar.plugins.stash.exceptions.StashClientException: Unable to retrieve user userNAme. Received 404 with message Not Found.

I am getting the Error
org.sonar.plugins.stash.exceptions.StashClientException: Unable to retrieve user . Received 404 with message Not Found.

The same here with Stash 3.9.2.

I've found the reason with a help of -Dsonar.log.level=devel. @nvillard Haven't you accidentally provided Stash URL with "/" at the end?
In that case "https://stash.server.foo//rest/api/1.0/users/someuser" is called what results with 404 Not found.

Hello @aitvijay,
Did the workaround provide by @szpak has solved your issue?
Have you updated the Stash url setting to delete "/" at the end?
Cheers,
Antoine


Slow upload of files

Hello all,
I'm having a big difference between the iput / iget and metalnx-web commands.
When I upload a 1.5GB file via metalnx-web, the loading time is about 3minutes. When I use the iput command on the same file on the same resource from the same client, the time is 23 seconds. Is there a setting on metalnx-web that can explain this difference?
irods: 4.2.1
metalnx-web: <IP_ADDRESS> on CentOS 7
Thank's!
P.M.

HTTP upload is a whole different code path than put/get. There are some
stream optimizations that can be done in the code for sure, but it will
never be as fast as the command line or direct programmatic api
On Wed, Dec 13, 2017 at 8:34 AM, Patkm<EMAIL_ADDRESS>wrote:

Hello all,
I'm having a big difference between the iput / iget and metalnx-web
commands.
When I upload a 1.5GB file via metalnx-web, the loading time is about
3minutes. When I use the iput command on the same file on the same resource
from the same client, the time is 23 seconds. Is there a setting on
metalnx-web that can explain this difference?
irods: 4.2.1
metalnx-web: <IP_ADDRESS> on CentOS 7
Thank's!
P.M.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Metalnx/metalnx-web/issues/28, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABC-LVlrY18LzOuAwd-_oQhgJy6lkSFJks5s_9J3gaJpZM4RAjbt
.

Thank's michael,
I understand that the protocols used are different and that we must expect different performances.
I'm just a little surprised by the big gap: the ratio is about 1 to 9.
So I think metalnx-web can not be used to transfer large amounts of data but i note the possible optimizations in the future.
In fact i am looking for solutions to access iRODS from a mixed environment (windows linux and mac).
Have a good day!
P.M.

I'm working on MetaLnx over here https://github.com/DICE-UNC/metalnx-web
and talking with Steve about how the iRODS consortium is picking this up,
so it's in a bit of an in-between state right now!
As we go through this, I know that there is a 'packing' input and output
stream that does some buffer optimization for the iRODS protocol that can
see big improvements, and I'm going to make sure that's implemented in
metalnx. But even with optimizations there will always be advantages to
using native iRODS protocol over HTTP, that's true for any back end! So I
expect to get noticable improvements in streaming. Longer term they are
also working on 'chunk' transfers so files can be broken up.
We're also taking iDrop out of mothballs, which is a cross-platform
upload-download client that can do bulk transfers using direct iRODS
protocol including parallel transfer and then the new multipart transfer
when it is available.
Through the iRODS consortium we're spinning up a working group on folks
using interfaces (metalnx and iDrop,etc) and if there are ways to join
efforts that might help all of us!
MC
On Wed, Dec 13, 2017 at 9:02 AM, Patkm<EMAIL_ADDRESS>wrote:

Thank's michael,
I understand that the protocols used are different and that we must expect
different performances.
I'm just a little surprised by the big gap: the ratio is about 1 to 9.
So I think metalnx-web can not be used to transfer large amounts of data
but i note the possible optimizations in the future.
In fact i am looking for solutions to access iRODS from a mixed
environment (windows linux and mac).
Have a good day!
P.M.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Metalnx/metalnx-web/issues/28#issuecomment-351399589,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABC-Lc1ESsAL095SCyvmO26k45ikHfwZks5s_9jvgaJpZM4RAjbt
.

Thank you for this very encouraging message!
I hope I can contribute one way or another to this project.
P.M.

Will close this for now. There may be further transfer enhancements down the road, but the master branch now using packing streams.


add Contains Function

Reference: https://github.com/jreina/ShittyLINQ.js/issues/6

Hi, Made the required changes by removing the ternary operators. I think my editor has fixed some linting errors in other files. hope it is fine. else let me know so that i can remove the other files from my commit.

Looks good to me! Thank you for your contribution. Happy hacking 🎃


Grammar in release notes is improved

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.

Thanks for merging this. Note however that the changes should have been copied over in our document for release note polishing to make sure they are not lost.


[kitchen] Fix unicode error in kitchen.should-rerun-failed task

What does this PR do?
Fixes unicode decode error in kitchen.should-rerun-failed task
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe how to test your changes
Write here in detail how you have tested your changes
and instructions on how this should be tested in QA.
Checklist

[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] The need-change/operator and need-change/helm labels has been applied if applicable.
[ ] The config template has been updated if applicable.

Note: Adding GitHub labels is only possible for contributors with write access.

@albertvaka we hit this with Python 3.6, I think this wouldn't be a problem with 3.7 thanks to https://www.python.org/dev/peps/pep-0540/ and https://www.python.org/dev/peps/pep-0538/


Malformed XML format in CHEBI:16551

Hi,
it seems ChEBI writes broken XML files with sharp brackets unescaped (actually should be < and > , respectively), breaking the XML syntax:
Debug: File CHEBI:16551.xml
Traceback (most recent call last):
  File "blah.py", line 252, in parse_chebi_xml
    etree=ET.parse(filename)
  File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1229, in parse
    tree.parse(source, parser)
  File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 580, in parse
    self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 23, column 25

See the line 23 in the CHEBI:16551 entry.
With best regards,
Martin

Likewise CHEBI:90163


Request to improve the windows platform video playback, webview

1、In the windows platform, the playback video cannot be used, resulting in failure to meet business needs
2、In the windows platform, webview cannot be used, and jsbrige cannot be used, resulting in a lot of requirements that cannot be met and therefore have to abandon windows
@darshankawar  thanks

Hi @chongbo2013
The packages you mentioned do not support  windows platform
https://github.com/flutter/flutter/issues/37673
https://github.com/flutter/flutter/issues/37597
Closing as duplicate
Please follow up on that issue, I'm closing the current one as a duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank you


Can you help me ?

Thanks for share this good work, can you help me?
I set the iteration to be 15000 times and find that the training process is too slow.And the F1 score always be 0.7 percent . So can you help me with the training problems?
BTW, I find that your f1 depends on p and recall. But I found that others's work calculates it with acc and recall. May be I am wrong. So how can I get your score.And after how many epoch did you get the best score, so that I can set the iteration param.
I will appreciate for you help!

Hi @caoxu915683474 , which task do you want to train? NER? Generally set the iteration as 100 is enough, 15000 is way too much! If you trained your model on CoNLL 2003 English NER data, the F1=0.7 is too low, you need to check you input data.
The calculation of F1-score is based on precision and recall. Different implementations may have different name, but the equation should be same. You can refer https://en.wikipedia.org/wiki/F1_score for more information about F1-score.

Thanks for your quick answer , I just use the data that in your work. And thanks for the help with F1. So what I only do is clone your project and set the iteration as 15000 and run it without any change.

The provided data is a sample data. It does not contain the whole dataset in CoNLL03. You need to get the original full data and the embeddings to reproduce my result.

I think get_ner_BIO() in metric.py is wrong.
consider the example where label_list = [I-MISC, I-MISC, O, I-PER, I-PER, O, O, O, O, O I-ORG, O] according to current function the following will happen :
Since there is no tag involving B-, whole_tag and tag_index will always be [] and hence the output of the function is [] which is wrong?
I am unable to find CoNLL-2003 in BIOMES format, is it available from official CoNLL website? If not can you provide reference to convert BIOMES to BIO?

@jiesutd yes, sorry foolish of me
the above mentioned example is not even valid BIOES or BIO format so obviously get_ner_BIO() won't function the way it should be. forgive me for my noobness.
Thanks, I wrote a script to convert (what seems like IOB) to BIOES. I am a noob though and got to know about CoNLL few days back, I was wondering how you guys check if different versions (BIOES/BIO/IOB) data are correct, do you guys have an exhaustive set of tagged sequences on which you check your conversion scripts?
( P.S. please don't mind dumb questions )


cannot import name 'just_fix_windows_console' from 'colorama'

Hi,
I have just installed nevergrad, but am unable to import it.
This is on Linux.
Steps to reproduce

pip3 install nevergrad -> installs without a problem
In a Jupyter Notebook: import nevergrad as ng

Observed Results
I get the following error message:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/tmp/ipykernel_193577/2768283666.py in <module>
      6 import matplotlib.pyplot as plt
      7 import time
----> 8 import nevergrad as ng

~/.local/lib/python3.10/site-packages/nevergrad/__init__.py in <module>
      6 from .common import typing as typing
      7 from .parametrization import parameter as p
----> 8 from .optimization import optimizerlib as optimizers  # busy namespace, likely to be simplified
      9 from .optimization import families as families
     10 from .optimization import callbacks as callbacks

~/.local/lib/python3.10/site-packages/nevergrad/optimization/__init__.py in <module>
      5
      6 from .base import Optimizer  # abstract class, for type checking
----> 7 from . import optimizerlib
      8 from .optimizerlib import registry as registry

~/.local/lib/python3.10/site-packages/nevergrad/optimization/optimizerlib.py in <module>
      9 import warnings
     10 import numpy as np
---> 11 from bayes_opt import UtilityFunction
     12 from bayes_opt import BayesianOptimization
     13 import nevergrad.common.typing as tp

~/.local/lib/python3.10/site-packages/bayes_opt/__init__.py in <module>
----> 1 from .bayesian_optimization import BayesianOptimization, Events
      2 from .domain_reduction import SequentialDomainReductionTransformer
      3 from .util import UtilityFunction
      4 from .logger import ScreenLogger, JSONLogger
      5 from .constraint import ConstraintModel

~/.local/lib/python3.10/site-packages/bayes_opt/bayesian_optimization.py in <module>
      3 from bayes_opt.constraint import ConstraintModel
      4
----> 5 from .target_space import TargetSpace
      6 from .event import Events, DEFAULT_EVENTS
      7 from .logger import _get_default_logger

~/.local/lib/python3.10/site-packages/bayes_opt/target_space.py in <module>
      2
      3 import numpy as np
----> 4 from .util import ensure_rng, NotUniqueError
      5 from .util import Colours
      6

~/.local/lib/python3.10/site-packages/bayes_opt/util.py in <module>
      3 from scipy.stats import norm
      4 from scipy.optimize import minimize
----> 5 from colorama import just_fix_windows_console
      6
      7

ImportError: cannot import name 'just_fix_windows_console' from 'colorama' (/usr/lib/python3/dist-packages/colorama/__init__.py)

I did find this related message on StackOverflow:
https://stackoverflow.com/questions/74654425/why-i-receive-importerror-cannot-import-name-just-fix-windows-console-from-c
In it they say:

Based on the changelog for colorama, that function was added in the latest version of the library, 0.4.6.

I tried installing the latest version of colorama, but received the same error message when trying to import.

I managed to fix the issue by downgrading colorama from version 0.4.6 to 0.4.4, and bayesian_optimization from version 1.4.2 to 1.4.0:

pip3 install bayesian_optimization==1.4.0
pip3 install colorama==0.4.4

Hi I also got this error message. Could anyone help me how to fix it?

bayesian_optimization==1.4.1

colorama==0.4.4

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[13], line 22
     20 import os
     21 #import BayesianOptimization
---> 22 from bayes_opt import BayesianOptimization, UtilityFunction
     23 #from bayes_opt import BayesianOptimization
     24 from colorama import Fore

File ~/.local/lib/python3.9/site-packages/bayes_opt/__init__.py:1
----> 1 from .bayesian_optimization import BayesianOptimization, Events
      2 from .domain_reduction import SequentialDomainReductionTransformer
      3 from .util import UtilityFunction

File ~/.local/lib/python3.9/site-packages/bayes_opt/bayesian_optimization.py:5
      1 import warnings
      3 from bayes_opt.constraint import ConstraintModel
----> 5 from .target_space import TargetSpace
      6 from .event import Events, DEFAULT_EVENTS
      7 from .logger import _get_default_logger

File ~/.local/lib/python3.9/site-packages/bayes_opt/target_space.py:4
      1 import warnings
      3 import numpy as np
----> 4 from .util import ensure_rng, NotUniqueError
      5 from .util import Colours
      8 def _hashable(x):

File ~/.local/lib/python3.9/site-packages/bayes_opt/util.py:5
      3 from scipy.stats import norm
      4 from scipy.optimize import minimize
----> 5 from colorama import just_fix_windows_console
      8 def acq_max(ac, gp, y_max, bounds, random_state, constraint=None, n_warmup=10000, n_iter=10):
      9     """
     10     A function to find the maximum of the acquisition function
     11
   (...)
     44     :return: x_max, The arg max of the acquisition function.
     45     """

ImportError: cannot import name 'just_fix_windows_console' from 'colorama' (/home/gridsan/ychen1/.local/lib/python3.9/site-packages/colorama/__init__.py)


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
ShowTodoView.openPath (/Users/bperez/.atom/packages/todo-show/lib/show-todo-view.coffee:260:9)

Do you have the newest version? This should be resolved with most recent
update.
On Fri, Feb 20, 2015 at 7:49 AM Bryan Pérez<EMAIL_ADDRESS>wrote:

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
ShowTodoView.openPath (/Users/bperez/.atom/packages/todo-show/lib/show-todo-view.coffee:260:9)
—
Reply to this email directly or view it on GitHub
https://github.com/jamischarles/atom-todo-show/issues/40.

@jamischarles
Thanks for the quick response. Looks like it is indeed resolved.
Closing issue.
Thanks!


Current CLI failing Trivy Scans due to cloudf vulnerability

Describe the bug
Hello,
I am attempting to use JFrog CLI within a secure environment. I am installing the latest version via the install shell script into a docker container and my Trivy Scanner is failing due to a vulnerability in the cloudflare circl package. See table below, I will push a PR to fix this issue.

Vulnerable Package
CVE
Installed Version
Fixed Version

github.com/cloudflare/circl
GHSA-9763-4f94-gfch
v1.3.3
v1.3.7

Current behavior
I can see in the go.mod that the vulnerable package is being used.
Reproduction steps
No response
Expected behavior
No response
JFrog CLI version
2.52.9
Operating system type and version
Linux AMD64
JFrog Artifactory version
No response
JFrog Xray version
No response

Created MR https://github.com/jfrog/jfrog-cli/pull/2437 for this.


Failing test for discriminator with multiple response codes

Description
This creates a failing test for issue described in #7379 regarding a bug with discriminated unions when there's multiple response codes. It does not fix the issue.
Type of change
Please delete options that are not relevant.

[x] Failing test for a bug fix
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as
expected)
[ ] This change requires a documentation update

How Has This Been Tested?
yarn jest packages/loaders/openapi/tests/pet.test.ts
It returns this error
    Should be provided ObjectType but received InterfaceTypeComposer({ _gqcInterfaces: [], _gqcFallbackResolveType: null, schemaComposer: SchemaComposer, _gqType: GraphQLInterfaceType({ name: "Pet", description: undefined, resolveType: undefined, extensions: { default: undefined }, astNode: Object({ kind: "InterfaceTypeDefinition", name: Object({ kind: "Name", value: "Pet" }), description: undefined, directives: undefined, fields: undefined }), extensionASTNodes: [], _fields: [function bound defineFieldMap], _interfaces: [function bound defineInterfaces] }), _gqcFields: Object({ name: Object({ type: ThunkComposer({ _thunk: [function ], _typeFromThunk: NonNullComposer({ ofType: ScalarTypeComposer({ schemaComposer: SchemaComposer, _gqType: GraphQLScalarType({ name: "String", description: "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", specifiedByURL: undefined, serialize: [function serialize], parseValue: [function parseValue], parseLiteral: [function parseLiteral], extensions: {  }, astNode: Object({ kind: "ScalarTypeDefinition", name: Object({ kind: "Name", value: "String" }), description: Object({ kind: "StringValue", value: "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text." }), directives: undefined }), extensionASTNodes: [] }), _gqcSerialize: [function serialize], _gqcIsModified: false, _gqcParseValue: [function parseValue], _gqcParseLiteral: [function parseLiteral] }) }) }), args: Object({  }), directives: [], extensions: Object({ nullable: undefined }), description: undefined, deprecationReason: undefined }), petType: Object({ type: ThunkComposer({ _thunk: [function ] }), args: Object({  }), directives: [], extensions: Object({ nullable: undefined }), description: undefined, deprecationReason: undefined }) }), _gqcIsModified: true, _gqcExtensions: Object({ default: undefined }), _gqcDirectives: [Object({ name: "discriminator", args: Object({ subgraph: "Pet", field: "petType", mapping: Object({ Dog: "Dog", Cat: "Cat" }) }) })] })

      119 |           });
      120 |         }
    > 121 |         (subSchemaAndTypeComposers.output as UnionTypeComposer).addType(outputTypeComposer);
          |                                                                 ^
      122 |       } else {
      123 |         for (const possibleType of outputTypeComposer.getTypes()) {
      124 |           (subSchemaAndTypeComposers.output as UnionTypeComposer).addType(possibleType);

      at UnionTypeComposer._convertObjectType (node_modules/graphql-compose/src/UnionTypeComposer.ts:604:11)
      at UnionTypeComposer.addType (node_modules/graphql-compose/src/UnionTypeComposer.ts:259:21)
      at addType (packages/loaders/json-schema/src/getUnionTypeComposers.ts:121:65)
      at leave (packages/loaders/json-schema/src/getComposerFromJSONSchema.ts:921:37)
      at leave (packages/json-machete/src/visitJSONSchema.ts:93:33)
      at visitJSONSchema (packages/json-machete/src/visitJSONSchema.ts:73:50)
      at visitJSONSchema (packages/json-machete/src/visitJSONSchema.ts:73:50)
      at getGraphQLSchemaFromDereferencedJSONSchema (packages/loaders/json-schema/src/getGraphQLSchemaFromDereferencedJSONSchema.ts:26:25)
      at loadGraphQLSchemaFromJSONSchemas (packages/loaders/json-schema/src/loadGraphQLSchemaFromJSONSchemas.ts:42:25)
      at Object.<anonymous> (packages/loaders/openapi/tests/pet.test.ts:28:14)

Test Environment:

OS: MacOS
"@graphql-mesh/openapi": "^0.100.12":
NodeJS: v18.19.0

Checklist:

[x] I have followed the
CONTRIBUTING doc and the
style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works, and I have added a
changeset using yarn changeset that bumps the version
[ ] New and existing unit tests and linter rules pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Further comments

Closed by https://github.com/ardatan/graphql-mesh/pull/7388


Marketplace publishing content over a year out of date

This content is outdated and has been invalid for a year at this point.   Please update it for the Cloud Partner Portal or remove it entirely.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6cb76940-1c5d-b616-880a-deffdcda5d1b
Version Independent ID: 78c318f9-697f-ca24-ca1a-9c36b7abe9f3
Content: Non-technical prerequisites for creating an offer for the Azure Marketplace
Content Source: articles/marketplace-publishing/marketplace-publishing-pre-requisites.md
Service: marketplace
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@BrianJackson Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

#please-close CPP documentation has been updated