Prototype Data Prepper T-Splitting Locally

Depends on task: https://github.com/opensearch-project/opensearch-migrations/issues/88
Task
Using the tooling created in the preceding task (https://github.com/opensearch-project/opensearch-migrations/issues/88), develop a bare-bones prototype to analyze the performance of Data Prepper as a T-Splitter.
Acceptance Criteria

Code to automate creation of two Elasticsearch or OpenSearch Clusters, a Data Prepper instance, and the configuration to pipe requests sent to the Data Prepper instance to both Clusters
Demo automated setup, T-Splitting, and automated teardown to the team

Had a good convo w/ the Data Prepper team.  Per that convo, DP is not currently situated to provide the splitting/recording we need as part of this validation process.  HOWEVER - it does look quite capable of providing replay of recorded traffic (once its been captured) against the shadow and processing/reporting of replay results.  It also looks like a good generic solution for establishing the baseline migration.
Closing this issue as the core tech doesn't match up, but will create follow-up issues to explore replay.


@vuedx/typecheck error on component emits

Using 0.3.1-insiders-1606311019.0
Given a component that emits an event wave (properly declared with emits), than vuedx throws:
./src/App.vue
=============
=> ./src/App.vue:3:62
Error :: Type '{ msg: string; onWave: () => boolean; }' is not assignable to type 'IntrinsicAttributes & Partial<{}> & Pick<Readonly<{} & { msg?: string | undefined; }> & VNodeProps & AllowedComponentProps & ComponentCustomProps, "msg" | ... 9 more ... | "style">'.
      -> Property 'onWave' does not exist on type 'IntrinsicAttributes & Partial<{}> & Pick<Readonly<{} & { msg?: string | undefined; }> & VNodeProps & AllowedComponentProps & ComponentCustomProps, "msg" | ... 9 more ... | "style">'. (code 2322)
   1 | <template>
   2 |   <img alt="Vue logo" src="./assets/logo.png">
   3 |   <HelloWorld msg="Welcome to Your Vue.js + TypeScript App" @wave="waved = true"/>
     |                                                              ^^^^^^
   4 |   {{ waved }}
   5 | </template>

with HelloWorld.vue
export default defineComponent({
  name: 'HelloWorld',
  emits: {
    wave: () => true
  },
  props: {
    msg: String,
  },
  setup(props, { emit }) {
    return {
      wave: () => emit('wave')
    }
  }
});

repro: https://github.com/cexbrayat/template-typechecking/pull/7

Also note that it throws:
=> ./src/components/HelloWorld.vue:43:9
Suggestion :: 'props' is declared but its value is never read. (code 6133)
  41 |     msg: String,
  42 |   },
  43 |   setup(props, { emit }) {
     |         ^^^^^
  44 |     return {
  45 |       wave: () => emit('wave')

when it shouldn't?

You can replace props with _ if you're not using it. It's coming directly from the TS server, I don't want to change this behavior.

Related/DependsOn: https://github.com/vuejs/vue-next/pull/2164

You can replace props with _ if you're not using it. It's coming directly from the TS server, I don't want to change this behavior.

I should have explained better: the TS config enables  strict but not noUnusedParameters (I think noUnusedParameters is not enabled by strict https://www.typescriptlang.org/tsconfig#strict). And this suggestion is shown when noUnusedParameters is enabled right?

Hi @znck, I think your answer addresses the props issue, but not the original emitter issue. I run into the same problem as the original post.


Update single_pendulums.jmd

Fixing the below issue
https://github.com/SciML/SciMLBenchmarks.jl/issues/785

The outputs are now not broken
No significant changes in the code, just some minor fixes.

The PR is ready to merge
@ChrisRackauckas

That doesn't do anything about the loop?

No, the loops were running fine

The plots are empty.

The individual plots are working fine now

Are the plots not working fine, or anything needs to be changed/fixed??
@ChrisRackauckas

No plots are built, see the artifacts.

Like the plots are not visible??

The artifacts showed the sol just errored.

Oh ok, I'll fix it soon!


Fix failing federated S3 tests (GSI-1148)

The test_federated_s3.test_populate_dummy_items sporadically failed when running on GitHub.
After spending several hours debugging, we finally found the root cause: Docker maps containers to random ports, which can be different for the IPv4 and IPv6 addresses of localhost. It can happen that the port assigned for IPv6 for one container overshadows the port assigned for IPv4 of the other container. In the federated S3 test, all S3 operations would then executed on that same container, which causes the tests to fail.
As a simple solution, this PR changes the endpoint_url from localhost to <IP_ADDRESS> in order to make sure that only the IPv4 port is used when accessing the localstack container.
The PR also cleans up the passing of parameters to the localstack container. The name parameter is not used and not passed any more. Also, the image used for the localstack test container has been updated from 3.5.0 to 3.8.1.
Additionally, the PR also improves the _does_object_exist method so that it properly raises possible errors (this works similarly to _does_bucket_exist now).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

11 of 13 (84.62%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 92.252%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/hexkit/providers/s3/provider.py
6
8
75.0%

Totals

Change from base Build<PHONE_NUMBER>0:
0.3%

Covered Lines:
2048

Relevant Lines:
2220

💛  - Coveralls


Makefile is broken - no AOBJS or LOBJS defined

Erik, vcflib isn't building anymore and I think I've tracked it down to this module.
tabixpp$ make
ar -cru libtabix.a
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
	ar -m [-TLsv] archive file ...
	ar -m [-abiTLsv] position archive file ...
	ar -p [-TLsv] archive [file ...]
	ar -q [-cTLsv] archive file ...
	ar -r [-cuTLsv] archive file ...
	ar -r [-abciuTLsv] position archive file ...
	ar -t [-TLsv] archive [file ...]
	ar -x [-ouTLsv] archive [file ...]
make[1]: *** [libtabix.a] Error 1
make: *** [all-recur] Error 1

It seems tabix++ depend on the lib target which is now broken.
lib:libtabix.a

libtabix.a:$(LOBJS)
                $(AR) -cru $@ $(LOBJS)
                ranlib $@

libtabix.a is also needed later for linking against in all the vcflib tools.
This seems to possibly solve it:
LOBJS=tabix.o

I've patched it in Homebrew: https://github.com/Homebrew/homebrew-science/pull/2092/files

I'm still getting this error with rc0

What's going on here? How can I help?
On Jul 7, 2015 8:12 PM, "Daniel E Cook"<EMAIL_ADDRESS>wrote:

I'm still getting this error with rc0
—
Reply to this email directly or view it on GitHub
https://github.com/ekg/tabixpp/issues/5#issuecomment-119306961.

Hey Erik - I deleted my post as it was a false alarm, but I did identify another issue. I ran git update and that resolved the installation problem. However - not all the binaries were linked when I installed with homebrew. Specifically, vcffixup was not linked (although I just copied it to my bin folder and it works great now!).
Thanks,
Dan


TQDM for notebooks

@delucchi-cmu mentioned there is a solution for a progress bar that doesn't dump rubbish to into the notebook/rendering

We experienced the same issue with our sphinx/html-rendered. You can follow some of the solution in this issue: https://github.com/astronomy-commons/lsdb/issues/167
tl;dr:

add ipywidgets dependency
change import statements: from tqdm import tqdm -> from tqdm.auto import tqdm


Integration tests

Added integration tests for the LicenseScout
Type of request

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Refactoring
[ ] Documentation or documentation changes

Related Issue(s)

#10
Concept

Description of the change
The integration tests use the maven-invoker-plugin to run the LicenseScout from separate POMs as if they were executed alone. It also calls scripts 'verify.groovy' to verify the results.
The execution is encapsulated in a Maven profile, so that the tests can be switched on and off.
Description of current state
No integration tests
Description of target state
Estimated investment / approximate investment

Initiator
Matthias Pfisterer
Technical information
Platform / target area

known side-effects
other
DB Changes (if so: incl. scripts with definitions and testdata)
How has this Tested?
Running the new tests with 'mvn clean verify -P run-its'.
Screenshots, Uploads, other documents (if appropriate):

Checklist:

[ ] All the commits are signed.
[ ] My code follows the code style of this project.
[ ] I agree with die CLA.
[ ] I have read the CONTRIBUTING docs.
[ ] I have added/updated necessary documentation (if appropriate).

Please fix the conflicts. Thanks

@davu-all I fixed the conflicts. Please review again.


⚠ Bofrost.lu has degraded performance

In 4cf131b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1024 ms

Resolved: Bofrost.lu performance has improved in f7db6d4 after 6 minutes.


Embed curl exit statuses in chttp-generated errors

This provides additional diagnostic information for certain network errors. It is intended for use by the new kouch command-line tool.

Codecov Report

Merging #87 into master will decrease coverage by 0.07%.
The diff coverage is 94.28%.

@@            Coverage Diff             @@
##           master      #87      +/-   ##
==========================================
- Coverage   96.83%   96.75%   -0.08%
==========================================
  Files          20       20
  Lines        1327     1358      +31
==========================================
+ Hits         1285     1314      +29
- Misses         29       30       +1
- Partials       13       14       +1

Impacted Files
Coverage Δ

chttp/errors.go
100% <100%> (ø)
:arrow_up:

chttp/chttp.go
97.53% <91.66%> (-1.07%)
:arrow_down:

Continue to review full report at Codecov.

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


callable signature ?

I'm trying to create a router
import koaRouter from 'koa-router';
import type { ServerType, Context } from 'koa';

export default function ({ app }: { app: any }): ServerType {
  const router: koaRouter = koaRouter({ prefix: '/hello' });
  router.get('/', worldHandler);

  return app.use(router.routes()).use(router.allowedMethods());
}

but I'm receiving an error
Cannot call koaRouter because a callable signature is missing in statics of Router [1].

I checked the koa-router declaration from flow-typed which seems to be importing the type of the Router declaration
roughly like this:
declare module "koa-router"{
  declare class Router{
    constructor(opts?: {
      prefix?: string,
      sensitive?: boolean,
      strict?: boolean,
      methods?: Array<string>
    }): Router;
    // Router Implementation
   }
  module.exports = typeof Router;
}

Why is the flow checker throwing this error ? Isn't the export of typeof Router a callable class?

const router: koaRouter

You assign the module as the type. I would use something that's actually in that module :-)

I let flow-typed handle that for me so it's most likely this one:
https://github.com/flow-typed/flow-typed/blob/master/definitions/npm/koa-router_v7.2.x/flow_v0.25.x-/koa-router_v7.2.x.js

As it seems since the module Koa-router exposes a class, so it should be initialized in order to execute it.
  const router: KoaRouter =  new KoaRouter({ prefix: '/health' });


Building own Face recognition

issue #185

close all pull requests delete all of the stuff you have added clone the latest version of repo and then add everything one by one by making pull request

close all pull requests delete all of the stuff you have added clone the latest version of repo and then add everything one by one by making pull request

Should I close only recent 3 prs and Add them?

Should I close only recent 3 prs and Add them?

yes

yes

@bharath-acchu ping me on discord


Create 5-Longest-Palindromic-Substring.cs

File(s) Modified: 5-Longest-Palindromic-Substring.cs
Language(s) Used: c#
Submission URL: _https://leetcode.com/submissions/detail/774020574/_

Thanks, @notauserx!


.v-link-active seems to be added to routes that match a given pattern, sometimes incorrect

I believe this is an issue, but could be incorrect.  Given v-links with paths foo and foobar, when foobar is visited foo is still considered active.
https://jsbin.com/zukinud/edit?html,css,js,output

Yeah, that's a bug.

BTW, can the class name handling be abstracted into a separate directive?
I find myself wanting to highlight certain elements when a route is matched, but they're not links.

@JosephSilber I'll keep that in mind, for now something like v-class="active: isActive('/a/b/c')" would probably work? (you need to implement isActive yourself)

@JosephSilber
I found a workaround for this without custom code - attach v-link to the parent element too, and it will attach the active class without any hyperlink properties.

                    Foo

Correctly attaches .active to

@rrrhys
This solutions, redirect to the homepage. Links are not working.
vue version: 0.12.16
vue-router version: 0.7.7

Had the same issue until I added exact: true. Works great now

Why do so much repeated work, just add a little css and change the li.active > a css to be applied on li > a.active. It works great with too much changes required repeatedly.


Accommodate different Qpid Topologies

Openstack supports two different Qpid Topologies for exchange names.  Originally, exchange names were named the same as the service.  For example, the service nova had a Qpid Exchange called nova and published messages to a topic called notifications.info.  Now, Openstack supports a Qpid V2 Exchange Topology.  So, the service nova can have an exchange called amq.topic/topic/nova.
Since this is a configurable option in Openstack called qpid_topology_version, ManageIQ needs to support both versions of the topology.  Also, it appears that there's no way to query for the currently configured qpid_topology_version.  So, the OpenstackQpidEventMonitor will create an OpenstackQpidReceiver for both topologies per service.  Now, each service will have two receivers:

"nova"
"amq.topic/topic/nova"

In addition to adding multiple topology support, this PR also controls the name of the binding queue used to receive messages from the exchange.  When a Qpid Receiver is created without a binding queue name specified, the Qpid library will create a queue with a randomized name (e.g., "nova_abc123def456").  In order to make debugging a little easier, the binding queue is now named following the pattern "miq-<host|ip>-<exchange_name>".  For example: "miq-<IP_ADDRESS>-amq.topic_topic_nova" (slashes are not allowed in the binding queue name).  This will show that host <IP_ADDRESS> has a queue listening for messages from nova.  And, users can use the following tools to debug on the OpenStack server:

qpid-config -b queues: show the list of queues and what exchanges they're bound to
qpid-stat -q: show the message counts per queue

https://bugzilla.redhat.com/show_bug.cgi?id=1224389
PS: this will cause #1824 to need rebasing.  I've closed that PR for now until this is merged.
@Fryguy, @jrafanie: please review

Looks good @blomquisg ...just a few comments.


Opinions on using a gimli::Reader-like abstraction, to parse large files in environments with constrained address space (e.g. wasm)?

At the moment, File::parse takes a reference to a slice of bytes. This requires the entire file to be "present" in memory (e.g. via mmap). That's usually fine.
However, when using object from WebAssembly (which is, admittedly, a use case that is both a bit niche and somewhat demanding), this API is problematic for the following reasons:

WebAssembly doesn't have support for mmap, so the entire file needs to be read into memory first, even if only small parts of it are needed.
WebAssembly (wasm32) is currently limited to a heap size of 2GB or 4GB, depending on the implementation.

For example, an optimized build of Firefox with debug info on Linux has a libxul.so which is 2.2GB big. This means that WebAssembly code is currently unable to obtain any symbols from it..
Would you be open to changing the File::parse API to take a Reader trait instead, similar to how the gimli crate approaches this? This would allow reading just the parts of the file that are actually needed and would fix the wasm32 heap size problem.
The two risks I can see are:

Possibly reduced performance, if the compiler is unable to inline-away the indirection in the simple wrap-a-slice Reader implementation.
Propagation of another template parameter for the reader through wide parts of the codebase (maybe?), which might lead to more complicated code and potentially longer compile times.

Would you be open to changing the File::parse API to take a Reader trait instead, similar to how the gimli crate approaches this?

I'm certainly open to the idea, but I think it will be a lot of work.
Do you know if anyone has used gimli's Reader to do this? I did add Reader for this purpose, but the potential use of it never happened.
gimli is slightly different in that very little of DWARF can be parsed with true zero copy, and so references in the parsing are limited to opaque things like strings or arrays of bytes where it is ok to represent them as another Reader instance rather than as a rust reference. Whereas this crate uses references for all of the headers too.
So the problem is that the Reader will need to allow conversion to a slice with a lifetime that is potentially larger than the lifetime of the Reader instance. That is, the lifetime will need to be a type parameter of the Reader, and converting the Reader to a slice will need to allocate somewhere such that the allocation has that lifetime (such as in an arena). A simple implementation of that might do a new allocation even for parts of the file that have already been read; not sure if that would matter.

Maybe generic associated types would help here. Something like:
trait Reader {
    type Ref<T>: Deref<Target=T>;
    fn read<T: Pod>(&mut self) -> Result<Ref<T>>;
}

impl<'data> Reader for &'data [u8] {
   type Ref<T> = &'data T;
   ...
}

impl<T: io::Read> Reader for T {
   type Ref<T> = Box<T>;
   ...
}

Thanks for the feedback!

Rough proof of concept for the arena idea in #278

@mstange Can you check if #278 works for your needs? It still needs some cleanup, but I think it's good enough for testing. The main outstanding issue is that it still completely reads each archive or Mach-O fat member, so better to check with ELF for now.

This is excellent, thank you so much! I will give this a try as soon as I can, hopefully before the end of the week.

I have started working on this. Nothing to report yet.

It works! It's exactly what I need. I did a naive implementation that doesn't do any caching, and it made getting the symbol table from a big ELF binary (libxul.so) 3x faster (5 seconds -> 1.7 seconds), because I no longer have to read and copy the entire file into JS and then WASM. I don't have a testcase that causes OOM at the moment, but I'm sure this solves the OOM problem, too.
The prototype is in the partial-file-reads branch but note that this repo doesn't include the Firefox JS code that actually ends up taking advantage of the partial file reads.

Great! Thanks for testing that. I'll get the PR cleaned up and merged when I can.
Does your test include reading DWARF? Just curious if gimli's support for this works ok too.

Thank you so much!
No, I haven't covered the DWARF part yet. I'm planning to do that next.

I'm currently looking at the DWARF part. The first thing I'm stumbling over is the fact that I'm currently using ObjectSection::uncompressed_data() here, which reads the entire section data. I'll try to use ObjectSection::file_range() instead and see how far I can get with that. But this will mean that the code won't work with compressed dwarf data any more. For a proper solution, I think CompressedData will need to store a ReadRef instead of a slice, and also implement Reader itself.

I don't think CompressedData can implement ReadRef because compressed streams don't support seeking. Probably what we need is for CompressedData to include the file range (excluding the compression header) instead of the slice, and then you'll need to implement gimli::Reader for compressed data.

It could implement ReadRef for compressed streams the lazy way; by just reading the entire data and decompressing that. And for uncompressed streams it would forward along to the original ReadRef.

Why is it okay to read the entire section data for compressed data, but not for uncompressed data?

Oh, because it's not easy to do better for compressed data, unless you want to compress incrementally as needed... or maybe you have something in mind that I'm not seeing?
Oh, are you saying that gimli::Reader is more oriented towards incremental reading, whereas ReadRef is more oriented towards random access, and thus it would be easier to implement incremental decompression for gimli::Reader?

Ok that makes sense. I'm not keen on implementing ReadRef for CompressedData, but it seems that what we need is a way to avoid reading the entire section if the data isn't compressed (e.g a compressed_file_range method).

it would be easier to implement incremental decompression for gimli::Reader?

I don't think so. DWARF has references to offsets within sections, so we would still need to seek.

I've done the cleanup on a new branch (#284), and added a compressed_file_range method.

I haven't looked in detail, but I doubt you want to do this:
impl<'data, T: ReadRef<'data>> Reader for EndianRangeReadRef<'data, T> {
because the reading expectations of object::ReadRef and gimli::Reader are too different. object::ReadRef tends to read a small number of largish blocks (file header, section table, symbol table, string table, section data), whereas gimli::Reader tends to be a large number of small reads within one section. In particular, if the object::ReadRef is allocating for each read, then that's going to be a lot of small allocations, most of which will never be used again. The point of object::ReadRef is to allow returning references to data, but gimli::Reader doesn't use that ability.
Returning references may have been an alternative to use for reading things like strings, but we don't currently do that. Instead, we use gimli::Reader::split to get a new gimli::Reader instance which we store and then read again later with gimli::Reader::to_slice or gimli::Reader::to_string. There may be room for improving how we handle strings, but I think it will be by returning the Cow immediately instead of delaying it until a later to_slice/to_string call.
So instead I think the gimli::Reader implementation should be more like std::io::BufReader than like object::ReadCache.

I started on doing a non-mmap example for gimli at https://github.com/philipc/gimli/commit/1e4ee29d4b7d0b5a787cbe4d7125997399ae1b88. It's a bit rough still (doesn't handle compressed sections).


Time is show from 6:00 to 22:00 in day view

I got some problem as it shows only from 6 to 22 but not from 0 to 24

Remove the day view start and end options:
https://github.com/mattlewis92/angular-bootstrap-calendar#day-view-start


Update Readme

Closes #2855.

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/2864/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/2864/


No such file or directory: '/tmp/pip-audit-output.txt'

Running the following .yml file results in the following error. I am currently trying to troubleshoot an error flagged by pip-audit for setuptools in the CI environment, and it is likely that setuptools is getting flagged by pip-audit still, before running into this error.
jobs:
  pip-audit:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Run pip-audit
        uses<EMAIL_ADDRESS>        with:
          inputs: requirements-dev.txt
          ignore-vulns: PYSEC-2021-427

Traceback (most recent call last):
  File "/home/runner/work/_actions/pypa/gh-action-pip-audit/v1.0.4/action.py", line 138, in <module>
    with open("/tmp/pip-audit-output.txt", "r") as io:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-audit-output.txt'

Thanks for the report!
That error (which isn't great -- sorry about that) probably indicates that the underlying pip-audit invocation failed, and thus failed to produce our expected output.
Could you re-run your workflow with debugging enabled, i.e.:
      - name: Run pip-audit
        uses<EMAIL_ADDRESS>        with:
          inputs: requirements-dev.txt
          ignore-vulns: PYSEC-2021-427
          internal-be-careful-debug: true

This is the full traceback with debugging enabled:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/packaging/requirements.py", line 35, in __init__
    parsed = parse_requirement(requirement_string)
  File "/usr/local/lib/python3.10/dist-packages/packaging/_parser.py", line 64, in parse_requirement
    return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
  File "/usr/local/lib/python3.10/dist-packages/packaging/_parser.py", line 82, in _parse_requirement
    url, specifier, marker = _parse_requirement_details(tokenizer)
  File "/usr/local/lib/python3.10/dist-packages/packaging/_parser.py", line 116, in _parse_requirement_details
    specifier = _parse_specifier(tokenizer)
  File "/usr/local/lib/python3.10/dist-packages/packaging/_parser.py", line 203, in _parse_specifier
    with tokenizer.enclosing_tokens("LEFT_PARENTHESIS", "RIGHT_PARENTHESIS"):
  File "/usr/lib/python3.10/contextlib.py", line 142, in __exit__
    next(self.gen)
  File "/usr/local/lib/python3.10/dist-packages/packaging/_tokenizer.py", line 181, in enclosing_tokens
    self.raise_syntax_error(
  File "/usr/local/lib/python3.10/dist-packages/packaging/_tokenizer.py", line 161, in raise_syntax_error
    raise ParserSyntaxError(
packaging._tokenizer.ParserSyntaxError: Expected closing RIGHT_PARENTHESIS
    eth-utils (<2.0.0,>=1.0.0-beta.1)
              ~~~~~~~~~~~~~~~~~^

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line [86](https://github.com/lindy-labs/aura_contracts/actions/runs/3843296440/jobs/6545421863#step:3:89), in _run_code
    exec(code, run_globals)
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/__main__.py", line 8, in <module>
    audit()
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_cli.py", line 455, in audit
    for (spec, vulns) in auditor.audit(source):
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_audit.py", line 67, in audit
    for dep, vulns in self._service.query_all(specs):
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_service/interface.py", line 155, in query_all
    for spec in specs:
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/requirement.py", line 116, in collect
    for _, dep in self._collect_cached_deps(filename, reqs):
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/requirement.py", line 328, in _collect_cached_deps
    for req, resolved_deps in self._resolver.resolve_all(iter(req_values)):
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/interface.py", line [88](https://github.com/lindy-labs/aura_contracts/actions/runs/3843296440/jobs/6545421863#step:3:91), in resolve_all
    yield (req, self.resolve(req))
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/resolvelib/resolvelib.py", line 77, in resolve
    result = self.resolver.resolve([req])
  File "/home/runner/.local/lib/python3.10/site-packages/resolvelib/resolvers.py", line 521, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/home/runner/.local/lib/python3.10/site-packages/resolvelib/resolvers.py", line 402, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
  File "/home/runner/.local/lib/python3.10/site-packages/resolvelib/resolvers.py", line 238, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
  File "/home/runner/.local/lib/python3.10/site-packages/resolvelib/resolvers.py", line 228, in _get_updated_criteria
    for requirement in self._p.get_dependencies(candidate=candidate):
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/resolvelib/pypi_provider.py", line 415, in get_dependencies
    return candidate.dependencies
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/resolvelib/pypi_provider.py", line 126, in dependencies
    self._dependencies = list(self._get_dependencies())
  File "/home/runner/.local/lib/python3.10/site-packages/pip_audit/_dependency_source/resolvelib/pypi_provider.py", line 112, in _get_dependencies
    r = Requirement(d)
  File "/usr/local/lib/python3.10/dist-packages/packaging/requirements.py", line 37, in __init__
    raise InvalidRequirement(str(e)) from e
packaging.requirements.InvalidRequirement: Expected closing RIGHT_PARENTHESIS
    eth-utils (<2.0.0,>=1.0.0-beta.1)
              ~~~~~~~~~~~~~~~~~^

Traceback (most recent call last):
  File "/home/runner/work/_actions/pypa/gh-action-pip-audit/v1.0.4/action.py", line [138](https://github.com/lindy-labs/aura_contracts/actions/runs/3843296440/jobs/6545421863#step:3:141), in <module>
    with open("/tmp/pip-audit-output.txt", "r") as io:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-audit-output.txt'

Looks like a bug in packaging, I filed https://github.com/pypa/packaging/issues/653.
In the interim @tserg, you can change that requirement to eth-utils (<2.0.0,>=1.0.0b1) if it's in your control.

(Since this isn't necessarily an issue with the action, this should probably get moved to pypa/pip-audit instead.)

Agreed, moving it.


VideoToVideo Example Runners And StableDiffusionService GenerateInputVideoFrames Bug Fix

Added Example Runners for VideoToVideo demos, one from scratch and one using the VideoService.
Fixed bug in StableDiffusionService GenerateInputVideoFrames where promptOptions.InputVideo.VideoFrames was being checked to not be null twice.

Awesome thanks for adding these.


user/v-jandrew/adding-note-docking-in-responsive-viewport-mode

changing date, to make the pr

Learn Build status updates of commit ffddd41:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/device-mode/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit cfedfb8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/device-mode/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 1057b72:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/device-mode/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Just a couple of minor comments, but otherwise looks good to me.

I accepted the comments so looks ready. I will let Reexa know.

Learn Build status updates of commit 85f72ea:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/device-mode/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Make opencv dependency optional

Having a native Go smartcrop implementation can be more desired in some cases; looking at the code it shoud be quite trivial to move opencv dependency to a separate (sub)package, this way main smartcrop package can be made pure-Go and if one needs improved face detection, this can be done importing separate Analyzer from an opencv-dependent package.

This could be made optional at run-time, but I'm not sure I want to make it optional at compile-time as this would require a much more complex build system.

Right now it's problematic to build smartcrop without having opencv installed, this lead to sub-optimal solutions like fork-and-customize. IMO having a pure-Go library can be beneficial in many aspects, taking into account Go strong sides — native concurrency, fast/easy build system, native cross-compiling.
This can easily be improved by splitting package into main (pure Go) packege + subpackage depending on opencv providing additional Analyzer with face detection.
Consider the following package layout:
github.com/muesli/smartcrop

type Analyzer
func NewAnalyzer() Analyzer
func NewAnalyzerWithCropSettings(cropSettings CropSettings) Analyzer
type Crop
func SmartCrop(img image.Image, width, height int) (Crop, error)
type CropSettings
type Score

github.com/muesli/smartcrop/opencv

func NewAnalyzer() smartcrop.Analyzer
func NewAnalyzerWithCropSettings(cropSettings CropSettings) smartcrop.Analyzer
type CropSettings

Having all opencv-dependent code moved into separate subpackage github.com/muesli/smartcrop/opencv it would be possible to use go get github.com/muesli/smartcrop without messing with opencv setup if one does not need face detection. It would only be required if one would like to use opencv-dependent code which can be installed like go get github.com/muesli/smartcrop/opencv.

Another option to remove mandatory opencv dependency without any API changes can be introducing a build-flag based condition: i.e. file with +build opencv can hold imlementation of faceDetect() function whereas file with code having +build !opencv tag can have fallback to current skinDetect() code.
Of course it may be desirable to keep current behavior (build with opencv support) for the sake of existing user-base and compatibility, so the build flag logic can be inverted by using +build noopencv flag.
If you like this idea, I can come up with CL in the upcoming days.

Personally I like the idea of a subpackage better - feels a bit more go-ish than build-flags. If you're willing to work on that, I'd certainly accept that PR. We should probably also do a new release then, which can break backwards compatibility. We're not 1.0 yet after all :-)

Ok then, I'll try to come up with proper PR in the upcoming days.

Curious, have you ever started hacking on that?

I've merged most of your changes upstream tonight. Thanks for the effort, it's really appreciated.
I tried to contact you several times in the past year, but I guess you lost the interest and/or need for smartcrop?


Underscores in JSON payload break Sublime Text & GitHub syntax highlighting

It seems like keys that contain an underscore break highlighting for the whole apib file, see https://github.com/czechboy0/XcodeServer-API-Docs/blob/master/apiary.apib#L136. This is different than the MSON underscore issue, because there underscores are reserved characters, whereas in JSON they are allowed.
Would be great if this could get fixed in both parsers (Sublime Text's and GitHub's).

Thanks for reporting this. I believe that adding support for the + Model section should help fix this by preventing the markdown rules from taking over there.

@danielgtaylor Regardless of native support for + Model section, this should be a code block in plain markdown (four spaces within a list item) so it should be rendered as a code block regardless of the list item content (Model as a string).
Note: I believe there are plans to deprecate/remove model. I wouldn't suggest adding native support for it within the lexers https://github.com/refractproject/rfcs/pull/1#discussion_r33555698

@kylef Does that mean there would be no way to copy/paste example JSON responses into API Blueprint? I'd see that as a regression if not provided with an automatic JSON/XML/... -> MSON converter.

@czechboy0 You would still be able to copy-paste example code into API Blueprint examples.
I've closed this issue to move it to the sublime plugin (which is how GitHub also does the rendering) https://github.com/apiaryio/api-blueprint-sublime-plugin/issues/29
As a workaround, you could use fenced code-blocks as shown in the following example until this issue has been resolved.
+ Model (application/json)

     ```
    {
      "_id": "963bc95f1c1a56f69f3392b4aa03302f"
    }
     ```


0034 - Find First and Last Position of Element in Sorted Array

Description of the Problem
Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1].
Example 1:
Input: nums = [5,7,7,8,8,10], target = 8
Output: [3,4]

Example 2:
Input: nums = [5,7,7,8,8,10], target = 6
Output: [-1,-1]

Constraints:

0 <= nums.length <= 10^5
-10^9 <= nums[i] <= 10^9
nums is a non decreasing array.
-10^9 <= target <= 10^9

Code
class Solution:
    def searchRange(self, nums: List[int], target: int) -> List[int]:

Link To The LeetCode Problem
LeetCode

Can I help with this one?


[Proposal] Support Falcon

Proposal
The Technology Innovation Institute released a model family called falcon. It contains two sizes, 7b and 40b, each of them have an instruct version. It could be cool if they were supported by TransformerLens. To my knowledge, these are the only open-source instruct fine-tuned model currently available.
The HF models can be found here.
Checklist

[x] I have checked that there is no similar issue in the repo (required)

Agreed this would be great! Would you be interested in writing a PR for it?


How to update model parameters with accumulated gradients?

Hi,
Due to some reason, my model has limited batch size, then this limited batch-size will make the model has a high variance.
So, I want to use some trick to make the batch size larger. My idea is to store the gradients of each mini-batch, for example 64 mini-batches, and then sum the gradients together, use the mean gradients of this 64 mini batches of training data to update the model's parameters.
This means that for the first 63 mini-batches, do not update the parameters, and after the 64 mini batch, update the model's parameters only once.
But as TensorFlow is graph based, do anyone know how to implement this wanted feature?
Thanks very much.

Please ask questions like this on StackOverflow.  Github issues are for bug reports and feature requests.


Zabbix support improved

Zabbix support improved
Zabbix connector improved:

output writer use binary header which Zabbix 3.0 and higher requires (tested with Zabbix 5.0)
"jmxtrans." prefix in all keys can be optionally removed by "addPrefix" : "FALSE"
added option to specify format of a key passed to Zabbix

  "outputWriters" : [ {
    ...
    "zabbixKeyTemplate" : "${MBEAN}.${TYPENAMES}.${KEY}"
    ...
  } ]

added options to use low level discovery in Zabbix (see
https://www.zabbix.com/documentation/5.0/manual/discovery/low_level_discovery):

  "outputWriters" : [ {
    ...
    "zabbixDiscoveryRule" : "jmx.discovery.heap"
    "zabbixDiscoveryKey1" : "JMXAPP"
    "zabbixDiscoveryValue1" : "myApp"
    "zabbixDiscoveryKey2" : "SECTION"
    "zabbixDiscoveryValue2" : "heap"
    ...
  } ]

Variables in zabbixKeyTemplate are rewritten:
- KEY - name of attr or oper

MBEAN - name of bean. Can be aliased by resultAlias
TYPENAMES - list of typeNames joined by _

Low level discovery keys don't have to be used. When they used, its
meaning is:

zabbixDiscoveryRule - name of zabbix key on which discovery can be
applied
zabbixDiscoveryKey1, zabbixDiscoveryKey2 - names of macros provided to zabbixDiscoveryRule
zabbixDiscoveryValue1, zabbixDiscoveryValue2 - values of macros
provided to zabbixDiscoveryRule. Same variables are expaned as in
zabbixKeyTemplate.

zabbixDiscoveryKey2 and zabbixDiscoveryValue2 are optional so one level
or two level low level discovery rules can be created.
Example (patch with providing variables based on filename used):
      "obj" : "java.lang:type=GarbageCollector,name=*",
      "jmxErrorHandling" : "ignore",
      "typeNames" : ["name"],
      "resultAlias": "${filename1}.${filename2}.gc",
      "attr" : [ "CollectionCount", "CollectionTime" ],
      "outputWriters" : [ {
        "@class" : "com.googlecode.jmxtrans.model.output.ZabbixWriterFactory",
        "port" : "${zabbix.port}",
        "host" : "${zabbix.host}",
        "addPrefix" : "FALSE",
        "zabbixKeyTemplate" : "${KEY}[${MBEAN}.${TYPENAMES}]",
        "zabbixDiscoveryRule" : "jmx.discovery.jre.gc",
        "zabbixDiscoveryKey1" : "JMXAPP",
        "zabbixDiscoveryValue1" : "${filename1}.${filename2}",
        "zabbixDiscoveryKey2" : "SECTION",
        "zabbixDiscoveryValue2" : "gc.${TYPENAMES}"
      } ]

Example above creates jmx.discovery.jre.gc key with JMXAPP and SECTION macros.
name=* finds global and scavenge on IBM JVM so e.g. zabbixDiscoveryValue2
is expanded to gc.global and gc.scavenge and low level discovery rule then
receives two set of values.

:x: Build jmxtrans 530 failed (commit https://github.com/jmxtrans/jmxtrans/commit/a00896f726 by @jnovak-netsystemcz)


certs and dealing with an outage

I got a working ssl configuration that uses the cfssl tool to generate a CA and peer certs for a three node cluster on AWS.
Each AWS instance has an external IP address which is in DNS and an internal IP address that's used for peer<-->peer communication.  I put those into each instance's certs along with localhost and <IP_ADDRESS>.  This makes those certs unique to the node they're generated for.
Then I used cfssl's mkbundle tool to take all the .pem files and build a bundle CRT that can be used by clients to access any node the etcd cluster.  Imagine that cert being distributed to thousands of nodes via docker containers, all to allow the software on that container to access the etcd cluster.
Now suppose there's an outage. AWS recently told us one of our production instances was running on failing hardware.  Unlike VMware, they didn't migrate the instance to good HW. Instead they said they were taking it off-line as of 8am that day.  etcd on that host had long since stopped responding and our cluster said it was "unhealthy".  It took most of the day with senior staff to create a replacement instance with the same external IP and assign the same IP to the new instance.  It's working for now.
I see a problem with SSL and the "remove bad node" workflow for a node failure.  If I remove a failed node from the cluster, generate a cert for a new node, and add it to the cluster, what about the 1000 docker clients accessing the cluster with the old cert bundle?  They won't be able to access the new node because the bundle they hold doesn't include the replacement node.  The only way to fix that is to shutdown each container, delete it, and pull an updated container from Dockerhub.  That's not an acceptable scenario.  We can't have downtime.
I tried generating certs with a wildcard in the CN field and the SAN field.  cfssl said they were unsuitable for web use but generated them anyway.  But when I tried to use this wildcard cert in a cluster, etcd wouldn't allow it.  The log file said
 30 13:20:26 ip-10-0-4-187 etcd[23025]: failed to dial 60113488fbd499 on stream Message (x509: cannot validate certificate for <IP_ADDRESS> because it doesn't contain any IP SANs)

If I can't generate SANs with wildcards (or no IPs), I can't create a blanket cert that will always work and not require my docker containers to reload a cert. bundle.
cfssl allows wildcards but etcd is architected to now allow it.  Unless I can use a blanket cert, I'll have an outage with my clients.  That's not an option.
What can be done to avoid the outage scenario?  I'm hoping I missed something here.

@michael-px Can the client talk to etcd using DNS name instead of IP? Then we can point the old DNS (DNS of the dead member) to the newly created member?

The client is given a connection string of all nodes in the cluster as DNS
names.  So in that scenario, the client would still be able to connect.
So, the new node, say hostname efcd-new, is given the DNS name
etcd2.example.com.  It’s cert is generated with the new internal IP,
external IP (which would be the SAME due to AWS elastic IP), and
etcd2.example.com DNS entry.
The cert in the bundle for the old machine has a different internal IP in
the SAN.  But the rest would be the same.  Will that work?
Like the famous philosopher said, when you stare into the void, the void
stares also; but if you cast into the void, you get a type conversion
error.  -- Charles Stross
The pure and simple truth is rarely pure and never simple.--Oscar Wilde
On Tue, Aug 30, 2016 at 3:15 PM, Xiang Li<EMAIL_ADDRESS>wrote:

@michael-px https://github.com/michael-px Can the client talk to etcd
using DNS name instead of IP? Then we can point the old DNS (DNS of the
dead member) to the newly created member?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreos/etcd/issues/6311#issuecomment-243598730, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ARbCQdBu4P3MNFkU9zvREC_gD1Cx-VIyks5qlKttgaJpZM4Jw_qj
.

/cc @gtank would be a better person to help you on this.

From my understanding, as long as DNS + external IP remain the same, the client should not have a problem connecting to it. Due to the internal IP changes, we need to update the cert of the other servers.

“we” as in etcd itself will track this?  The setting for the initial
cluster will be different.
For example, before the outage, let’s say this is in each node in the
cluster:
ETCD_INITIAL_CLUSTER="etcdb=https://<IP_ADDRESS>:2380,etcdc=
https://<IP_ADDRESS>:2380,etcdd=https://<IP_ADDRESS>:2380”
etcdc dies.  So I removed it from the cluster with member remove.  Then add
a new node with member add and the new setting is
ETCD_INITIAL_CLUSTER="etcdb=https://<IP_ADDRESS>:2380,etcdcc=
https://<IP_ADDRESS>:2380,etcdd=https://<IP_ADDRESS>:2380”
The bad node will have a new cert generated with a different internal IP
different.  The bundle.pem file won’t have that.  But you’re saying that so
long as DNS still points to the same name (ectcd.example.com) and the
external IP is set, there won’t be a problem?
Like the famous philosopher said, when you stare into the void, the void
stares also; but if you cast into the void, you get a type conversion
error.  -- Charles Stross
The pure and simple truth is rarely pure and never simple.--Oscar Wilde
On Tue, Aug 30, 2016 at 3:45 PM, Xiang Li<EMAIL_ADDRESS>wrote:

From my understanding, as long as DNS + external IP remain the same, the
client should not have a problem connecting to it. Due to the internal IP
changes, we need to update the cert of the other servers.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreos/etcd/issues/6311#issuecomment-243605353, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ARbCQeNslqYOBHYSPyPAfpdaUs3aef5Nks5qlLKCgaJpZM4Jw_qj
.

First, initial prefixed flag will ONLY affect new member (member without data dir). For restart existing members (member with existing data dir), you can simply ignore them.
In your example, the external IP and DNS do not change. So client should not be affected. No client facing stuff ever get changed.
The internal IP did change from 123 -> 35. So we need to update certs of all existing members and restart them with new certs. This process can be automated.
Again, I am not an expert on this.

This scenario is doable with a change in the config files plus a systemctl
restart of etcd.  That’s all on the server side and the 1000 clients are
fine.
That’s also GREAT news.  I like making my boss happy.
Like the famous philosopher said, when you stare into the void, the void
stares also; but if you cast into the void, you get a type conversion
error.  -- Charles Stross
The pure and simple truth is rarely pure and never simple.--Oscar Wilde
On Tue, Aug 30, 2016 at 4:11 PM, Xiang Li<EMAIL_ADDRESS>wrote:

First, initial prefixed flag will ONLY affect new member (member without
data dir). For restart existing members (member with existing data dir),
you can simply ignore them.
In your example, the external IP and DNS do not change. So client should
not be affected. No client facing stuff ever get changed.
The internal IP did change from 123 -> 35. So we need to update certs of
all existing members and restart them with new certs. This process can be
automated.
Again, I am not an expert on this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreos/etcd/issues/6311#issuecomment-243610588, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ARbCQS3Bn6ELGB7_exa8wdS3CaeWOucNks5qlLi3gaJpZM4Jw_qj
.

@michael-px I would suggest you to get it a try first. Also probably you should wait for @gtank's opinion.

Yes, I’m setting up the cluster, then we’ll test our product
Then do the remove/add scenario.
Like the famous philosopher said, when you stare into the void, the void
stares also; but if you cast into the void, you get a type conversion
error.  -- Charles Stross
The pure and simple truth is rarely pure and never simple.--Oscar Wilde
On Tue, Aug 30, 2016 at 4:16 PM, Xiang Li<EMAIL_ADDRESS>wrote:

@michael-px https://github.com/michael-px I would suggest you to get it
a try first. Also probably you should wait for @gtank
https://github.com/gtank's opinion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreos/etcd/issues/6311#issuecomment-243611436, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ARbCQQfQTVCExRYLYkgFX6OPPcsTnG5Jks5qlLnHgaJpZM4Jw_qj
.

I am going to close this since it seems that the problem is resolved. Please reopen if there is any followup. Thanks.

I am going to close this since it seems that the problem is resolved. Please reopen if there is any followup. Thanks.

That works. I’ve been pull onto another more urgent project for the
meantime. I’ll tell my boss you guys are closing the issue and he can
either have me reopen it when we come back to this problem or I’ll open
another issue.
Like the famous philosopher said, when you stare into the void, the void
stares also; but if you cast into the void, you get a type conversion
error.  -- Charles Stross
The pure and simple truth is rarely pure and never simple.--Oscar Wilde
On Tue, Sep 6, 2016 at 2:23 PM, Xiang Li<EMAIL_ADDRESS>wrote:

I am going to close this since it seems that the problem is resolved.
Please reopen if there is any followup. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreos/etcd/issues/6311#issuecomment-245097232, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ARbCQQ8wT7N88F_u6Rwx3xz8_9Tpc3AQks5qndnpgaJpZM4Jw_qj
.


Center Name not Updated When Editing Codetrek Applicant Information

Describe the task
Currently, when editing the information of Codetrek applicants in the Codetrek module, the centre name field is not being updated when a different centre name is selected. this issue prevents the correct association of the selected centre name with the applicant.
Steps to reproduce

Go to the Codetrek module.
Select an applicant to edit their information.
Locate the "Centre Name" field in the form.
Select a different centre name from the available options.
Save the changes and observe the result.

Expected behavior
Upon selecting a different centre name while editing the Codetrek applicant information, the centre name field should be automatically updated to reflect the newly selected centre name. This ensures that the correct centre name is associated with the applicant, providing accurate information and tracking.
References

This issue is completed. Closing it.


Difference polled and monitored

Hi,
frist of all: Love your logger. Really great work to monitor machines.
We connected Influx with Grafana and have problems with monitored values:
Although all data seems to be the same in Influx (polled or monitored), variables that are being monitored are not shown as graph in Grafana.
Polling obviously means that the value is read from the OPC UA Server.
Monitored probably refers to an OPC UA Subscription by the client and every change will be event-triggerd to the logger.
Now where is the difference in InfluxDB, so that grafana perfectly shows polled values but not monitored values?
Thanks,
Felix

Seems like different timestamps are taken during the two ways of collecting data.
After 1h I got some data and realized that I can see data on the future. Seems like misconfigured timezones at the machine running the opcua server.


[Docs] The link in docs leads to an Error 404 page

Current State
When we paste the following link in the browser:

The result is this page:

Desired State
This is due to one incorrectly typed extra slash. The correct link after the upcoming fix will lead to:

Contributor Guides and Handbook

📚 Instructions for contributing to documentation

Meshery documentation site and source

🛠 Meshery Build & Release Strategy
🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hey there everyone! I would like to work on this issue if approved, please. Thanks😀

Hi @pratik2315, for minor bugs like this, you're welcome to submit a PR, the team will review and merge it.

Hi @pratik2315, for minor bugs like this, you're welcome to submit a PR, the team will review and merge it.

Hey there! Thanks. Are you saying in future I should refrain from creating an issue and directly create a PR or
are you saying I should just create a PR without taking any maintainer's permission for minor issues like these?
Sorry if my question didn't make any sense😅

I meant you can create an issue and also submit a PR if you're confident about it. You need not wait till the issue is assigned to you to submit a PR is what I meant :-)

I meant you can create an issue and also submit a PR if you're confident about it. You need not wait till the issue is assigned to you to submit a PR is what I meant :-)

Makes sense! Thanks a lot😁


Prompt for options

Fixes #84

TODO: Figure out how to display option.note below the question and hint how to use it next time with value provided.

Makes sense. I'll make it to detect undefined case instead.
On Thu, Apr 6, 2017, 10:48 Satyajit Sahoo<EMAIL_ADDRESS>wrote:

@satya164 requested changes on this pull request.
In src/cliEntry.js
https://github.com/callstack-io/haul/pull/107#discussion_r110108278:

const acc = {};

for (const option of options) {
const defaultValue = typeof option.default === 'function'

 ? option.default(acc)

 : option.default;

const parse = typeof option.parse === 'function'

 ? option.parse

 : val => val;

let value = flags[option.name] ? parse(flags[option.name]) : defaultValue;

if (

 // If value is required but not provided

 (option.required && !value) ||

What if value is a boolean? !value will match !true
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/callstack-io/haul/pull/107#pullrequestreview-31254976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWcxuUxbMQiFNzLlX_B9WicjjGjhDobks5rtKbsgaJpZM4M1SXl
.

@satya164 this is ready for another review.


Remove misleading bits from NM Docs

Remove the examples around "Methods that return more complex types (like std::string) can be implemented by returning void and accepting a bool and a ReactPromise:" which contradicts other docs and is a bit misinformed. Fixup some incorrect information about sync methods.

Closing since there is other work to revive these


[region-isolation] Wordsmith "{access,use} here could race".

I am doing this since it isn't always going to be an access. We may not have memory. We are talking about uses here!
I was able to just use sed so it was an easy fix.

@swift-ci smoke test


FEATURE: Efficiency Refactoring and Slot Selection for Staking Contracts

Feature branch for big changes to the staking contracts to improve efficiency for epoch phase transition transactions and  algorithm for random slot selection for new nodes.
Current Changes:

Changes approved node ID arguments to dictionaries instead of arrays

Cleans up some unnecessary code and should help with performance of certain transactions

Stores stakedNodeIDs as a dictionary in account storage and uses it to iterate over instead of all IDs

Should improve the performance of the calculateRewards function because the function will only iterate through staked node IDs instead of all node IDs
Also significantly helps the performance of getter functions like getProposedNodes and getStakedNodes because they just return the list of node IDs instead of having to iterate through the list to construct the nodes that are staked

NOTES FOR REVIEWERS: Ignore the FlowIDTableStaking_new.cdc file. I'm currently using this for testing because the flow-go dependencies don't like it when I make changes to the main contract file and some of the transactions.
I have not included any more tests because the functionality of the contracts is exactly the same so all the existing test cases are sufficient

I just merged the other two branches into this feature branch, but the CI is failing because the integration with flow-go is still broken. I'll talk with Jordan today about getting that resolved.
I've also written a transaction that we can use for the upgrade. I'll start putting it in a PR in the service account repo and a forum post so we can have a formal plan and announcement for it, but I'm leaving it here so people can start reviewing it.
Basically, there are some storage paths that we introduce as part of the upgrades that need to be initialized, and some existing paths that are having their types and values changed. The transaction performs all of those initializations and then does the upgrade.
import FlowIDTableStaking from 0xIDENTITYTABLEADDRESS

/// Transaction to upgrade the FlowIDTableStaking contract
/// to include performance improvements
/// and support permissionless node operation for access nodes
/// This transaction needs to be sent during the epoch setup
/// or epoch commit phase, because it initializes important
/// storage paths that are used to store fields
/// in the contract to track candidate nodes, staking slots,
/// limits, and more

transaction(code: [UInt8]) {

    prepare(stakingAccount: AuthAccount) {

        // Initialize Candidate Node List
        let emptyCandidateNodes: {UInt8: {String: Bool}} = {1: {}, 2: {}, 3: {}, 4: {}, 5: {}}
        stakingAccount.save(emptyCandidateNodes, to: /storage/idTableCandidateNodes)

        // Save Staking Slot Limits to storage
        // These are the current node counts, which access nodes increased by 5
        let slotLimits: {UInt8: UInt16} = {1: 108, 2: 117, 3: 7, 4: 85, 5: 117}
        stakingAccount.save(slotLimits, to: /storage/flowStakingSlotLimits)

        // Initialize the Moves pending list
        let movesPendingList: {String: {UInt32: Bool}} = {}
        stakingAccount.save<{String: {UInt32: Bool}}>(movesPendingList, to: /storage/idTableMovesPendingList)

        // Initialize the candidate Node Limits List
        // Currently, only access nodes are allowed as candidate nodes
        // because the other node roles are approval only
        let candidateNodeLimits: {UInt8: UInt64} = {1: 0, 2: 0, 3: 0, 4: 0, 5: 1000}
        stakingAccount.save<{UInt8: UInt64}>(candidateNodeLimits, to: /storage/idTableCandidateNodeLimits)

        // Borrow the admin to set minimum stake requirement for access nodes
        self.adminRef = acct.borrow<&FlowIDTableStaking.Admin>(from: FlowIDTableStaking.StakingAdminStoragePath)
            ?? panic("Could not borrow reference to staking admin")

        // Set Access node minimum stake requirement to 100 FLOW
        let minimums: {UInt8: UFix64} = FlowIDTableStaking.getMinimumStakeRequirements()
        minimums[5] = 100
        self.adminRef.setMinimumStakeRequirements(minimums)

        // Initialize the Staking Slot Counts
        // `getCurrentRoleNodeCounts` calculates the counts based on the current list
        // so we just store the result in storage after calculating
        Let slotCounts = FlowIDTableStaking.getCurrentRoleNodeCounts()
        stakingAccount.save(slotCounts, to: /storage/flowStakingRoleNodeCounts)

        // Approve List needs to be changed from [String] to {String: Bool}
        let approveList: [String] = stakingAccount.load<[String]>(from: /storage/idTableApproveList)
            ?? panic("Could not load the approve list from storage")

        // Create the approve list dictionary with the loaded value, then store the dictionary in the same path
        var approveDict: {String: Bool} = {}
        for nodeID in approveList {
            approveDict[nodeID] = true
        }

        // Participant Node list needs to be changed from [String] to {String: Bool}
        let participantList: [String] = stakingAccount.load<[String]>(from: /storage/idTableCurrentList)
            ?? panic("Could not load the participant list from storage")

        // Create the participant dictionary with the loaded value, then store the dictionary in the same path
        var participantDict: {String: Bool} = {}
        for nodeID in participantList {
            participantDict[nodeID] = true
        }

        acct.contracts.update__experimental(name: "FlowIDTableStaking", code: code)
    }
}


refresh dedicated turning lanes on load

tiny review (hide changes in white spaces when reviewing).
fixes #1137 see issue for details.
Lane arrow manager refreshes all segments with possible dedicated turning lanes on load if the dedicated turning lanes policy is active.
build: TMPE.zip

Hmm, what if user enabled Dedicated turning lanes loaded a savegame then changed arrows at some segments because he didn't liked turning lane result and saved game.
What will be the result after loading that new savegame with Dedicated turning lanes option still turned on? Will turning lanes be recalculated again ignoring lane arrow settings?

I noticed little performance/time issue -> while running Debug build of this PR enabling that option after loading the game and then updating all road segments took... 6min on my machine. Simulation has been frozen for that time because NetManager was forced to update all touched segments...

@krzychu124
Hmm, what if user enabled Dedicated turning lanes loaded a savegame then changed arrows at some segments because he didn't liked turning lane result and saved game.
What will be the result after loading that new savegame with Dedicated turning lanes option still turned on? Will turning lanes be recalculated again ignoring lane arrow settings?

it will be fine because this policy only changes the default settings. if user forces lane arrows then the forced arrows will override the default ones.

@krzychu124 I noticed little performance/time issue -> while running Debug build of this PR enabling that option after loading the game and then updating all road segments took... 6min on my machine. Simulation has been frozen for that time because NetManager was forced to update all touched segments...

There are two solutions to this:
A) other mods also mass update nodes/segments. if TMPE is so slow then that is TMPE's problem. maybe reduce verbosity? or use buffered log?
B) one solution is not to do this in debug build since this is not a problem in debug build anyway (but I don't know why).
C) perform this particular patch earlier as soon as settings are ready.

@krzychu124 I noticed little performance/time issue -> while running Debug build of this PR enabling that option after loading the game and then updating all road segments took... 6min on my machine. Simulation has been frozen for that time because NetManager was forced to update all touched segments...

There are two solutions to this:
A) other mods also mass update nodes/segments. if TMPE is so slow then that is TMPE's problem. maybe reduce verbosity? or use buffered log?
B) one solution is not to do this in debug build since this is not a problem in debug build anyway (but I don't know why).
C) perform this particular patch earlier as soon as settings are ready.

Logging has very low impact on overall time.
You see (I think you already know that), when you call UpdateSegment(x) game will mark the segment for update and also all other segments connected to both segment nodes, which will end up on updating 16 segments(at worst case) instead of just one.


Parse error when whitespace or comment follows line continuation

If there is any whitespace or comments following a line continuation, then there's an error:
program test
    write(*, "('Testing line continuation')", &
       &  advance='no', &   ! comment
          iostat=istat)
end program

Result:
- Actual
+ Expected

    (translation_unit
      (program
        (program_statement
          (name))
        (write_statement
          (unit_identifier)
          (format_identifier
            (string_literal))
          (keyword_argument
            (identifier)
            (string_literal))
-          (ERROR
-            (UNEXPECTED '&')
-            (comment)))
+          (keyword_argument
+           (identifier)
+           (identifier)))
        (end_program_statement)))

I guess this needs to be fixed in scanner.cc, but I don't quite understand how to fix it. I thought the following would be sufficient, at least when it's just whitespace, but it gives (UNEXPECTED '&'):
@@ -173,6 +173,10 @@ struct Scanner {
         }
         advance(lexer);

+        while (iswspace(lexer->lookahead)) {
+          advance(lexer);
+        }
+
         // Consume end of line characters, we allow '\n', '\r\n' and
         // '\r' to cover unix, MSDOS and old style Macintosh
         if (lexer->lookahead == '\r') {

@ZedThree I'm not sure exactly how to fix it either, it's been so long since I've been deep into the logic of how tree-sitter works I don't remember how scanner.cc factors in with the regular parsing flow (i.e. does it check the grammar.js rules when advance is called or not until it returns).

Here's another edge-case for line continuations from my Fortran teaching course:
    print*, "You picked a number between twenty and fifty,&
            & excluding forty-two"

& can appear inside string literals, in which case I'm reasonably certain it must appear as the first character (not column) on the next line.
I've read that tree-sitter doesn't aim for "type-II correctness", which I interpret to mean: "tree-sitter should be able to parse all valid programs, but not necessarily reject all invalid programs".
So that might give us some latitude to not worry so much about missing & on the second line


is TabrisJs.com offline?

I visit tabrisjs.com and eclipsesource.com on daily basis, today I can't open bith of them? Are they offline? I am asking this to make sure no site is being blocked on my internet line. Thank you.

I can access them from my location. A great site to ping to see the status is something like http://downforeveryoneorjustme.com/

Thanks @dested
I just tested and they are both online.
I opened them from my browser as usual and they work too. Thank you again.


Luxon support

Fixes #1283

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #1   +/-   ##
=======================================
  Coverage   88.82%   88.82%
=======================================
  Files          15       15
  Lines        1029     1029
  Branches      168      168
=======================================
  Hits          914      914
  Misses         23       23
  Partials       92       92

Continue to review full report at Codecov.

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


coding efficiency: avoid using const reference for Ptr type

Please hold on this merge related to GPS till this issue yesterday resolved. Thanks


Grammatical corrections for spanish translations at api, styleguide a…

Grammatical corrections for spanish translations at api, styleguide and README files.

Thanks!


Having trouble using on AWS

I've installed the ArrayFire libraries, pip-installed the python wrapper, and followed the directions on the wiki, but I haven't been able to run any code yet.
When I run af.info(), I get the following:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/arrayfire/device.py", line 32, in info
    safe_call(backend.get().af_info())
  File "/usr/local/lib/python2.7/site-packages/arrayfire/util.py", line 75, in safe_call
    raise RuntimeError(to_str(err_str), af_error)
RuntimeError: ('', 501)

I'm on an AWS g2.2xlarge, with the NVIDIA/Amazon Linux image.
Any debugging advice?

Did you go through this link as part of Post install instructions ? You need to set LD_LIBRARY_PATH to /usr/local/cuda/lib64:/usr/local/cuda/nvvm/lib64

I did.  Has anyone else had any trouble?

On Dec 23, 2015, at 7:31 PM, Pavan Yalamanchili<EMAIL_ADDRESS>wrote:
Did you go through this link as part of Post install instructions ? You need to set LD_LIBRARY_PATH to /usr/local/cuda/lib64:/usr/local/cuda/nvvm/lib64
—
Reply to this email directly or view it on GitHub.

@dela3499 Can you echo $LD_LIBRARY_PATH and verify ?

Sure thing. I'll do it first thing tomorrow morning.

On Dec 23, 2015, at 7:44 PM, Pavan Yalamanchili<EMAIL_ADDRESS>wrote:
@dela3499 Can you echo $LD_LIBRARY_PATH and verify ?
—
Reply to this email directly or view it on GitHub.

So, here's what I've got in my bashrc file:
# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific aliases and functions
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/nvvm/lib64:/home/ec2-user/arrayfire-3/lib:$LD_LIBRARY_PATH

# without symlink, still doesn't work
# export LD_LIBRARY_PATH=/opt/nvidia/cuda/lib64:/opt/nvidia/cuda/nvvm/lib64:/home/ec2-user/arrayfire-3/lib:$LD_LIBRARY_PATH

My CUDA libraries are in /opt/nvidia/cuda, rather than /usr/local/cuda, so I've put a symbolic link in place with
sudo ln -s /opt/nvidia/cuda /usr/local/cuda

@dela3499 Can you tell me what the output of ldd libafcuda.so from arrayfire-3/lib ?

It looks like I've got the CUDA 6.5 toolkit, and AF needs 7.5.
[ec2-user@ip-172-31-14-119 lib]$ ldd libafcuda.so
	linux-vdso.so.1 =>  (0x00007ffc63592000)
	libcudart.so.7.5 => not found
	libcublas.so.7.5 => not found
	libcusolver.so.7.5 => not found
	libcufft.so.7.5 => not found
	libnvvm.so.3 => not found
	libcuda.so.1 => /usr/lib64/libcuda.so.1 (0x00007fc1fc36a000)
	libforge.so => /home/ec2-user/arrayfire-3/lib/libforge.so (0x00007fc1fc0bd000)
	libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fc1fbd70000)
	libGLU.so.1 => not found
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fc1fba6b000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fc1fb768000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc1fb552000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fc1fb190000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fc1faf8b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc1fad6f000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fc1fab67000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fc1fa931000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fc1fa695000)
	/lib64/ld-linux-x86-64.so.2 (0x0000559111836000)
	libglfw.so.3 => not found
	libnvidia-tls.so.340.32 => /usr/lib64/tls/libnvidia-tls.so.340.32 (0x00007fc1fa491000)
	libnvidia-glcore.so.340.32 => /usr/lib64/libnvidia-glcore.so.340.32 (0x00007fc1f787e000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fc1f7543000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fc1f7330000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fc1f7107000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fc1f6ee9000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fc1f6ce6000)
```bash

```bash
[ec2-user@ip-172-31-14-119 lib64]$ pwd
/opt/nvidia/cuda/lib64
[ec2-user@ip-172-31-14-119 lib64]$ ls
be                   libcudart.so.6.5.14  libcuinj64.so.6.5      libnppc.so         libnpps_static.a
gfec                 libcudart_static.a   libcuinj64.so.6.5.14   libnppc.so.6.5     libnvblas.so
inline               libcufft.so          libculibos.a           libnppc.so.6.5.14  libnvblas.so.6.5
libcublas_device.a   libcufft.so.6.5      libcurand.so           libnppc_static.a   libnvblas.so.6.5.14
libcublas.so         libcufft.so.6.5.14   libcurand.so.6.5       libnppi.so         libnvToolsExt.so
libcublas.so.6.5     libcufft_static.a    libcurand.so.6.5.14    libnppi.so.6.5     libnvToolsExt.so.1
libcublas.so.6.5.14  libcufftw.so         libcurand_static.a     libnppi.so.6.5.14  libnvToolsExt.so.1.0.0
libcublas_static.a   libcufftw.so.6.5     libcusparse.so         libnppi_static.a   libOpenCL.so
libcudadevrt.a       libcufftw.so.6.5.14  libcusparse.so.6.5     libnpps.so         libOpenCL.so.1
libcudart.so         libcufftw_static.a   libcusparse.so.6.5.14  libnpps.so.6.5     stubs
libcudart.so.6.5     libcuinj64.so        libcusparse_static.a   libnpps.so.6.5.14

@dela3499 you can build arrayfire with 6.5 if you cant upgrade cuda.
Additionally, you will also need to set AF_PATH to /opt/arrayfire-3 to get it to pick up the libraries.
I fixed the issue in the python wrapper to not require the path, but it looks like the upstream version libraries seem to require it.

Thanks for the help!

@dela3499 btw I am going to update the package in an hour or so that should fix some of the issues.


Include Existing Reasonml Repo to the Readme

While looking to contribute by creating the app with reason react, I found the gothinkster repo for it: https://github.com/gothinkster/reasonml-realworld-example-app

It would be great if someone added CI/CD to the repo - it helps ensure code can be built.


init_if_needed + PDA is incompatible

Given the scenario:
    #[account(
        seeds = [
            b"RealmSpawnRecordAccountData",
            realm.key.as_ref(),
            &[params.spawn_record_bump],
        ],
        bump = params.spawn_record_bump,
    )]
    pub spawn_record: AccountLoader<'info, RealmSpawnRecordAccountData>,

you receive the error:
error: bump targets should not be provided with init. Please use bump without a target.

BUT if removed, you receive the error:
error: bump must be provided with seeds

What does the example have to do with init_if_needed?
Are you removing the bump completely? you should use it without a target. So just bump

closed due to inactivity


Parsing hypen in mountinfo incorrect

Hello,
Sometimes other field (like mount points) can have hyphen in them, causing mountinfo parser to put wrong information in wrong field.
I do think this line
https://github.com/prometheus/procfs/blob/master/mountinfo.go#L93
can be improved.
In my case, my usb drive mount point is, /media/isa/300A-6F09, this could cause incorrect optional field separation.

Yup, there are other cases where this is broken. We also want to eliminate the use of buffio scanners, so I think a bit of a re-write is in order. It might be worth making this a regexp parser.


No server authentication

If we assume Cloudflare aren't trustworthy (here be dragons), they receive and pass on identifiable data along with uploaded contact events. Not sure there's much that can be done about this.
However, they could also MITM the keys. It's difficult to pull off without leaving a trace but relatively easy to fix.

Picked up in https://github.com/vteague/contactTracing/blob/master/blog/2020-05-19UKContactTracing.md and will apparently be fixed.


Fix #7 split tables to separate files for import

The only change to get this working was uploading multiple files to S3 with a number suffix (.1, .2, ...).  I chose an arbitrary chunk size which produced ~250M files for me.
For now, all the tables are split up in this way, not just the excessively large ones.  The Redshift COPY command didn't need to modified to notice the new convention, since Redshift auto-magically loads all files matching a prefix.  And folders for every table are not required as I had pondered in #7.
I preserved the gem's current file naming convention as the prefix for the S3 files -- export\TABLE.psv.gz.  Before uploading a table to S3, I delete all the previous uploads with this prefix.  Previously, there was only one file with the name, so only the exact S3 file ("key") would be deleted.  Since the old name matches the prefix, any files of the old sort will be expunged, as well. So this helps with S3 buckets with pre-existing, un-split, un-suffixed files uploaded by this script.  Any and all old-style S3 files will be deleted and be replaced by the new number-suffixed files.  The fear was that an old-style S3 file would stick around and be re-imported to Redshift.  That won't be a problem it seems.
The code I wrote is a bit ugly and could use some re-work, but it shows it can be done.
Unfortunately, it didn't solve my problems with 66GB tables.  I'm getting an Invalid connection! (PG::Error) from the source Postgres database (at RDS for me).

This is great! Yeah, I'm not sure how much it helps on its own, but it is pretty much a prerequisite if you start doing LIMIT / OFFSET in the COPY.
Let me take a look at this and get back to you.

Also, wanted to say thanks again for all the great contributions!

Ok, I added a commit to define the byte size constants, and also made some separate cleanup commits.  I'm happy to squash them together.

Sorry, I haven't had time to test this yet. I don't have a sandbox to use at the moment, so I need to spin one up again.
I'll check in a cloud formation for integration testing this once I get one set up.

thanks!

Cool, thanks for merging and releasing!  Bummer we can't figure out why the Postgres connections become stale and unusable.  Further research can continue in #16 though

Indeed. I'm about to head out on vacation, but I'll see what I can do about that.


create-tauri-app fails

When using any create-tauri-command (cargo, npx, yarn etc)
I get the same error on cli:
$ npx create-tauri-app
npm warn exec The following package was not found and will be installed<EMAIL_ADDRESS>? Project name (tauri-app) › error: Função incorreta. (os error 1)
I already tried installing the client again many times

Just noticed that works in powershell as admin (maybe admin related problem)
irm https://create.tauri.app/ps | iex


add storage layer

[ ] basic data layout and data partition design
[ ] enable data write path
[ ] add server client arch

[ ] add server
[ ] add client driver(rust)
[ ] change baseops to use client driver
[ ] change baseshell to use client driver

[ ] basic stress tests and benchmarks

the problem fixed in TensorBase Frontier. this TensorBase repo is restarting as TensorBase BE.


UR control via Ros2 Humble Python node

Hi everyone,
this isn't really an issue, but since there is no Disscussion-Section here I thought that I would ask my question here.
I'm trying to control the joints of an ur10 (in Gazebo) via a node. I construct a FollowJointTrajectory.Goal() message and I'm trying to send that via an ActionClient(self, FollowJointTrajectory, "joint_trajectory_controller).
Unfortunately I get stuck when I'm waiting for the server, which I thought was being spawned when launching the UR. Does anyone know what's going on and wants to help me?
So here' my code:
#!/usr/bin/env python3
import rclpy
from rclpy.node import Node
from rclpy.action import ActionClient
from rclpy.time import Duration

from trajectory_msgs.msg import JointTrajectory, JointTrajectoryPoint
from control_msgs.action import FollowJointTrajectory

class Ur10ManualJoints(Node):

    def __init__(self):
        super().__init__('Ur10ManualJoints')
        self.actionClient = ActionClient(self, FollowJointTrajectory, '/joint_trajectory_controller')

        self.execute()

    def sendTrajGoal(self, joint_namen, joint_pos, duration):
        zielMsg = FollowJointTrajectory.Goal()
        zielMsg.trajectory.joint_names = joint_namen

        pkt = JointTrajectoryPoint()
        pkt.positions = joint_pos
        pkt.time_from_start = duration

        zielMsg.trajectory.points.append(pkt)

        self.get_logger().info("waiting for server...")
        self.actionClient.wait_for_server()
        self.get_logger().info("sending Action Goal...")
        self.actionClient.send_goal_async(zielMsg) #vllt mit return
        self.get_logger().info("Action Goal sent!")

    def execute(self):
        jointNamen = ['shoulder_pan_joint', 'shoulder_lift_joint', 'elbow_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint']

        jointPos = []

        for jointName in jointNamen:
            pos = input(f"Enter position for {jointName}:")
            jointPos.append(float(pos))

        duration = rclpy.time.Duration(seconds=5).to_msg()

        self.sendTrajGoal(jointNamen, jointPos, duration)

def main(args=None):
    rclpy.init(args=args)
    node = Ur10ManualJoints()
    rclpy.spin(node)
    rclpy.shutdown()

if __name__ == '__main__':
    main()

Hey! If you fixed this, could you explain how please? I'm having a similar issue.


have_received(...).with(...) exception on 3.2

I have a simple example, something like:
it "should share a post when created" do
  post = create(:post)
  expect(SharingService).to have_received(:share).with(hash_including(id: post.id))
end

For this example, let's say that SharingService.share is called on after_create with {id: post.id} and maybe other keys/values, and I want to validate it.
With 3.2 and #868 - I get this error:
`have_received(...).with(...)` cannot be used when received message args have later been mutated. You can use a normal message expectation (`expect(...).to receive(...).with(...)`) instead.

I can't use receive().with() because I don't have the ID of the post, and the operation is done inside the creation stage.
Worked perfectly with 3.1. I think the issue is only with hash_including or other matchers.
Is there another way to do it, or is it a bug?

@JonRowe closed?

This warning is new in 3.2, its being triggered because the hash is mutated

Not sure why he closed it so quick, but for the story behind this see #865 and the fix we applied in #868. have_received is not able to work properly when the arguments passed on a spied method call are mutated before have_received is used, so we now explicitly tell you rather than having buggy behavior.
Can you change your logic so that it no longer mutates the hash after passing it to SharingService.share?  (That's generally a good idea, anyway).
Alternately you could do something like:
it "should share a post when created" do
  shared_id = nil
  expect(SharingService).to receive(:share) { |id:, **rest| shared_id = id }
  post = create(:post)
  expect(shared_id).to eq(post.id)
end

I closed it because I initially thought this was due to the hash being mutated (was half way through writing a reply then got distracted, sorry) but I actually think this could be a legitimate bug caused by using the matcher?

but I actually think this could be a legitimate bug caused by using the matcher?

If you look at the implementation in #868, you'll see that the argument to with doesn't even come into play when deciding whether or not to raise this error -- it's based entirely on the value of arg_list.hash when the message was received vs when have_received is used.  So either the hash was indeed mutated or there's a buggy implementation of #hash on your hash object (e.g. due to a monkey patch by something).

BTW, it may not be the hash itself that's been mutated -- it could be one of the keys or values in the hash, or an object referred to by one of the keys or values, that's been mutated.  I believe Hash#hash is a function of #hash on all its keys and values so if any of them are mutated the hash indicates that it has mutated.

Ah was just about to look into it, you're correct of course :)

I'm not sure I understand what hash was mutated. Can you please explain?

The argument to #share

(sorry wrong button that time)

The argument to #share

Right...it could be the implementation of #share itself that mutates the provided hash.  Or it could be that the caller retains a reference to the hash passed to #share and mutates it...or something #share delegates to, etc.

So if I have:
class Post
  after_create :share
  def share
    SharingService.share id: self.id, message: self.title
  end
end

class SharingService
  def self.share(id:, message:)
     ...
  end
end

(Just an example, not the real code)
What's mutated?
Or does it happen only if SharingService looks like:
class SharingService
  def self.share(options)
     id = options.delete(:id) # now I'm mutated!
     # ...
  end
end

?
If the latter is the case I'll probably have to change the spec logic as you suggested.

The former doesn't mutate anything, as far as the included code goes. (The logic in ... could mutate message or id later, though).
The options.delete(:id) does mutate options -- and it means that the mutation is visible to the caller, too, which you generally don't want...it tends to lead to surprising bugs and be hard to reason about.  You can always add an options = options.dup at the first line, or stub SharingService.share in your spec so that logic isn't run.

Got it, thanks. It was indeed mutated somewhere.
Here's another issue:
allow(UserPasswordService).to receive(:set_password).and_call_original
user = UserService.create! email<EMAIL_ADDRESS>password: "abcdefg"
expect(UserPasswordService).to have_received(:set_password).with(user, "abcdefg")

The UserService mutates the user by setting its attributes, and UserPasswordService sets more attributes.
If I don't call original user won't have password fields and SQL will fail.
I couldn't combine and_call_original with the block to catch the arguments as suggested earlier.
Suggestions?

I couldn't combine and_call_original with the block to catch the arguments as suggested earlier.

You can use and_wrap_original:
updated_user = nil
expect(UserPasswordService).to receive(:set_password).and_wrap_original do |original_method, user, password, &block|
  updated_user = user
  original_method.call(user, password, &block)
end

user = UserService.create! email<EMAIL_ADDRESS>password: "abcdefg"
expect(updated_user).to eq(user)

All that said, IMO it's a code smell to use partial doubles (e.g. to use mocking on a real object rather than a test double).  The "mock roles not objects" principle is about using a test double to fill a role as an alternate implementation of some protocol.  Given that you're using real objects rather than test doubles, I would recommend doing state-based verification instead.


Compress subset of reads

It would be nice if there was an option to pass a list of read IDs you want compressed. Similar to the -l,--read_id_list option in fast5_subset.

This subset option is available in slow5tools get module. Slow5tools get takes a blow5 file and a list of readid as inputs and produce an output with only the records specified in the list. Will this be suitable for your usecase?

Ah sorry, missed that. Yes and no. In an example where I have 1000 fast5 files and only want to compress say 20 of them, I would need to compress them all and then subset after that with get. It is a minor edge case I realise sorry.
I realise there are other ways of doing this, like subsetting with fast5_subset upfront and then compressing that subset. But in that example I end up duplicating the fast5 data initially and it's one extra step.
Anyway, it would be a nice feature to have in f2s, but I appreciate it isn't high on the priority list given there are a couple of ways of achieving the same result. Do you think it would be something you would be interested in adding at some point?

Hi @mbhall88
Due to the requirement of multi-processes to go around HDF5, the need to support multi and single fast5 files and all those weird inconsistencies in FAST5 files, now this f2s programme has got a bit complex. Also because f2s is used for converting to slow5 we are being extra careful to avoid any bugs and do a massive amount of testing after each tiny modification. I will discuss with @hiruna72 if we can get this option without major source code modification in slow5tools 0.5, the next next release though.
Slow5tools 0.4 will be soon released with the option to retain directory structure, as well as some performance improvements to split subtool after I do some integrity tests. Also, we are improving this real-time fast5 to slow5 conversion script and documenting it properly https://github.com/hasindu2008/slow5tools/tree/dev/scripts/realtime-f2s, in that way one can run it directly on the sequencing acquisition computer so that SLOW5 are available as soon after the sequencing run. You can give it a go.

Thanks @hasindu2008. Appreciate the information. Let me know when you've discussed with the team and whether you think it will be included at some future time.

As this new POD5 format is coming, we thought of putting effort into writing the converter for it. While doing it would be able to do this feature into the POD5->BLOW5 converter if you are still interested.  As FAST5 is being phased out by ONT, I think it is not worth putting effort into the FAST5->BLOW5 converter to implement this feature, especially given that there are other ways to achieve it (like converting to blow5 and then using slow5tools get, even though not the most efficient way).


Project : Add Weather App

Please assign this issue to me under hactoberfest

Please assign this issue to me


query result 'promise' in internal format

The bottleneck for high performance io is the serialization/deserialization process.
It would be nice if the query result of  sparql construct can be in the form of a 'promise', that, when given to the Store.load method it would be equivalent to an sparql insert (the data didn't leave the db).
perhaps something like Store.bulk_quad_add could be made to improve performance.

Hi @majidaldo! Thank you for your interest in Oxigraph.

It would be nice if the query result of sparql construct can be in the form of a 'promise', that, when given to the Store.load method it would be equivalent to an sparql insert (the data didn't leave the db).

I see the point. But, genuine question, in the case of the source and target storages are the same, why not just use a SPARQL insert operation? And if they are different I believe that the existing API should be fairly efficient (at least in Rust).

perhaps something like Store.bulk_quad_add could be made to improve performance.

Something in this direction is already available in the Rust API.

I see the point. But, genuine question, in the case of the source and target storages are the same, why not just use a SPARQL insert operation? And if they are different I believe that the existing API should be fairly efficient (at least in Rust).

Right...

perhaps something like Store.bulk_quad_add could be made to improve performance.

Something in this direction is already available in the Rust API.

Well in the python bindings there's just Store.add(1quad). Invoking this function repeatedly I'm assuming will be slower than quads -> serialize(quads,bytes,format) -> Store.bulk_load(bytes, format) .
(can close if no plan)

Well in the python bindings there's just Store.add(1quad). Invoking this function repeatedly I'm assuming will be slower than quads -> serialize(quads,bytes,format) -> Store.bulk_load(bytes, format) .

That's a good point. I should definitely add a bulk_add function in Python that adds all the quads from a given iterator. Thank you!

Done in #426


Pin specific dockcross version

Replaces #88. For #85, know exactly which version of dockcross is being used.

Pull Request Test Coverage Report for Build #255

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 99.294%

Totals

Change from base Build #252:
0.0%

Covered Lines:
422

Relevant Lines:
425

💛  - Coveralls

How did you figure that out!?


CAMEL-14929: Changes S3Object manipulation to avoid consume large S3 into the memory

This PR addresses CAMEL-14929 which the goal is to give an option  to do not only consume S3 objects into the memory and let the S3Object open so them can be manipulated by the next steps in the pipeline.
With such behaviour is possible to process large S3 objects in a more memory friendly fashion (streaming).

@avaz any news?

Hi @oscerd ,
TL;DR
Integration tests are added for the changes related to this PR as I couldn't get to add localstack tests.
I couldn't add tests using the localstack due the fact that localstack test seems to interact with camel in a different way, essentially the functional class the I made the change (src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Endpoint.java) is not being called by localstack. I checked that by debugging one of localstack tests (src/test/java/org/apache/camel/component/aws2/s3/localstack/S3ConsumerLocalstackTest.java) and the debugger didn't hit the AWS2S3Endpoint.java class. Therefore I decided to add integration test instead and I did that in the class src/test/java/org/apache/camel/component/aws2/s3/integration/S3ConsumerIntegrationTest.java.
Please, let me know if this is enough or if possible provide some guidance on how to implement the same tests using localstack. I would expect if I copy and paste the tests from the integration test class to the localstack class would as is.
Another thing is that I didn't is about the java docs, where they are generated and what kind of build I run to generate them? So far I'm run mvn clean install -Pfastinstall at the project root to have the build done. However I don't see any java doc being generated. Could you provide guidance here as well?

The endpoint is used anyway, so I don't way why the test with localstack should not be used. Do you have docker running? By the way, the Pr is enough. For the javadoc, you need to do clean install -DskipTests, btw I'll do that once I merge. Thanks

Thanks, merged on master.