Begone with version-hack.mk and other build-sys messiness

Description
This is a big PR that maybe I should have split up, but here we go!
  That is: things are in fact getting smaller and simpler, not bigger and more bloated.

Way back when, we'd ended up in a situation where there were a bunch of output-files that were being checked in to Git, and other parts of the build process wore consuming them.  Because they were checked in to Git, many of the things that consumed them  didn't actually declare dependencies on them, as they would count on them already being there from Git.  And I don't mean make generate-type-infrequently-updated files, these files were changing ~all the time. It made (among other things) releasing a nightmare.  So version-hack.mk was an awful hack to get us from that bad place to a marginally less-bad place: It stopped checking the files in to Git, and instead caused them to get generated/updated at Makefile parse time, before the rest of the Makefile starts running. Then later, we can clean up those files and properly declare dependencies and such.
Well, "later" is now.
There are a few parts to this:

The version-hack.mk version of the recipes all declared dependencies on FORCE, because they effectively depended on the values of variables rather than the contents of files; and that's not a dependency you can express in Make.

So, as best I can, I encode those variable values in to filenames.  Instead of a file "mysteriously" depending on $(VERSION), the filename is build-output/whatever-$(VERSION); and then the recipes for build-output/whatever-% use $* to get the value of VERSION, rather than looking at $(VERSION) directly.
But, there still were a couple of variables I couldn't figure out a good way to do that for (specifically DEV_REGISTRY and RELEASE_REGISTRY).  Well, it turns out that many moons ago I invented a way to depend on variable values in Make: build-aux/var.mk. (It's really neat how still, several years later, we're spending time fixing problems that we already had solutions to long ago but threw away because reasons™.)  Anyway, those targets can declare dependencies on $(var.)DEV_REGISTRY and $(var.)RELEASE_REGISTRY instead of having to declare a dependency on FORCE.

Move all of the files around; put them all in build-output/.  This is partially to make it clear to humans that they're outputs, but also in order to identify all of the places that need to be updated to depend on them.
It's not just updating filenames and declaring dependencies; a key thing is to look at whether the thing is actually needed; whether the dependency aught to exist. Generating the Helm chart depends on $(VERSION), and generating the checked-in YAMLs depends on the Helm chart; but the checked-in YAMLs have the version stripped out, so having $(VERSION) in that dependency chain turns out to be silly.  So in some cases that means instead of depending on build-output/chart-$(VERSION) you depend on build-output/chart-2.0.0-bogus to signal that you don't actually care about the VERSION.  In some cases (like agent_test.go) it means going for the source *.yaml.in files directly instead of the output *.yaml files.

As usual for me, I suggest a commit-by-commit review:

The first 11 commits (the misc cleanup: and consolidate: commits) are cleaning up the things that I'm going to be touching (or cleaning up messiness I noticed while touching them), to make them easier to edit.
The 12th and 13th commits are doing something big and cool that maybe should have been a separate PR: (1) Don't use Docker to run ct for testing the chart; run it outside of Docker!, and (2) integrate the chart stuff in to the main build system, finally killing the vestiges of the fact that the chart used to be in a separate repo.
Then we have 3 commits that move files out of version-hack.mk, turning them in to properly-depended-on outputs (or in the case of versions.yml just removing it entirely). (see the discussion above)
Then we have 1 commit actually removing version-hack.mk.
Then we have 2 commits that that clean up the docs-yaml stuff to match the new scheme.  This is made possible by the aforementioned removal of versions.yml.

Testing
CI turns green. I haven't (yet?) tested the release machinery with this.
Checklist

[x] I made sure to update CHANGELOG.md. - no applicable changes
Remember, the CHANGELOG needs to mention:

Any new features
Any changes to our included version of Envoy
Any non-backward-compatible changes
Any deprecations

[x] This is unlikely to impact how Ambassador performs at scale. - not a runtime change
Remember, things that might have an impact at scale include:

Any significant changes in memory use that might require adjusting the memory limits
Any significant changes in CPU use that might require adjusting the CPU limits
Anything that might change how many replicas users should use
Changes that impact data-plane latency/scalability

[ ] My change is adequately tested. - release machinery could stand to be tested
Remember when considering testing:

Your change needs to be specifically covered by tests.

Tests need to cover all the states where your change is relevant: for example, if you add a behavior that can be enabled or disabled, you'll need tests that cover the enabled case and tests that cover the disabled case. It's not sufficient just to test with the behavior enabled.

You also need to make sure that the entire area being changed has adequate test coverage.

If existing tests don't actually cover the entire area being changed, add tests.
This applies even for aspects of the area that you're not changing – check the test coverage, and improve it if needed!

We should lean on the bulk of code being covered by unit tests, but...
... an end-to-end test should cover the integration points

[ ] I updated DEVELOPING.md with any any special dev tricks I had to use to work on this code efficiently. - arguably there are some Make tricks, as discussed above. But I'm not sure DEVELOPING.md is the place for them.

Landing, with any other work to be in separate PRs.


Compiler Redo

Fixes  #978
Fixes #1716
Deprecated execute, compile and circuits_to_qobj and replaced with run_circuits, synthesize_circuits and assemble_qobj.
assemble_qobj takes a list of circuits and makes a qobj. It uses a run_config to make it and supports an additional user_qobj_header for additional header input. See below and allows #1716 to work. The name change is because it is not a conversion like implied with circuits_to_qobj
synthesize_circuits takes a list of circuits and a pass_manager with a transpile_config to make a new set of circuits (this is why it does not replace compile). This is the ugly code at the moment but we need to rework the transpiler to make it cleaner.
run_circuits is a wrapper to replace execute and look more like aqua run_algorithms. It takes the list of circuits, a backend, a run_config, a transpile_config, a pass_manger and a user_qobj_header to simplify running the circuits on a backend.
The deprecated functions are made to call the new functions.
For example for #1716
from qiskit.qobj import QobjHeader
user_qobj_header = QobjHeader(description = 'paul is so cool')

job_sim = run_circuits(circuits, backend, user_qobj_header=user_qobj_header)

Then to get the description use
job_sim.qobj().header.description

or
job_sim.result().header.description

@nonhermitianI know you wanted job.description but I wonder if this is ok as the search function can call this.
concerns
@ajavadiaI do like having objects but in a wrapper, I wonder if for the user of run_circuits a list long inputs is prefered so for the wrapper user they don't have to make the objects (transpile_config, pass_manger, user_qobj_header, and run_config)  to run the circuits.
Todo
[ ] clean up the transpile code (synthesis part).
[ ] need to give examples
[ ] need to make some more test
[ ] give some optional values to transpile_config could not do this with the backend getting hacked into it.
Follow up PR1
I would be to replace qobj_to_circuits with a function that returns the circuits and the run_config, and a user_qobj_header.
I imagine it is something like
[circuits, run_config, user_qobj_header] = disassemble_qobj(qobj)

follow up PR2
A function to simplify getting the options for the compiler.
[run_config, transpile_config] = default_compiler_configurations(backend)

follow up PR3
Really get the idea going of an analysis phase that gives some extra information for the synthesizer phase.
follow up PR4
decide on how to address #1714.

Great. It fixes https://github.com/Qiskit/qiskit-terra/issues/883 too.

I'm moving this discussion to an issue and adding https://github.com/Qiskit/qiskit-terra/wiki/Terra-high-level-workflow-API.

why close this? this already does most of the things, so we can pull request into this branch with any possible changes.

I'm merging this and will follow up with a clean up of transpile so that TranspileConfig doesn't take a backend.


After update to 2.10.3 everything stopped working. Ubuntu 16.04 (4.13)

After update lib to the latest version (I had 2.10.1 before):
http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial/main amd64 librealsense2-utils amd64 2.10.3-0~realsense0.66 [1,319 kB]
http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial/main amd64 librealsense2-dev amd64 2.10.3-0~realsense0.66 [207 kB]
http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial/main amd64 librealsense2-dbg amd64 2.10.3-0~realsense0.66 [43.2 MB]
http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial/main amd64 librealsense2 amd64 2.10.3-0~realsense0.66 [1,659 kB]
http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial/main amd64 librealsense2-udev-rules amd64 2.10.3-0~realsense0.66 [6,042 B]

Everything is crashing during start:
alex@alex:~$ realsense-viewer
Illegal instruction (core dumped)
alex@alex:~$ rs-terminal
Illegal instruction (core dumped)

System info:
alex@alex:~$ uname -a
Linux alex 4.13.0-37-generic #42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Just in case if you need gdb info
alex@alex:~$  gdb realsense-viewer
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from realsense-viewer...Reading symbols from /usr/lib/debug/.build-id/cf/c97ace73a3ab0c840548fdeeabee84e2f4742f.debug...done.
done.
(gdb) run
Starting program: /usr/bin/realsense-viewer
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
librealsense::logger_type::logger_type (
    this=0x7ffff7d8fb60 <librealsense::logger>)
    at /home/perc/workspace/RealsenseSDK_Gated_master__Debian_CreatePackage/src/src/log.cpp:81
81	/home/perc/workspace/RealsenseSDK_Gated_master__Debian_CreatePackage/src/src/log.cpp: No such file or directory.

Rolback to 2.10.1-0~realsense0.62 has fixed the issue

Hi @manusovich
We are looking into the issue and going to publish a fix soon, thank you for reporting it.

Should be resolved in v2.10.4


Added at_onboarding_flutter and at_contacts_flutter sample apps

templates:

[x] app
[x] at_contacts_flutter
[x] at_onboarding_flutter
[x] chit_chat
[x] snackbar
[x] snackbar_sender

- What I did
Awaiting closure of #70 first.

Added two samples from at_widgets repository

at_onboarding_flutter
at_contacts_flutter

Added json-schemas for brick.yaml and template.yaml to make template maintenance easier
Cleaned up the build configurations for all templates

- How I did it

Copied the lib folder from each example, wrote the necessary config files for each template
Built and bundled at_app

- How to verify it

Pull this branch
List the samples with dart run at_app/bin/at_app.dart create --list-samples
Run dart run at_app/bin/at_app.dart create -s <sample> <path/to/output> for each sample
Run each generated sample app and verify that they work

- Description for the changelog
Added at_onboarding_flutter and at_contacts_flutter sample apps

Thoroughly tested all templates prior to merge


Feedback for: engine/getstarted/step_four.md

File: engine/getstarted/step_four.md
this is not suitable for Centos,which can not run ok.

run in the shell is OK

and the file content is:

Assigning to self since getting started is getting replaced

This topic no longer exists.


remove dead dependency: single

it depends on failure, which is deprecated

Paging @CAD97. Not sure who maintains this crate, if anyone?

I'm officially the maintainer of both pest-ast and single.
I consider single deprecated; itertools offers a better version of the functionality now.
Pest-ast, unfortunately, while it's functional and I know some people are (reasonably) happy with it, never really got past the experiment phase. The typed view it provided was incorporated into pest 3 plans, effort was moved to that project, and then that fell through.
I'm also not super happy with pest-ast: defining a PEG parser[^1] declaratively and then your AST declaratively separately does not sit well. Despite parsing and the (high level) AST being different problems, they share a significant amount of structure. But due to how writing PEG works, you end up with a parse tree (and “grammar” definition) significantly different from the logical syntax tree (even before any abstracting layers) corrupted by implementation details; solutions to remove left recursion, flat binop chains[^2] fixed by a later pratt parsing pass, and such.
[^1]: Somewhat controversial opinion: a PEG “grammar,” while it does define a grammar in the formal sense (i.e. a set of strings), as far as authoring and using it goes, is much better described as a declarative way to do recursive descent parsing. PEG is literally “Parsing Expression Grammar,” so this should be obvious, but it's very much not what people expect when they see a “parser generator” that generates a parser based on a “grammar.”
[^2]: This is emblematic of PEG being a parser grammar first: how you do solve left recursion is exactly how left recursion is solved in recursive descent: as a simple expr ~ (op ~ expr)* loop.
Add onto this other trivial things pest makes unnecessarily difficult; things like disallowing keyword as identifiers is trivially implicit[^3] when using a separate lexical classification phase, but pest uses a lexerless design. (Which I will admit is still very much in vogue; even generators which use split lexing are most commonly used with “lexerless” definitions mixing lexer and parser rules... which makes explaining the difference in behavior in multipass and lexerless parsing even more difficult...). pest is unapologetically pure PEG, but this makes parsing even really simple things that aren't easily described in a context-free manner near impossible. (Actually impossible, in the case of things that aren't formally context free, like Rust raw strings[^4].)
[^3]: Though perhaps too much so — I'm a fan of conditionally reserved words, and “soft keywords” are underused in grammar design. If a keyword can only show up in a position where identifiers cannot (e.g. it introduces an item and you don't allow defining items and non-items in the same syntactic context), it shouldn't be prohibited in identifiers.
[^4]: Which are technically context free, but only by the fact that the number of # has an upper bound, and the exact same logic proves any finite set of strings is itself context free, even if there is no better way to represent the set than pure enumeration.
TL;DR while I'm the defacto maintainer of the pest crates... I really dislike some of the fundamental choices pest makes. I could make a new parser that makes better choices... but while it may share syntax and a name, it wouldn't be pest.
Thanks for the ping, though; I'm going to make and promote a “reviving pest” discussions post to give org access to some community member willing to take over maintenance. Feel free to angrily @ me weekly if I don't get around to it 🙃

This patch still builds. Note, btw. That the transitive dependency failure has two security advisories 1 2.


Survival mode

LordSim0n suggested a survival mode. In this mode, the bot can only place blocks that were previously mined.

Wow, that is awesome, pls do it! That would be cool!!

This is now implemented. Blocks drop as if they were mined with silk touch. Sheep drop two wool blocks when sheared.
I also added a new validator so that environments can check the bot's inventory.

Awesome I will look at it soon!


Alignment with UCLH Tower Flow document

See https://liveuclac-my.sharepoint.com/:w:/r/personal/rmhkarr_ucl_ac_uk/Documents/Patient_Flow_and_Capacity_Escalation_Policy_August_2022_with_LW_and_SB_updates_%5B1%5D.docx?d=w47c72f9a122c49c6acda1603ecb4c334&csf=1&web=1&e=P3NAtM

keep this as it drives the UI design for the aggregation output
that is to colour code the predicted occupancy as above


NuxtServerError: connect ECONNREFUSED ip:80

Hi! In order to debug through your issue, please provide all the following information:

Version of Node.js
Version of Express
Complete code that has the issue we can copy and paste and run
Complete instructions on how to reproduce the issue

Thanks!

Thanks
Node.js Version ：v9.2.0
express Version ：4.15.3
servier.js
import express from 'express'
import { Nuxt, Builder } from 'nuxt'
import api from './api'
const app = express()
const host = process.env.HOST || '<IP_ADDRESS>'
const port = process.env.PORT || 80
app.set('port', port)
// Import API Routes
app.use('/api', api)
// Import and Set Nuxt.js options
let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')
// Init Nuxt.js
const nuxt = new Nuxt(config)
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
builder.build()
}
// Give nuxt middleware to express
app.use(nuxt.render)
// Listen the server
app.listen(port)
console.log('Server listening on ' + host + ':' + port) // eslint-disable-line no-console
and
Listen :3000 is ok：

but Listen :80is error：

@dougwilson

I'm not sure I understand.  If it works fine on 3000, but then you change the server code to lusten on port 80, then of course you'll get an error when you now try to connect to port 3000. You need yo connect to port 80 if you listen on port 80.

What do I need to do? @dougwilson

@18717700273 if you want to listen on port 80, you should use a reverse proxy like nginx to do it.

This seems to be from the nuxt.js you are using, and not related to Express. I suggest either removing nuxt.js or posting on the nuxt.js support. From your screenshot you are connecting to port 80 fine but then something in nuxt.js is still trying to connect to port 3000.


Helpful assertion for isAlwaysShown error

Description
When a scrollbar's isAlwaysShown is true, it must have a controller that's attached to a scrollview. Previously, an assertion deeper in the framework would get triggered if this wasn't the case, with an error message that's not so informative.  This PR adds an assertion directly in the constructor with a more helpful error message.
Related Issues
Closes https://github.com/flutter/flutter/issues/53771
Tests
I added the following tests:

Check that an assertion is triggered when no controller at all.
Check that an assertion is triggered when the controller isn't attached to a scroll view.
The two above tests for material and cupertino.

@onatcipli Does this look good to you?  I wanted to make sure people understand they need to pass a controller to avoid confusion like in https://github.com/flutter/flutter/issues/53771#issuecomment-635723884.


fix(pipe): Special handling for 0-arg case.

Optimize calling pipe with 0 args.
Closes #4933
There is an if (!fns) check in the pipeFromArray helper, and it results in noop. The test for pipe says the 0-arg case returns a no-op, but it checks for identity. The test is probably meant to test for that check, but the check is for the lack of an args array, so I added a check for that test to test and fixed the test's label.
The if (!fns) check might not be necessary at all. It is unreachable from client code, since pipeFromArray is internal, and is only used from pipe, which will never pass null/undefined.

The right predictable behavior may be to throw an error. The sum of an
empty collection of numbers is 0, but what is the sum of a null of numbers?

The right predictable behavior may be to throw an error.

I'm fine with it throwing an error. I just don't think it should return a no-op.
Given that the type signature requires an array to be passed, I think removing the entire if (!fns) statement. If fns is undefined or null, it will throw when fns.length is evaluated. And that's fine by me.

Removed the check for nonexistent array argument.

Oh, I see, we wanted to keep the error on the fn.length call in that case ... I'll revert my change. It's a weird corner case anyhow.


Filter

This is a pretty good little tool and the best one I've seen yet, but you should add a player filter at some point.
I wish I could set it to only pick up strawberry for example, or block Firefox from being picked up at all.
I don't need people to know I'm watching a video on youtube about the history of pancakes at 3 AM because I forgot about it running.
Keep up the amazing work.
In case anyone was wondering.. https://www.youtube.com/watch?v=SD3WKbXhm6M

Yes, I am aware of the fact that this needs some sort of white/black list.
For now, you can use the -n or --player-name argument to get data from only one specified player. I wrote about this in the readme here.
But in short. You can list all active players with this argument:
./mpris-discord-rpc --list-players

Then copy exact player name from list and use it with -n or --player-name argument like this:
./mpris-discord-rpc --player-name "Insert name here"

So for example for VLC use it like this:
./mpris-discord-rpc --player-name "VLC media player"

From now on it will only listen to this one player and ignore the others.
I had planned to add white/blacklist functionality to filter players but didn't really need such a feature so I forgot about it.
But as you ask, I will add such an option in the near future (this weekend maybe) as it won't be a big problem.

I missed seeing that and that's totally my bad.
Thank you very much for your work.

So in version v0.1.4, I added an allowlist to filter music players:
./mpris-discord-rpc -a "VLC Media Player" -a "Chrome" -a "Any other player"

This is incompatible with the previous -n argument so you can use either -a or -n but not both at once.
Btw thanks for the kind words, I wrote this tool just for me and I'm happy that it could still be useful for someone else.


add API for retrieving topic list from kafka manager

@patelh the build fails with updating logkafka config test, but the test passes on my local machine. What could be the difference in the testing environment?

Yea, non-deterministic test, so it could fail depending on timing.
-Hiral
On Tue, Oct 13, 2015 at 12:13 PM, Jisoo Kim<EMAIL_ADDRESS>wrote:

@patelh https://github.com/patelh the build fails with updating
logkafka config test, but the test passes on my local machine. What could
be the difference in the testing environment?
—
Reply to this email directly or view it on GitHub
https://github.com/yahoo/kafka-manager/pull/137#issuecomment-147819228.

can you rebase this?

@patelh rebased it


make error: hexagon-clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)

ubuntu:
Linux version 4.15.0-43-generic (buildd@lcy01-amd64-007)
(gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10))
SDK:
Qualcomm-Hexagon_SDK-3.3.3
first: source setup_sdk_env.source
then: python install_dependencies.py
then: git clone nnlib
then: make tree VERBOSE=1 V=hexagon_Release_dynamic_toolv81_v60
build error:
fatal error: error in backend: Cannot select: t29: v32i32 = select_cc t4, Constant:i32<0>, t9, t11, setne:ch
t4: i32 = AssertSext t2, ValueType:ch:i8
t2: i32,ch = CopyFromReg t0, Register:i32 %vreg6
t1: i32 = Register %vreg6
t5: i32 = Constant<0>
t9: v32i32,ch = CopyFromReg t0, Register:v32i32 %vreg64
t8: v32i32 = Register %vreg64
t11: v32i32,ch = CopyFromReg t0, Register:v32i32 %vreg63
t10: v32i32 = Register %vreg63
In function: core_add_d32_mixed_hvx
can you help me to solve this problem

This reposity is deprecated for latest MACE.
If you only want to use nnlib with MACE, you can just use pre-built library below.
https://github.com/XiaoMi/mace/tree/master/third_party/nnlib/v60

If I want to contribute some Code in nnlib.  So, how can I make this code

Can you build the original code from https://source.codeaurora.org/quic/hexagon_nn/nnlib?

No, the building code is from
https://source.codeaurora.org/quic/hexagon_nn/nnlib?

@lee-bin could you include (preferably with MACE sources) exact build instructions that will produce a nnlib library that is compatible with MACE? That would include:

nnlib version (the last commit is from 2019-02-11, and precompiled binaries were added to MACE before that, so most likely those binaries are using older, possibly slower, sources)
Hexagon SDK version (not every version of Hexagon SDK can build every version of nnlib)
build command (for example there are differences between toolv72_v60 and toolv82_v60)
how to build libhexagon_controller.so - is it the same libhexagon_controller.so that is in tensorflow sources: tensorflow/contrib/hvx/hexagon_controller? If it is, which version is used and are there any changes in tensorflow build (for example when building tensorflow I replaced libadsprpc with libcdsprpc in android.min)?

I will try to build MACE with the latest https://source.codeaurora.org/quic/hexagon_nn/nnlib and update this repo and README with more instructions later, so you can build it.

@chenjiaoAngel @w-adamski
Hi all,
This repo has been updated to the 02_06_00 version as in https://source.codeaurora.org/quic/hexagon_nn/nnlib/
You can follow the instructions in README.HOW_TO_BUILD to use the library for MACE.


Add deployToken option for firebase for use with multiple accounts.

Additionally, change fireBaseAppName to firebase.appName to fit with config hash. Does not break 'context.config.fireBaseAppName'

I won't get a chance to test this till tomorrow pm but it looks good on a visual scan.
I wondered if we should default to using process.env.FIREBASE_TOKEN; thoughts?

@ibroadfo I was thinking that would be a fine route to go, but it seems like the .env environments would start to get too confusing. In other words, FIREBASE_TOKEN is such a generic label it could mean anything, but FIREBASE_DEPLOY_TOKEN implies only one thing. If there is a benefit for FIREBASE_TOKEN my opinion is extremely weak so that's fine with me.

Also FYI it works fine, I'm using it on a production project no sweat

Oooooohhh that might make it a lot simpler of a change. Lemme rework this and resubmit. Good catch :)

👍
On Wed, 3 May 2017 at 02:25, Miles Zimmerman<EMAIL_ADDRESS>wrote:

Oooooohhh that might make it a lot simpler of a change. Lemme rework this
and resubmit. Good catch :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ibroadfo/ember-cli-deploy-firebase/pull/4#issuecomment-298804110,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAGDr-czriYa8_zBiBde5CKpeEDr53Nks5r19eIgaJpZM4NMkvv
.

Ok it's been updated to use the native FIREBASE_TOKEN env var if available. I have it behind the config/environment.js var in case organizing your token stuff there is more preferable, but either works. I'll sing the usual dev song: "Works on my machine". lemme know if you hit snags. Readme is also updated with both use cases

Apologies for being a bit slow at handling this; I'm currently travelling so don't have reliable interwubs.
I think this is looking good! I noticed that the readme is mentioning config/environment.js where I'd expect it to be config/deploy.js; would that be right?
Hope this doesn't seem like nitpicking! :)

@ibroadfo my b! changed to config/deploy.js, you were totally right about that since as one option I said to put the token in .env.deploy.production which would have only shown up in that file. Should be good to go I hope

Thanks! This should be really useful for people.

released! 😸


add gcp provider and generate addon

Signed-off-by: Avery Qi<EMAIL_ADDRESS>Description of your changes
add provider-GCP.yaml and generate gcp addon.
How has this code been tested?
Checklist
I have:

[ ] Title of the PR starts with OAM type (e.g. [Workload] or [Trait] or [Scope]).
[ ] Updated/Added any relevant [documentation] and [examples].
[ ] Unit/E2E Tests added.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Nicola115 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@barnettZQG Can you take a look at this issue?

@iamrajiv
vela port-forward -n vela-system addon-velaux 9082:80


set-output command is deprecated and will be disabled soon

On a windows-latest runner it is recommended to upgrade how job outputs are set.

This should have been fixed by updates to the underlying GitHubActions module this action uses.


🚀 🔥 ModelScope-Agent project team welcome everyone to contribute ideas & codes

Discussed in https://github.com/modelscope/modelscope-agent/discussions/343

Originally posted by zzhangpurdue March 15, 2024
We are very glad to announce  that modelscope-agent and the agentfabric(opensource version for GPTs) is running on a production enviornment on modelscope studio.
In order to run modelscope-agent on prod env, we have fixed my errors, and we also noticed that there are many new features are needed, so others could run modelscope-agent on there prod env.
So, we decided to move development process on github, and develoepr could easily find and submit new features on issue or discuession.
At last, we are very welcome friends submit pull requests and ask issues, lets' enjoy the next level of agents application.

Is there any plan to extend the model to work for Java repositories.  Can you provide some timeline if Java repositories extension is in plan.


fixfix thread local reference to checkpoint's Env, causing Env to be unable to be reclaimed, resulting in excessive memory usage by FE

Proposed changes
Issue Number: close #xxx
when replay addTaskResult log,will create one ConnectContext,and set Env.getCurrentEnv,then store this ctx in ConnectContext.threadLocalInfo,threadLocalInfo is static,so this ctx can not be recycling，Env of replay thread also can not be recycling
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


completion after semicolon

While typing code, after the last ; (semicolon) a new completion shows up (first entry Trait AsMut), which is undesired.
Atom: v1.12.0-dev-44c0fe5
// e.g.
let mut t = String::new();

Same problem. Always completes after only one letter and after semi colon. Does not respect "minimum word length" set in autocomplete-plus package settings.
Would be very grateful for an update to fix this.

Hi there, there could be a hotfix.
edit ~/.atom/packages/racer/lib/racer-provider.coffee, after line 189
from
  findSuggestionsForPrefix: (prefix, completions) ->
    if completions?.length
      # Sort the candidates
      words = _.sortBy( completions, (e) => e.word )

to
  findSuggestionsForPrefix: (prefix, completions) ->
    if prefix.slice(-1).match(/;/g)
     return []
    if completions?.length
      # Sort the candidates
      words = _.sortBy( completions, (e) => e.word )

not sure if this is the proper way to break completion, but this do work.


Fisher install doest not persist plugin

When I install a new fisher plugin like:
fisher install https://github.com/jonatas/rd-fish

It works only in the same tab I am. If I open a new fish session. It does not load the plugin.
I missed something on my repo to load it in every fish session?
$ fish -v # => fish, version 2.2.0
$ fisher -v # => fisher version 0.4.0

I looked at your plugin. You need to write a function per file and save it under functions/.

rd-fish/functions/hrp.fish

function hrp
  heroku run rails c --app rdstation-cedar
end

rd-fish/functions/pglocks.fish

function pglocks
  heroku pg:locks --app rdstation-cedar2
end

rd-fish/functions/hrs.fish

function hrs
  heroku run rails c --app rdstation-staging-cedar2
end

Also, it seems there is some code you always want to run during startup. You can do this in several ways, since Fisherman needs to support other framework styles. The way I prefer is adding a file with the code you would like to source into a conf.d directory. But simply creating a config.fish at the root of your project works too.

rd-fish/config.fish

export<EMAIL_ADDRESS>
alias rd "cd ~/Code/rdstation; git status"
alias eu "echo 'eu = User.find_by(email: \'$RDMAIL\')' | pbcopy"

if status --is-interactive
    echo "Yay! rd-fish swimming!"
end

Thank you @bucaran! Great explanation!
Is there any way to aggregate all my functions in the same file instead of put each one with correspondent file name under functions directory?
Like if I put on config.fish:
fish functions/all.fish

Will it expose my functions to fish shell?

Is there any way to aggregate all my functions in the same file instead of put each one with correspondent file name under functions directory?

Yes, you can do that too.
rd-fish/config.fish
function hrp
  heroku run rails c --app rdstation-cedar
end

function pglocks
  heroku pg:locks --app rdstation-cedar2
end

function hrs
  heroku run rails c --app rdstation-staging-cedar2
end

export<EMAIL_ADDRESS>
alias rd "cd ~/Code/rdstation; git status"
alias eu "echo 'eu = User.find_by(email: \'$RDMAIL\')' | pbcopy"

if status --is-interactive
    echo "Yay! rd-fish swimming!"
end

Thanks @bucaran !!! :cake:

Thank you! :smile:


pretraining without downstream task

Hi, this is more like a question than an issue.
How could one do a pretraining run, without a downstream task?
What I want to achieve is to pretrain a model (using maybe both contrastive losses) and then use this model for various downstream tasks later.
Another question would be, when pretraining, do we pretrain on all train, validation, and test datasets? or should we limit it to training dataset?

Also in the manuscript, it does not show an ablation study on the pretraining, right? My question is what is the effect of doing pretraining in general using the Same dataset?
When you are doing finetuning using pretrained models, do you again pretrain on the target data as well?
Could you give exact command line code for setting the model and training to repreduce the sex classification accuracy?

(not an author)
Hi @navidivan,
it is not a general practice to do self-supervised pre-training and supervised training on the same dataset. In the most cases in ML/DL, I would expect the model to overfit drastically.
Pre-training in general is mostly used to account for small datasets.
Let's take image classification, for instance. The internet offers a lot of unlabelled images, while labelled images can be rather scarce. The general idea behind pretraining is to somehow use the unlabelled data to help the model learn some general structure of the data. As an example, in Natural Language Processing that might be simple grammatical structures and understanding how the language works.
After pretraining, the model's weights are already reasonably well-tuned, giving it a general understanding of the data. By applying supervised learning with labeled data, we can fine-tune these weights, optimizing the model for a specific downstream task.
For the command line code, I found the sample_scripts very helpful. Maybe look into issue 1, where someone already prepared the right flags for using pretraining. Still, I would not advise you to use the same dataset for supervised training and self-supervised pretraining since it will most likely end in overfitting :)
Hope that helps tho!

Oh, and to your question:

Another question would be, when pretraining, do we pretrain on all train, validation, and test datasets? or should we limit it to training dataset?

NEVER do any kind of training on the validation/test dataset! This is a great risk for data leakage and bias your model results -> Example: If you study for an exam by just learning the exam answers by heart, it won't show your actual understanding of the topics when you are being tested ;)

Thank you for your responses. It makes does make sense. But there I have seen papers (maybe because of lack of external data on fmri) that have performed pretraining and self-supervised stuff on the same data. Here is one
https://arxiv.org/abs/2112.05761v1
I think this could be called pretraining or training or ... but it does makes sense to train parts of the model in different ways or use different losses at different stages. Anyway I thought it could be interesting to see the effect here as well.
I can pretrain a model, but I could not rerun from checkpoint (actually use the pretraining model)
######################################## Myflags:
TRAINER_ARGS='--accelerator gpu --max_epochs 20 --precision 16 --num_nodes 1 --devices 1'
MAIN_ARGS='--loggername tensorcsv --classifier_module v6 --dataset_name T1000 --image_path /*** --resume_ckpt_path ***/output/default/10/last.ckpt'
DATA_ARGS='--batch_size 8 --num_workers 8  --input_type rest'
DEFAULT_ARGS=''
OPTIONAL_ARGS='--c_multiplier 2 --last_layer_full_MSA True --clf_head_version v1 --downstream_task sex'
COMMAND="python ***/SwiFT/project/main.py $TRAINER_ARGS $MAIN_ARGS $DEFAULT_ARGS $DATA_ARGS $OPTIONAL_ARGS --dataset_split_num 1 --seed 1 --learning_rate 5e-6 --model swin4d_ver7 --depth 2 2 6 2 --embed_dim 36 --sequence_length 20 --first_window_size 4 4 4 4 --window_size 4 4 4 4 --img_size 96 96 96 20"
$COMMAND
######################################### Where the error come from:
if temp_args.resume_ckpt_path is not None:
# resume previous experiment
from module.utils.neptune_utils import get_prev_args
args = get_prev_args(args.resume_ckpt_path, args)
exp_id = args.id
# override max_epochs if you hope to prolong the training
args.project_name = project_name
args.max_epochs = max_epochs
args.num_nodes = num_nodes
args.devices = devices
args.image_path = image_path
else:
exp_id = None
does pretraining actually need Neptune?
utils file:
import os
import torch
def load_ckpt(exp_id, root_dir):
path = os.path.join(root_dir, exp_id, "last.ckpt")
return torch.load(path, map_location="cpu")
def get_prev_args(ckpt_path, args):
ckpt = torch.load(ckpt_path, map_location='cpu')
ignored_args_list = ["data_dir", "default_root_dir", "max_epochs", "resume_ckpt_path", "adjust_thresh"]
print(f"Warning: You have to specify the following arguments list when you are running the process: {ignored_args_list}")
for k, v in ckpt["hyper_parameters"].items():
if k in ignored_args_list:
continue
setattr(args, k, v)
return args

Hi,
thanks for forwarding the paper! But careful, they did not pre-train and fine-tune it on the same dataset! They pre-trained it on the HCP dataset and fine-tuned it further on the COBRE/CNP datasets.
Careful with the flags! --resume_ckpt_path is for resuming checkpoints, and not for using a pre-trained model. You can use --load_model_path for that and it should work fine. This function loads SwiFT's state_dict, see main.py at line 153 for your reference!
Neptune is not required, but is a great tool for logging. You could use tensorboard as an alternative for terminal logging, it is also implemented in the project. If you want to use any other logger, like WandB, you'll need to implement it yourself!
Hope this helped! :)


use npm to start application

As noted in the Readme:

The cartridge emulates the execution of npm start to start your application, so make sure your application
entrypoint is defined in your start script of your package.json file. See package.json in the provided
template or read the npm docs for more information.

Some advantages of using npm directly would include:

automatically add node_modules/.bin to $PATH:

In addition to the shell's pre-existing PATH, npm run adds node_modules/.bin to the PATH provided to
scripts. Any binaries provided by locally-installed dependencies can be used without the
node_modules/.bin prefix.
— https://docs.npmjs.com/cli/run-script

With the assumption that this emulation was meant to be similar to the actual npm start, the start command (in bin/control#L6),
START_COMMAND=$(node -e "var p = require('$OPENSHIFT_REPO_DIR/package.json'); console.log(p.scripts.start);")

could be enhanced to run npm:
START_COMMAND="npm start"

Since this command will be executed in the repository's working directory, we can be sure it will find a package.json to look for the scripts in.
Side note:

I noticed this when I tried to run forever app.js, but the application crashed as the forever command could not be found ($PATH did not include node_modules/.bin)

Thanks for taking the time to look into this!
Actually we've had a brief "adventure" trying to use npm start a few months ago, see #7, #10 and #11.
As far as I remember, there were 2 main problems:

We also need to be able to properly stop/restart the app, and I remember @AlexChesters bumped into and issue (see #10);
The additional process is taking up memory during the entire application life-cycle. While ~30MB is definitely not an issue on a development machine, the amount of memory we can use in the application cartridge is limited. But the benefits may outweigh the costs, I guess we'll just have to test and see how it behaves.

I think we might be able to make it work in the end, so I'll spin up a test app and run some tests when I find the time, hopefully over the next couple of days.
Meanwhile, any feedback/help is, of course, appreciated! :-)

On the issue of properly start/stop/restart control of the application, I would suggest saving the process ID (PID) of the process in a (PID) file that we can use to query its status. Since it might be safe to assume that the actual process started by the control script in the cartridge is that of a process manager such as supervisord, forever, nohup, etc., the PID would not change even when the managed application process crashes and is restarted. All we would have is the PID of the process manager (which obviously (?), is the parent of any application processes it manages). I do not clearly know how this would affect scaling with gears, we would require more research into that.
The other issue of npm hogging memory is daunting.  But I see most PaaS using npm start for starting their applications. While this is no validation that it is the correct way to do it, it would be our best interest to understand how they handle the memory issue.

I guess PaaS are generally defaulting to npm start for convenience, not efficiency. For instance,Heroku does it only if  a Procfile is not present in the root of your application.
"It would be our best interest to understand how they handle the memory issue" - I suspect they don't, but you can always buy more gears ;-)
I never considered the fact that the amount of memory taken by npm start is directly related to the size of node_modules, but now that you mentioned, it makes total sense.
That being said, maybe we consider adding node_modules/.bin to $PATHon cartridge install instead of using npm start to start the application.
What do you think?

I have actually started reading through the npm source code, noting the setup functions it goes through when running scripts. Mostly cause I'm not very sure how the size affects the process so much!
 But I guess building great s/w is quite hard, you know!
While modifying $PATH would certainly solve my primary issue (in this thread), this same issue would crop up later should we realize that npm start does more!
But we could modify $PATH and clearly state in the README that we are not using npm start. A link to this discussion would help pull more people into it and hear different perspectives.

Just added node_modules/.bin to $PATH in this commit and a link to this discussion in the README as suggested. You should now be able to things like forever app.js in your package.json scripts without having to prefix them with node_modules/.bin. Unfortunately you'll have to redeploy your application, since custom cartridges can't autoupdate.
I'm going to close the issue for now, but we can always reopen it if necessary.
Thanks again for your feedback and support.

Nice job! Hoping to improve this catridge in the future. :+1:

Can we also include these predefined scripts?
https://docs.npmjs.com/misc/scripts#description

pretest, test, posttest: Run by the npm test command.
prestop, stop, poststop: Run by the npm stop command.
prestart, start, poststart: Run by the npm start command.
prerestart, restart, postrestart: Run by the npm restart command.

@Qusic - won't have time to look at this and do proper implementation and tests until the next week.
Feel free to try your hand if you have time - you'll probably want to look at bin/control.
I can imagine when you'd like to call pre/post stop, start & restart, but I have no idea where - in terms of OpneShift-specific commands - to call pre/post test.

So @Qusic kinda saw the future for me. I needed to make it support stop (see #57). The pre* and post* scripts will have to be invoked immediately before and after the corresponding scripts.
@Qusic Did you get to work on this?

This has been really daunting for me, as i have a prestart script setup to build my databases and tables automatically. But to my wildest suprise npm start. Never get called according to you guys, whats the roadmap from here? ... Are you implementing it at a later time or what are the other best practices?

Until we are able to implement the pre and post scripts, you may want to use an action hook, in particular .openshift/action_hooks/pre_start.


Allow user to gets list of his tenants

Describe the feature
Add "/apis/capsule.clastix.io/v1beta2/tenants" filter which allows user to receives list of his tenants(e.g. kubectl get tenants).
Currently, it's difficult to implement this feature as a new module, because we should pass label selectors to Handle func.
If our tenants have only custom labels we won't be able to use their labels in label selectors.
Is it possible to implement this feature without using label selectors?
Maybe we can try to process this route ("/apis/capsule.clastix.io/v1beta2/tenants") in separate handler?
What would the new user story look like?
How would the new interaction with Capsule-Proxy look like?
Feel free to add a diagram if that helps explain things.
Expected behavior
User executes command 'kubectl get tenants' and receives list of his tenants.

If we make some changes in capsule which let capsule to adds some label when capsule creates tenant we will be able to and a module in capsule-proxy which would uses this label when capsule calls 'labels.NewRequirement' func.
E.g., labels.NewRequirement("name", selection.In, tenantNames)

I would argue to add this feature is safe. What do you think @MaxFedotov  @prometherion
If we accept this, I am wondering if we should add it to the Owners-ProxySettings (https://github.com/projectcapsule/capsule/blob/9a8736428821446d5eb6ec6e73edd7ea6b101b7f/api/v1beta2/owner.go#L44). Probably not because you would have to define it for each tenant. But maybe that's the use case for some people?
@anatolychernov Could you implement the feature?

That's an interesting feature. From one POW if a user is a member of multiple tenants it may be quite beneficial for him to be able to list them. But from the other side, tenants hold a piece of a configuration inside, which cluster-admin may not want to expose to users.
So listing own tenants can be safe, but getting tenant spec should not be allowed by default

Hello,
I'll try to add a new route for processing tenants list.
As I can see MR https://github.com/projectcapsule/capsule/pull/910 has been merged. If I understand I can use label key ("kubernetes.io/metadata.name") to make LabelSelector.
Could you clarify when a new capsule version with MR above will be released?

@anatolychernov it will take some time until we release 0.5.0, But in the meantime you can develop locally with the build from main. See the following documentation on how to get capsule running with a local kind cluster:
https://github.com/projectcapsule/capsule/blob/main/DEVELOPMENT.md

Hello,
I've created PR.

Implemented


Added Observer default role as read only user

Describe your problem(s)
By default, we introduced a default role called observer. If users are in an observer role group, he/she can have a read-only view for the publisher portal.
Describe your solution

How will you implement it

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

https://github.com/wso2/carbon-apimgt/pull/11185

https://github.com/wso2/apim-apps/pull/229


SDK generation app: Add automation to check the rest api spec has been merged

Currently there is a check in the Data Plane SDK app that asks if the REST API spec has been merged into the public branch.
We should automate this check or verify that it has indeed been merged.

pushed to prod


Dependency checking has now fewer lines

and added fzf to dependency checking process. If user doesn't have one of the dependencies, the script terminates with an error code (1) and error message prints to stderr.

Oops I forgot to add fzf to dependency checking process, my bad.
Thank you for making the dependency checking process much shorter!


Improving scanning receipts

The goal of this MR is to improve receipt scanning functionality to be able to scan over 80% of receipts without any issues. The current % of successful scans is hovering between 30-40

Now around 30-40 of new receipts are being scanned. Now the successful scan is hovering around 70%. Rest of the failing scans are due to some weird issues that it cannot find the borders of the receipt. This is good improvement enough for now, next hardening the contour detection is planned


ape test can't find modules?

Environment information

OS: linux

Python Version: 3.9.13

ape and plugin versions: ape 0.3.0

Contents of your ape-config.yaml (NOTE: do not post anything private like RPC urls or secrets!):

$ cat ape-config.yaml
name: project_name

What went wrong?
After a fresh install of ape into an existing code repo, running ape test fails to import project modules. pip is latest version and it's being done w/in a venv.
(project_name) prompt :: code/project_name 130 » which ape
$HOME/code/project_name/project_name/bin/ape

___________________________________________________________________ ERROR collecting tests/unit/test_imp_loss.py ____________________________________________________________________
ImportError while importing test module '$HOME/code/project_name/tests/unit/test_imp_loss.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../../.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/test_imp_loss.py:4: in <module>
    from logic.exchanges.univ2.helpers import calculate_price_ratio, calculate_impermanent_loss
E   ModuleNotFoundError: No module named 'logic'

(There is a module named logic, and brownie had no problem detecting.  My PYTHONPATH didn't include the project root.

 My PYTHONPATH didn't include the project root.

Well thank you for sharing your issues for others to find in case they get stuck too!


Two different requests with same API call

The Readme.md has two requests:

get a user profile with all post

method url: /api/users/posts/:id (id meaning id of the user)

get All post from user, without user info

method url: /api/users/posts/:id (id meaning id of the user)
Which one is which?

My bad I'll adjust the documentation

No prob - you're killing it!


launch.sh script may create polluted grammar file

A small annoyance: if the user does not strictly follow the steps in the grammar generation instructions, s/he may enter something like this:
cd /tmp
git clone git@github.com:opencypher/openCypher
cd openCypher/
mkdir -p grammar/generated
./tools/grammar/src/main/shell/launch.sh Antlr4 cypher.xml > grammar/generated/Cypher.g4

It seemingly runs without any output/errors, but upon closer inspection, the Cypher.g4 file looks like this:
$ head grammar/generated/Cypher.g4
/tmp/openCypher/tools/grammar /tmp/openCypher
/tmp/openCypher
/*
 * Copyright (c) 2015-2016 "Neo Technology,"
 * Network Engine for Objects in Lund AB [http://neotechnology.com]
 *

The reason for this is that the output of the pushd and popd commands is sent to the standard output (and redirected to the Cypher.g4 file). Fortunately, this can be fixed trivially.

Well spotted! I haven't noticed that.


A Panic occurs in ddl_manager.go when replicating drop table DDL.

What did you do?
run syncpoint test.
What did you expect to see?
no panic
What did you see instead?
panic: checkpointTs is greater than next ddl commitTs

goroutine 740 [running]:
go.uber.org/zap/zapcore.CheckWriteAction.OnWrite(0x2, 0xc0055e1ad0, {0xa71d9c6?, 0x36?, 0xc004f36000?})
	/go/pkg/mod/go.uber.org/zap@v1.24.0/zapcore/entry.go:198 +0xa8
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc0055e1ad0, {0xc002ed4f80, 0x2, 0x2})
	/go/pkg/mod/go.uber.org/zap@v1.24.0/zapcore/entry.go:264 +0x586
go.uber.org/zap.(*Logger).Panic(0xd4c6f90?, {0x7fd5b37, 0x2e}, {0xc002ed4f80, 0x2, 0x2})
	/go/pkg/mod/go.uber.org/zap@v1.24.0/logger.go:258 +0x6e
github.com/pingcap/log.Panic({0x7fd5b37, 0x2e}, {0xc002ed4f80, 0x2, 0x2})
	/go/pkg/mod/github.com/pingcap/log@v1.1.1-0.20221116035753-734d527bc87c/global.go:54 +0x74
github.com/pingcap/tiflow/cdc/owner.(*ddlManager).tick(0xc002e248c0, {0x7fef2c4af368, 0xc005f13050}, 0x61cdaf3d1c80000, 0x0?)
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/owner/ddl_manager.go:270 +0x1159
github.com/pingcap/tiflow/cdc/owner.(*changefeed).tick(0xc000e34b60, {0x9ba2800?, 0xc005f13050}, 0xc000000001?)
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/owner/changefeed.go:298 +0x4c7
github.com/pingcap/tiflow/cdc/owner.(*changefeed).Tick(0xc000e34b60, {0x9ba2710?, 0xc005f13038}, 0xc0015f0f60?)
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/owner/changefeed.go:209 +0x396
github.com/pingcap/tiflow/cdc/owner.(*ownerImpl).Tick(0xc00051e850, {0x7fef90622ef0?, 0xc001654640}, {0x9b6fad0?, 0xc0015f0f60})
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/owner/owner.go:201 +0xc67
github.com/pingcap/tiflow/pkg/orchestrator.(*EtcdWorker).Run(0xc000270210, {0x7fef90622ef0, 0xc001654640}, 0xc001848b70, 0x2faf080, {0x7efdf4a, 0x5})
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/pkg/orchestrator/etcd_worker.go:290 +0x1b47
github.com/pingcap/tiflow/cdc/capture.(*captureImpl).runEtcdWorker(0xc0018262a0, {0x9ba27b0?, 0xc001654640}, {0x7fef6602c5d8, 0xc00051e850}, {0x9b6fad0, 0xc0015f0f60}, 0x0?, {0x7efdf4a, 0x5})
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/capture/capture.go:510 +0x30a
github.com/pingcap/tiflow/cdc/capture.(*captureImpl).campaignOwner(0xc0018262a0, {0x9ba27b0?, 0xc000aa2060})
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/capture/capture.go:461 +0x146b
github.com/pingcap/tiflow/cdc/capture.(*captureImpl).run.func3()
	/home/jenkins/agent/workspace/pingcap/tiflow/pull_cdc_integration_test/tiflow/cdc/capture/capture.go:327 +0x79
golang.org/x/sync/errgroup.(*Group).Go.func1()
	/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x83
created by golang.org/x/sync/errgroup.(*Group).Go
	/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x12f

Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)

Upstream TiKV version (execute tikv-server --version):
(paste TiKV version here)

TiCDC version (execute cdc version):
master

This panic does not cause data inconsistent.

This Panic only occurs when executing the drop table ddl, and the longer the execution time of this ddl, the higher the probability of the Panic occurring.
Assuming there is a ddl: drop table t1, with a commitTs of 10, referred to as d1 below, let's study in detail how d1 will be processed.
Owner Tick round 1:

Assume the current checkpointTs is 7.
ddlManager receives d1.
ddlManager executes m.allPhysicalTables(ctx) to obtain the cached table information, tables = [t1]
ddlManager executes m.cleanCache()  to clear the table information in cache.
It will set the tableBarrier of t1 to 10, and then return tables = [t1] together to the caller.
scheduler will broadcast tableBarrier to the processor to stop the progress of t1 at 10.
scheduler.tick() calculates that newCheckpointTs is 8 and is updated to Etcd by the owner.

Owner Tick round 2:

The current checkpointTs is 8.
ddlManager executes m.allPhysicalTables(ctx) to obtain the table information at ts = 8, tables = [t1].
Since checkpointTs has not advanced to 10, d1 will not be executed.
scheduler.tick() calculates that newCheckpointTs is 10 and is updated to Etcd by the owner.

Owner tick round 3:

The current checkpointTs is 10.
ddlManager executes m.allPhysicalTables(ctx) to obtain the cached table information, tables = [t1].
Since checkpointTs has advanced to 10, which is the same as d1's commitTs, it will enter the logic of executing d1.
ddlManager executes m.cleanCache()to clear the table information cache, and then calls m.executeDDL() to execute d1.
scheduler.tick() will continue to broadcast t1 tableBarrier = 10 to the processor.

Owner tick round 4:

The current checkpointTs is 10.
ddlManager executes m.allPhysicalTables(ctx) to obtain the table information at ts = 10, tables = [].
ddlManager calls m.executeDDL() to check whether d1 has been executed, and finds that the ddl has not been completed.
scheduler.tick() will continue to broadcast t1’s tableBarrier = 10 to the processor , and since tables =[] returned by ddlManager, scheduler will send a scheduling task to the processor to remove table t1.
processor removes table t1.

Owner tick round 5:

The current checkpointTs is 10.
ddlManager executes m.allPhysicalTables(ctx) to obtain the cached table information, tables = [].
ddlManager calls m.executeDDL() to check whether d1 has been executed, and finds that d1 has not been completed.
Since t1 has been deleted by the processor, the checkpointTs calculated by scheduler.tick() is no longer affected by t1's tableBarrier = 10; newCheckpointTs = 11 is calculated, and is updated to Etcd by the owner.

Owner tick round 6:

The current checkpointTs is 11.
Enter the panic logic.


Pytail exception cause thread exit

https://github.com/martomi/chiadog/blob/99cf0bb73ab3d944105f0c83509c9713b5ba07d4/src/chia_log/log_consumer.py#L75
If there is some non-utf8(like GBK) character, here will throw exception, then make thread exit.
I want to make a pr, but I am not good at pyhon,  can't fix it.
Thx

Can you paste the stack trace or the name of the exception?

[2022-01-19 03:59:16] [   ERROR] --- 'utf-8' codec can't decode byte 0xb6 in position 424: invalid start byte (log_consumer.py:79)

Traceback (most recent call last):

  File "/chiadog/src/chia_log/log_consumer.py", line 76, in _consume_loop

    for log_line in Pygtail(self._expanded_log_path, read_from_end=True, offset_file=self._offset_path):

  File "/chiadog/venv/lib/python3.10/site-packages/pygtail/core.py", line 136, in __next__

    return self.next()

  File "/chiadog/venv/lib/python3.10/site-packages/pygtail/core.py", line 108, in next

    line = self._get_next_line()

  File "/chiadog/venv/lib/python3.10/site-packages/pygtail/core.py", line 280, in _get_next_line

    line = self._filehandle().readline()

  File "/usr/local/lib/python3.10/codecs.py", line 322, in decode

    (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 424: invalid start byte


Unless I'm crazy, on Grid the Famicom (JP) and SNES (US) systems have 3 columns instead of 4.

Not sure why this happens. I'm on windows, 1080p, and everything as default except that I switched to Grid: Boxart

OK, it seems the SNES has really wide horizontal boxart, maybe the same with Famicom but haven't tested that one again. I wonder if there's an easy way to fix this or just take the hit and move on.

Also, Canvas has the same "issue".
BTW your themes are fantastic, I tried them all and decided to keep only Canvas and Iconic. They're just perfect for 1080p on PC.

Hey, I think I responded to this in Discord, but this is intentional. The coversizes are the default that ES-DE uses so it references 4-3 for Famicom. 3-4 is used for the NES variants. You can manually change this if you wish by editing the system metadata within the theme. Glad you like the themes!

hi! forgot to close this one. Thanks!


Trying to install arm64 package. Error that it's a amd64 package.

dpkg: error processing archive sparrow-server_2.0.0-1_arm64.deb (--install):
package architecture (amd64) does not match system (arm64)
Errors were encountered while processing:
sparrow-server_2.0.0-1_arm64.deb

Try the tar.gz

I'm not seeing that here for the arm64 sparrow server (headless)

It's here: sparrow-server-2.0.0-aarch64.tar.gz (You have to click 'Show All Assets' - looks like a minor display change on Github). aarch64 and arm64 are equivalent.

Fixed in 73b672a7.


Compiler on vs2017

Hi,
I'm trying to compiler example of 'dnn_face_recognition_ex.cpp' on VS2017。But the day has passed, the compiler has been running, there is no error message, did not generate executable files.

Visual studio 2017 is buggy and hangs when it tries to compile some C++11 code, like the code in that example.  So you will have to use a different compiler.  Visual studio 2015 works, although it's not a great C++11 compiler either.


pixhawk is not allowing GPS to be fixed

Hi guys
Recently I have an issue with my flight controller. I can see on the Qgroundcontrol that GPS recognizes many satellites for instance 10 or more, although Pixhawk seems cannot sense it so it is not reading the position of the drone. The value of the HDOP and VDOP of the GPS signal is low.  I have also uploaded a picture of the noise and jamming level of the GPS.
This is happening once we have a power tether attached to the drone close to GPS, I am not sure if I can reduce the noise.

I also increase the minimum acceptable values in the EK2_REQ_* section but it did not help at all.
Any comments would be much appreciated. :)

Could you share the link to the log?

What’s contained in the power tether? Just power or are communications on the same bundle of wires? Also, what is the power type? Ac or dc? And if ac is there and ac converter onboard the plane and if dc is it high voltage with an onboard step down, etc. we have a bit of experience with high voltage power tethers and switching frequency and quite a few things can cause havoc. Definitely a log but more detailed info on your setup would be helpful from a diagnostics perspective.

@julianoes Can you please tell me what part you are interested to know about the log file?

@ryanjAA . Tether line is just carrying DC power and we have dc converter onboard as well. If you can tell me what part is interesting I can take it out from the log file and share it here.

It’s a little more involved than that. Generally if you’re seeking help you should share as much detail as possible and definitely at a minimum the entire log if you’d like someone to look at it as there is often things you might not see as important that someone else might spot the problem.
You have an atypical setup which yields more to understanding what you have onboard and what you’re doing to try and help. The log is the best first step. I’d detail what I have onboard as well given you could possibly be sending up 400-600v dc and then bringing it down back to 25 or 50v for onboard motor use which means understanding your hardware and power is a huge area of concern given you’re saying the gps issues arise when connecting the power tether.
How are creating the voltage up and down? Are they isolated? Etc etc, there are a lot of questions but rather than questions it’s easier to get help if you just provide whatever information you can about your setup and that aside which often is r necessary, a log is. I’d turn logging on from boot and turn it all on then plug in the tether and share that log too (any log that has both cases).
We used vicor units to bring 500v dc back down to something useable and I can tell you, there is a lot to consider and shield when doing this...

@ryanjAA @julianoes
Here is the complete logfile. In this one, pixhawk locked the GPS but in the middle of the hovering phase.  You can see it in the log data as well. The tether voltage is 400 and we have converters on board to take it down to 36.  We did not use any special shielding for the autopilot or the GPS antenna.
https://review.px4.io/plot_app?log=5eb72abd-8794-4f31-b985-b695c1da4b16

From the log it looks indeed like the GPS accuracy is not very "good", and not "good enough". The estimated accuracy is around 4 meters when I would expect values around 1-2 meters max.

From the log it looks indeed like the GPS accuracy is not very "good", and not "good enough". The estimated accuracy is around 4 meters when I would expect values around 1-2 meters max.

How should I allow pixhawk to lock the GPS even with this amount of uncertainty?  Do you know what parameter should be changed?

The main easy and topical things you can do are going to be:
Move the physical GPS unit
Try a different unit (something with an Active antenna might help or add a larger ground plane just to increase the amount of sats)
Shield the unit and if possible measure surrounding EMF.
It looks like you are also using a custom version of PX4 so not sure what else you may have changed but unlikely that is hurting raw GPS reception. What's the highest amount of sats and lowest HDOP/VDOP you've been able to attain in your area? With and without your tether?
If your sat amount is high and hdop/vdop low until you plug in the tether then you know the issue. If you have a low baseline in terms of gps accuracy already (when the tether is not plugged in) then it is getting swamped from the tether itself and likely the fast voltage switching, if that's not the case then i'd look at the physical unit or its placement as well (of the GPS and wiring). Did you make or buy the DC-DC converters?
Also, are you using any onboard video? Specifically in the 1.3ghz range? That effects GPS a lot as well if the transmitter is too close and/or not good quality.
Also, you're having a lot of log drop outs, try changing the SD card (or format it if its already a high quality one).


EntityDamageByEntityEvent Error

The output of command /version on my server is: git-Paper-173 (1.14.4)
The output of command /version citizens on my server is: 2.2.25-SNAPSHOT (build 1743)
The output of command /version sentinel on my server is: 1.9.5 (build 283)
A pastebin.com link to my (full!) Sentinel/config.yml file is: https://pastebin.com/yq0heLkg
Hello @mcmonkey4eva
I'm trying to have a stable 1.14.4 server so any error can be usefull and I have this error, maybe you can help me ?
https://pastebin.com/burssyRQ

You misformatted your post a bit (the actual text of the post was made invisible!), I've fixed it for you.

If I understand the sequence of events that caused this error... a Sentinel fired an arrow, THEN died, THEN the arrow landed in a target. That's ... impressive.

I've fixed the error (assuming my interpretation above to be correct) for build 285+ https://ci.citizensnpcs.co/job/Sentinel/

Impressive, thanks @mcmonkey4eva


Add a video to User Tutorials page

I've created a video showing how to make a shared user tutorial. If it's seems ok, maybe someone can put it up to YouTube and I can add it to the 'User Tutorials' page:
https://microsoft-my.sharepoint.com/:v:/p/v-gani/EY1k6lxsbhlPubBRsWt1R04BZTfb0BnQoCIyWLiUy06MIw?e=7kcpdz

Brilliant!

Can we get more of those? :)

Ha!  I love the intro!!!  This is great.  You might want to also include a link to a reference on Markdown for those who don't know the syntax.

This is so good @ganicke I am going to tweet it.

Could you do one for micro:bit? We plan a series of videos.

You mean do a 'create tutorial' video using micro:bit scenes instead of Arcade, or some other topic? Yea, let's make a list of topics to do videos for. I'm planning a translation/crowdin one now.


Replaced pager links

Pjax builtin Yii2 causes replacing gridview pager links after clicking any action column button.
How to prevent it?

Not being at all familiar with "Yii2", I have no idea what you're talking about. Given that this is a question about a particular framework, maybe you'll have better luck asking this question in a community of Yii2 users, or perhaps on Stack Overflow.
If you're reporting what you think to be a pjax bug, then please be more specific and provide sample code, preferrably such that is understandable without having to run Yii2. Thanks.


UTF8Json ASP.NET Core formatters issue

Hello there,
I've been facing issues trying to implement UTF8Json Formatter using Utf8Json.AspNetCoreMvcFormatter package in conjunction with built-in XML formatter.
I went on to further find the root-cause of the issue:
https://github.com/neuecc/Utf8Json/blob/master/src/Utf8Json.AspNetCoreMvcFormatter/Formatter.cs
The formatter above uses the below which always return true(on CanWriteResult, which defaults to JSON) and does not honor any Accept headers(e.g. XML, MessagePack):
public bool CanWriteResult(OutputFormatterCanWriteContext context)
{
    return true;
}

In order to reproduce it, just implement as per the below and use different Accept headers:
services.AddMvc(options =>
{
	options.RespectBrowserAcceptHeader = true;
	options.ReturnHttpNotAcceptable = true;

	options.InputFormatters.RemoveType<Microsoft.AspNetCore.Mvc.Formatters.JsonInputFormatter>();
	options.InputFormatters.RemoveType<Microsoft.AspNetCore.Mvc.Formatters.JsonPatchInputFormatter>();
	options.OutputFormatters.RemoveType<Microsoft.AspNetCore.Mvc.Formatters.JsonOutputFormatter>();

	options.InputFormatters.Add(new JsonInputFormatter());
	options.OutputFormatters.Add(new JsonOutputFormatter());

	options.InputFormatters.Add(new Microsoft.AspNetCore.Mvc.Formatters.XmlDataContractSerializerInputFormatter(options));
	options.OutputFormatters.Add(new Microsoft.AspNetCore.Mvc.Formatters.XmlDataContractSerializerOutputFormatter());

	options.InputFormatters.Add(new MessagePackInputFormatter());
	options.OutputFormatters.Add(new MessagePackOutputFormatter());
});

From Microsoft documentation, it's suggested to use TextInputFormatter  and TextOutputFormatter as the base class for custom formatters.
Therefore, I have implemented as per the suggestion with references from Formatter.cs by UTF8Json and i got it working successfully.
Here are the sample reference to get it working with different Accept types:
https://github.com/saibaskaran57/ContentFormatterApp/blob/master/src/ContentFormatterApp/ContentFormatterApp/Formatters/
If we agree that this is a issue, i'll be happy to make a PR for this change.

It's definitely helpful!

That's right. Should have been on a note though.
That should inherit from InputFormatter or OutputFormatter base class for MessagePack formatters.


handle missing required arguments

Currently, if your schema has a required (non-null) argument, getArgumentValues will throw. As a result, the expected graphql response json is not created and the thrown error text is returned directly. This change handles that error as expected, and includes a test case.

Thanks for the bugfix! I only did a minor adjustment: Removing the undefined arg from the test query. https://github.com/ivome/graphql-query-complexity/commit/770d80184dac539fdf0c2307e0dce6b822c67bdb


Estimote.writePowerLevel error (value is out of bounds)

Hello,
When i try to use Estimote.writePowerLevel passing a value other than 7 or 8 i get the following error:
...
function(callback) {
	var powerLevel = 4;
        estimote.writePowerLevel(powerLevel, function(error){
            console.log(error);
            callback();
        });
      },
...

buffer.js:969
    throw new TypeError('value is out of bounds');
    ^
TypeError: value is out of bounds
    at checkInt (buffer.js:969:11)
    at Buffer.writeUInt8 (buffer.js:1017:5)
    at NobleDevice.writeUInt8Characteristic (/home/vendo/node_modules/noble-device/lib/noble-device.js:189:10)
    at Estimote.writePowerLevel (/home/vendo/node_modules/bleacon/estimote/estimote.js:263:8)
    at /home/vendo/Code/write_pl_test.js:23:18
    at /home/vendo/node_modules/async/dist/async.js:3326:13
    at replenish (/home/vendo/node_modules/async/dist/async.js:808:21)
    at /home/vendo/node_modules/async/dist/async.js:814:29
    at /home/vendo/node_modules/async/dist/async.js:776:16
    at /home/vendo/node_modules/async/dist/async.js:3331:17

I noticed that power levels 7 and 8 are the only one mapped with >= 0 values and the error is thrown when triyng to write the value to buffer in writeUInt8Characteristic.
Estimote.prototype.writePowerLevel = function(powerLevel, callback) {
  if (powerLevel < 1) {
    powerLevel = 1;
  } else if (powerLevel > 8) {
    powerLevel = 8;
  }

  var POWER_LEVEL_MAPPER = {
    1: -30,
    2: -20,
    3: -16,
    4: -12,
    5:  -8,
    6:  -4,
    7:   0,
    8:   4
  };

  var rawLevel = POWER_LEVEL_MAPPER[powerLevel];

  this.writeUInt8Characteristic(ESTIMOTE_SERVICE_UUID, POWER_LEVEL_UUID, rawLevel, callback);
};

NobleDevice.prototype.writeUInt8Characteristic = function(serviceUuid, characteristicUuid, value, callback) {
  var buffer = new Buffer(1);
  buffer.writeUInt8(value, 0);
  this.writeDataCharacteristic(serviceUuid, characteristicUuid, buffer, callback);
};

So i'm wondering if are negative values causing the problem (missing conversion?) or there is something wrong with my code ?
Thank you in advance.

@mvenditto

So i'm wondering if are negative values causing the problem (missing conversion?)

Yes, I think the following change is needed:
this.writeUInt8Characteristic(ESTIMOTE_SERVICE_UUID, POWER_LEVEL_UUID, rawLevel, callback);

should be:
this.writeInt8Characteristic(ESTIMOTE_SERVICE_UUID, POWER_LEVEL_UUID, rawLevel, callback);

It would be great if you could try this out and maybe submit a pull request.

Hi,
I have experienced the same problem but i think another solution could be to leave the 'write' method unchanged
this.writeUInt8Characteristic(ESTIMOTE_SERVICE_UUID, POWER_LEVEL_UUID, rawLevel, callback);
and add a conversion in writePowerLevel function:
Estimote.prototype.writePowerLevel = function(powerLevel, callback) {
  if (powerLevel < 1) {
    powerLevel = 1;
  } else if (powerLevel > 8) {
    powerLevel = 8;
  }

  var POWER_LEVEL_MAPPER = {
    1: -30,
    2: -20,
    3: -16,
    4: -12,
    5:  -8,
    6:  -4,
    7:   0,
    8:   4
  };

  var rawLevel = POWER_LEVEL_MAPPER[powerLevel];

 var rawLevel = var rawLevel & 0xFF // ex. -12 --> 244

  this.writeUInt8Characteristic(ESTIMOTE_SERVICE_UUID, POWER_LEVEL_UUID, rawLevel, callback);
};

@dross94 that could also work.
I'd prefer to add/use writeInt8Characteristic to/from noble-device.


Add BRAKER stable_id prefix

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion;
Review the contributing guidelines for this repository; remember in particular:

do not modify code without testing for regression
provide simple unit tests to test the changes
if you change the schema you must patch the test databases as well, see Updating the schema
the PR must not fail unit testing

Description
Updating the stable_id mapping code to allow mapping between BRAKER annotations
Use case
The stable_id mapping pipeline was failing for BRAKER annotations as these have the prefix "BRAKER" rather than "ENS"
Benefits
Mapping between BRAKER annotation will now work!
Possible Drawbacks
I see none :)
Testing
Didn't add/change any tests, but don't suspect this small change will affect anything.
I have tested the pipeline with these changes and it was successful!

Coverage: 82.337% (-0.06%) from 82.399% when pulling 380f0976e0ceb2fa3f2d735f748328c60a875a8c on hotfix/stable_id_prefix into f1d9170285883f480296cd1954cccd5ca25fd2d8 on main.


Contract - Payout

Needs to request the total funds from payee
Distribute to each corresponding address amounts

This looks to be resolved with latest commit


mimic-cxr-jpg_medvqa_v1 consultation

Thank you for your nice work!I want to ask how to obtain mimic-cxr-jpg_medvqa_v1 data.

Sorry, I also have the same question! Have you already fix that


Filipino localization for Fastlane metadata

Filipino localization for the Fastlane metadata, including changelogs and screenshots. Will update later when the "Compare images" localization lands on release builds.

Thanks!


Interactively select Meltano Cloud log to print

Currently the --execution-id needs to be specified for meltano cloud log print. When it is not provided, we should provide an interactive prompt that lists recent executions IDs with some extra info (similar to the history command), and allows one to be selected.

@WillDaSilva love this. That would be so much nicer.
We could also have a "view in app" command / link too 👀


Feature request: auto-generated module.modulemap for working with swift (--swift-friendly)

Hi,
Nowadays (Version 7.3.1 (7D1014)) Xcode forces you to modularly (i.e. module.modulemap) import the objc header files.
It would be nice if the buildscript would auto-generate the proper modulemap, inside dist/include and the separate frameworks.
So for instance:
module j2objc {
    // import IOSArray IOSClass IOSObjectArray IOSPrimitiveArray IOSReflection J2ObjC_common J2ObjC_header J2ObjC_source J2ObjC_types JavaObject JreEmulation JreRetainedWith NSCopying+JavaCloneable NSDataInputStream NSDataOutputStream NSDictionaryMap NSException+JavaThrowable NSNumber+JavaNumber NSObject+JavaObject NSString+JavaString jni etc.
    umbrella "."
    explicit module * { export * }
   //or: header "JavaObject.h", header "IOSClass.h", header "IOSArray.h" etc.

    explicit module android {
        explicit module os {
            umbrella "android/os"
            explicit module * { export * }
        }
    }

    explicit module google {} // etc.
}

Sounds like a reasonable request. Question: does there need to be two
"explicit module os" sections, or is that a typo? I'm not up-to-speed on
modulemap syntax.
On Fri, Jun 3, 2016 at 10:57 AM Jasm Sison<EMAIL_ADDRESS>wrote:

Hi,
Nowadays (Version 7.3.1 (7D1014)) Xcode forces you to modularly (i.e.
module.modulemap) import the objc header files.
It would be nice if the buildscript would auto-generate the proper
modulemap, inside dist/include and the separate frameworks.
So for instance:
module j2objc {
explicit module android {
explicit module os {
explicit module os {
umbrella "android/os"
explicit module * { export * }
}
}
}
explicit module google {} // etc.

}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/j2objc/issues/752, or mute the thread
https://github.com/notifications/unsubscribe/AC2kr0rlHis10O17Tu0PRCjf_XvepZTGks5qIFz1gaJpZM4Itt3N
.

Whoops, I corrected the example.
I learned everything from here (llvm docs), and here (condensed)


Way to run the state.

Hello there. I write an kStream consumer (connector). So I don't need the builder's output here. Just run it like KafkaStreams.start() does. Can it be added? Something simple, just like def start() = withProcessedDriver { _ => () }.

+1


[v2.4] KDM release: k8s june patches

Kubernetes Updates:
This is a KDM release for new k8s versions: v1.18.19. It's not going out with any Rancher release, it's a KDM + RKE release only.

New k8s versions
Rancher versions

v1.18.20-rancher1-1
2.4.5+

Rancher updates:

rke-tools is updated to v0.1.75

Developer changelog:

All existing v1.18.x versions in dev-v2.4 need to be released or have been released (are present in release-v2.4) so we need to introduce new k8s version. To introduce a new k8s version, basecopy the latest existing version in a separate commit, followed by another commit to update what's changed. Following versions need to be created with their compatible rancher server versions:

basecopy version from
create
set rancher version constraints

v1.18.19-rancher1-1
v1.18.20-rancher1-1
2.4.5+

Available to test with dev-v2.4 KDM and RKE RC v1.1.18-rc2 once drone passes. Link: https://drone-publish.rancher.io/rancher/rke/1014

Validated the following:
Fresh install checks - 2.4.15 - pointing to dev-v2.4

Deployed clusters using k8s 1.18.20-rancher1-1 using all network providers - weave/flannel/calico/canal
Validated Network checks on all clusters
Validation tests look good on Canal cluster

Upgrade checks

On 2.4.15 KDM job pointing to release-v2.4 - deploy cluster with k8s v1.18.18-rancher1-1 version on all 4 network providers
pre upgrade checks look good
Upgrade KDM to dev-v2.4
Upgrade K8s versions to new versions - v1.18.20-rancher1-1
Post upgrade checks look good.

Min checks on 2.4.5

Deployed 2.4.5 pointing to dev-v2.4
Created Clusters for k8s versions - v1.18.20-rancher1-1 ONLY with all network provider
Validated network checks on the clusters - and they look good.

RKE. checks

Deployed a k8s cluster using v1.1.18-rc2 RKE version and k8s - 1.18.20-rancher1-1.
Basic checks on this cluster worked.


Feature request: YAML as compile-time only dependency

 Issue by devinrsmith
Sunday Feb 17, 2019 at 14:54 GMT
Originally opened as https://github.com/clap-rs/clap/issues/1416

I think that the YAML dependency could be a compile-time only dependency. That would be the best of both world IMO - keep the source neat and tidy, no need for runtime parsing of the parser, and no runtime YAML dependency!
build-scripts
code generation / build-dependencies

 Comment by Kage-Yami
Saturday Jan 04, 2020 at 12:48 GMT

I was also thinking along these lines, but after reading Specifying Dependencies -> Build dependencies, don't they only apply to build.rs (and in fact specifically don't apply to the app itself)? If so, then I don't see how this would work, as I would think the CLI definition needs to happen in the app, rather than a build script...

 Comment by CreepySkeleton
Sunday Jan 05, 2020 at 05:10 GMT

@Kage-Yami is right here, dev-depandencies are exposed only to the build script, the app has no access to them. This is not doable, at least not with current API.

 Comment by CreepySkeleton
Thursday Feb 06, 2020 at 09:17 GMT

We can actually make a proc-macro that parses .yaml and expands to resulting clap::App, no runtime cost involved!

 Comment by pksunkara
Thursday Feb 13, 2020 at 07:40 GMT

The main concern with a proc-macro that parser .yaml is custom spans. For example, let's assume we have a proc-macro load_yaml that builds an App out of yml file. And if the yml file has an error, we should emit a proc-macro-error pointing to the issue which is difficult without us being able to build custom spans (since we won't be tokenizing yml file directly but instead reading the file from fs).
Can we use serde to change something about how we can load the yml during compile time?
NOTE: I looked at the related code, and it looks like current yaml is a run time dependency because it's loading yaml from the yml static string (expanded by include_str!).

 Comment by pksunkara
Thursday Feb 13, 2020 at 09:04 GMT

Yeah, but can we create a span with the line, column info? That would make the error reporting easy

 Comment by CreepySkeleton
Thursday Feb 13, 2020 at 08:39 GMT

We can't exactly point there indeed, just because files included via include*! or non-rs files don't really have span info attached to them. What we can do is to print line/column the error was encountered at, and I think it should be "good enough". serde would grant us this info out of box.

 Comment by CreepySkeleton
Thursday Feb 13, 2020 at 09:20 GMT

We can't create a span with a custom line/column info since the only ways are call_site, def_site, mixed_site. We can't set this info on already existing span because there's no such API, even unstable.
Could you explain what you expect from such API? The error cannot be rendered for files that are not part of a crate.

 Comment by pksunkara
Thursday Feb 13, 2020 at 20:52 GMT

We can't set this info on already existing span because there's no such API, even unstable.

I wanted to make up Span. For files that can not be token streams, but we still want to parse, I wanted to make up Span when I get error and let compile_error! or Diagnostic API take care of printing it for me.
So, I looked into it and proc_macro2 stores the source map locally and thus we can't fool it by making up Span.

 Comment by pickfire
Saturday Feb 29, 2020 at 01:13 GMT

Is const able to help to compile this during compile time? https://github.com/rust-lang/rfcs/blob/master/text/0246-const-vs-static.md

 Comment by CreepySkeleton
Saturday Feb 29, 2020 at 04:40 GMT

@pickfire Nope, since yaml loader is not const at all. We need a proper procedural macro for that.


feat: added a basic tool to search past conversation logs

gptme wrote all of this, just had to ask it to not dump all matches into the output.

Codecov Report
Attention: Patch coverage is 24.32432% with 28 lines in your changes missing coverage. Please review.

Project coverage is 77.98%. Comparing base (1da7d04) to head (ddb8d30).

:white_check_mark: All tests successful. No failed tests found.

Files with missing lines
Patch %
Lines

gptme/tools/search_chats.py
22.22%
28 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #109      +/-   ##
==========================================
- Coverage   80.50%   77.98%   -2.53%
==========================================
  Files          45       46       +1
  Lines        2806     2843      +37
==========================================
- Hits         2259     2217      -42
- Misses        547      626      +79

Flag
Coverage Δ

anthropic
?

openai
77.98% <24.32%> (-0.71%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix: allow Reference objects in MultiFormat schema fields

Description
There was a bug where a multi-format schema wasn't supporting references to external documents. For example, the following schema was invalid:
"ReferencedSchema" : {
    "schemaFormat": "application/vnd.apache.avro;version=1.9.0",
    "schema": {
      "$ref": "reference-to-some-avro-file.avsc"
    }
  }

This PR fixes that by changing schema field to become oneOf either reference object or the schema (asyncapi, avro, etc).
Related issue(s)
https://asyncapi.slack.com/archives/C0230UAM6R3/p1689875953351089

/rtm


Enhanced function

Can you specify the output path and combine multiple json results into a single txt file?
Can you develop a localization interface so that others can localize the program?
can you add compilations without testdata in Releases to make updates faster?
Thanks to DirectML, my ARC A770 GPU is running just fine!

Thanks for suggestions. This app is now just run ML model, no satisfied interfaces, just start point.
Now, improving ML model for more detection accuracy. Next, interface functions should be refined.
Please wait it.

Thanks for suggestions. This app is now just run ML model, no satisfied interfaces, just start point. Now, improving ML model for more detection accuracy. Next, interface functions should be refined. Please wait it.

No, no, no, I mean can we localize Form. So that the program UI supports other languages (such as English)


Conditional generation

Is it possible to use this for conditional generation?

@abdalazizrashid This was transcribed from the original TensorFlow implementation to Pytorch and it does not support conditional generation.
Take a look at the this paper, they introduced a condition encoding network which you can implement based on the code here by a few modifications to some functions and the loss to accomodate for this new condition.
Hope it helps.

I think that adding the conditional input is quite easy.
You could have a look to section 5 of this paper:
https://arxiv.org/pdf/2102.09672.pdf

If anyone tries this out, would be great if you could link to some code or provide a MWE. Or if anyone is aware of other implementations

Has anyone been able to apply this code for tasks like inpainting or super-resolution? They are both forms of conditional generation, and it's not clear to me how one should go about doing it.

See also https://github.com/lucidrains/denoising-diffusion-pytorch/issues/21#issuecomment-1143989193

Class-conditional generation can be found in https://github.com/openai/improved-diffusion.

Just wondering if anyone had an update on this. I was going through the SR3 and Palette paper and I think I am going to try the approach of taking the source image and concatenating it with $x_{t}$ along the channel dimension and see whether that works.


Configuring the a11y storybook addon for the twig instance.

This PR does the following:

Configures the storybook addon-a11y plugin. I'm not sure why but the React configurations picks up the addons.js correctly but the twig instance needs a main.js file. In any case, any addon can now be used but only enabled the accessibility one for now.

I do have a question about the breadcrumb storybook: it fails. It can't find the @nypl/design-system-icons package. Example. It looks like you can remove this block and the story works fine: https://github.com/NYPL/nypl-design-system/blob/development/src/twig/_patterns/02-molecules/menus/breadcrumbs/breadcrumbs.twig#L14
The actual error comes from https://github.com/NYPL/nypl-design-system/blob/development/src/twig/_patterns/01-atoms/images/icons/_icon.twig#L19 . It seems this icon is only used for the mobile responsive view. Was this ever working for this story?
Front End Review:

[ ] View local instance of Twig Storybook.

@hokei I restarted the Travis builds and then the builds/tests pass. This is not ideal but I don't know what's up with puppeteer (which seems to be the cause).

That slack link isn't working... Yeah, it seems both instances are different and I don't know much about the Storybook version for html/twig and it seems a few addons are also not supported. I can take a closer look at the set-up later on, but some context on the attach_library function would be helpful. Was that pull in from somewhere or created for this project?

@EdwinGuzman attach_library is a PHP include as far as I understand—allows you to associate JS or PHP code to a template.


Refine taxonomies

closes #518
This PR addresses the following as per the referenced issue:

Removal of categories and redefinition of types at the source level:

The first 100 commits focus on removing categories from individual transcripts and redefining types at the source level.
A script was created to process each directory step-by-step, applying the necessary changes while allowing for manual adjustments when needed. Each step is captured in a separate commit.

Flattening the directory structure:

The last 9 commits simplify the directory structure by flattening some of the nested sources, improving navigation and management.
A separate script was implemented to move specific sources out of nested directories. It includes logic to automatically add aliases to preserve existing links and prevent broken references.

Bitcoin core dev tech source group doesn't have type metadata.
cc: @kouloumos


Update Composer dependencies (2021-10-12-00-03)

Visual regression test passed!
View the visual regression test report


sitelen-seli-kiwen: init at 1.1

Description of changes
sitelen seli kiwen is a Ligature and UCSUR font for sitelen pona, a constructed script for the constructed language toki pona.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I guess this made ofborg a bit too sad.
@ofborg eval

Turns out there's already another pull request for the package. I'm so sorry and I'm retreating.


Importing "fp-ts/Array" causes copmilation errors on Typescript 4.7.4

🐛 Bug report
Current Behavior
Given this simple example:
import * as A from "fp-ts/Array";

export function test() {
  return A.map(a => a);
}

and my tsconfig:
{
  "compilerOptions": {
    "moduleResolution": "node",
    "target": "ES2018",
    "outDir": "./build",
    "sourceMap": true,
    "resolveJsonModule": true
  },

  "include": ["src/**/*"]
}

I get the following compile errors when I run tsc:

Oddly enough importing TaskEither and Either both compile fine. It's only when I introduce the Array import. Is there something I'm missing here?
Expected behavior
No compliation errors
Your environment

Software
Version(s)

fp-ts
2.16.0

TypeScript
4.7.4

can't repro
the only thing I can think about is

Make sure to always have a single version of fp-ts installed in your project. Multiple versions are known to cause tsc to hang during compilation. You can check the versions currently installed using npm ls fp-ts (make sure there's a single version and all the others are marked as deduped).

Thank you for looking into this so promptly. Yes it turned out to be related to my mono repo setup. Thanks of the help!


Local web app not working - any request to /api/accounts results in 500 error

Steps to reproduce

Create freshmint project
Follow generated project README (all prior steps worked successfully), all the way to line 119 (launching the web app using npm run dev)
Clicking any button on the web app makes it dim slightly (as if FCL were trying to load the wallet discovery iframe) but nothing happens. Instead the console shows a 500 fetch error to http://localhost:8701/api/accounts.

System Info

macOS 12.0.1
Node 16.13.1
Flow CLI versions 0.30.0 and 0.30.2 (restarted docker environment on both attempts)

Not really relevant, but just thought I would mention that I was following the tutorial with a custom CSV and image assets to replicate a real user. Here are the assets (just 10 playing cards):
nfts.csv
images.zip

same here. Workaround is to start flow emulator localy (or inside docker) with support to the dev-wallet: I use flow project start-emulator ./flow.json --dev-wallet

flow project start-emulator ./flow.json --dev-wallet

Yes that fixed it for me as well. BTW, I'm also facing the same issue on Kitty items (referenced above), and the same fix solves it. I was able to triage as being an issue with the dev wallet container image (see here for log output). The default kitty items dev wallet docker image errors out during any form of wallet discovery with the following error:

error: [Error Code: 1054] location (undefined) is not a valid location: expecting an AddressLocation, but other location types are passed

@iamjabour can you see if you are able to replicate as well?

No, sorry I'm not using the Kitty items project.
As far as I could understand of the error: Seems like the docker image for the wallet project has some hardcoded or config setting up at port 300 and is not reading the port from the config. Seems like this is the issue, but I could be wrong.
Cheers,
Iam

This is a dev wallet bug and therefore a duplicate of https://github.com/onflow/kitty-items/issues/189, which has been fixed. Thanks for reporting!


Use clientKey instead of clientID for client information

Description:
To improve user experience, consider using the client key instead of the client ID, similar to document key. Currently, the interface uses clientID (which users can get using client.getID()) for retrieving other client's presence or displaying presence-changed event. But, it can be more convenient to modify the interface to use the client key, as follows:
const client = new yorkie.Client('http://localhost:8080', {
  key: 'user1234', // set client key
});
await client.activate();

const doc = new yorkie.Document('doc-key');
doc.subscribe('presence', (event) => {
  // event.value
  // { clientKey: string, presence: {...} }
});
await client.attach(doc, {
  initialPresence: { name: 'alice' },
});

const presence = doc.getPresence('user1234') // can get presence by clientKey not clientID
const users = doc.getPresences() // [ { clientKey: string, presence: {...} } ]

Why: Using the clientKey set by the user could be more convenient than using a clientID set by the Yorkie SDK.

✋😄 can i try this issue?