text:
Groundwork for new config system

This lays the groundwork for the new config file system based on JSON-Schema validation. The necessary infrastructure is there now, but I haven't yet replaced the old machinery yet. We need a squash merge first to update master now and then I will work on the rest.
The JSON schema files are located in resource/schema/<version>/ => https://raw.githubusercontent.com/qooxdoo/qooxdoo-compiler/master/resource/schema/<version>/Manifest.json, <version> referring to the schema version (currently, "v1"). It should eventually be mirrored to https://qooxdoo.org/schema/<version>/Manifest.json which will result in a much nicer "$schema" string.
There is a problem with backslashes in regular expressions in the JSON schema files (regexes with backslashes in them just wont match anything), which I need to investigate, but I have fixed them where they were relevant for the time being.

merging, thank you @cboulanger !

authors: cboulanger johnspackman

repo: qooxdoo/qooxdoo-compiler


text:
How to prevent depending on tests and vendor directories

Hi! I'm having trouble getting my layer configuration to work. I'm trying to do two things: 1) keep my production code from accidentally using test classes, and 2) keep my domain layer from depending on vendor code.
And I'm having two problems: 1) Deptrac incorrectly counts it as a violation when a test class depends on a production class, and 2) it prints something like 600,000 violations in the vendor directory.
Here are the relevant portions of my directory structure:
.
├── src
│   ├── Domain
│   └── Infrastructure
├── tests
└── vendor

Here's my configuration file:

deptrac.yaml
parameters:

  paths:
    - ./src
    - ./tests
    - ./vendor

  layers:
    -
      name: Domain
      collectors:
        - type: directory
          regex: ./src/Domain/.*
    -
      name: Infrastructure
      collectors:
        - type: directory
          regex: ./src/Infrastructure/.*
    -
      name: Tests
      collectors:
        - type: directory
          regex: ./tests/.*
    -
      name: Vendor
      collectors:
        - type: directory
          regex: ./vendor/.*

  ruleset:

    Infrastructure:
      - Domain
      - Vendor

    Tests:
      - Domain
      - Infrastructure
      - Vendor

I've inserted three violations into src/Domain/Example.php: one dependency on each of the Infrastructure layer, the tests directory, and a vendor library. It correctly finds these violations, but it reports a ton of violations in tests and vendor that I don't want it to.
Here's a representative sample from the command output:

Output
----------- ---------------------------------------------------------------------------------------------
 Reason      Domain
----------- ---------------------------------------------------------------------------------------------
 Violation   Domain\Example must not depend on Tests\EndToEndTest (Tests)
             src/Domain/Example.php:37
 Violation   Domain\Example must not depend on Infrastructure\Filesystem (Infrastructure)
             src/Domain/Example.php:38
 Violation   Domain\Example must not depend on Prophecy\Argument (Vendor)
             src/Domain/Example.php:15
----------- ---------------------------------------------------------------------------------------------

----------- ---------------------------------------------------------------------------------------------
 Reason      Tests
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Domain\Example (Domain)
            Tests\EndToEndTest::57 ->
            Domain\Example::5
            tests/EndToEndTest.php:5
Violation   Tests\EndToEnd\EndToEndTest must not depend on PHPUnit\Util\Test (Vendor)
            Tests\TestCase::13 ->
            PHPUnit\Framework\TestCase::26 ->
            PHPUnit\Util\Test::1044
----------- ---------------------------------------------------------------------------------------------

----------- ---------------------------------------------------------------------------------------------
 Reason      Vendor
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Infrastructure\Example (Infrastructure)
            Tests\EndToEnd\EndToEndFunctionalTestCase::57 ->
            Infrastructure\Example::12
            tests/EndToEnd/EndToEndFunctionalTestCase.php:12
----------- ---------------------------------------------------------------------------------------------

I feel like I must misunderstand something fundamental. Thank you so much for any help!

Let me see what I can glean from the data provided. I will start from the provided output and work backward.
----------- ---------------------------------------------------------------------------------------------
 Reason      Tests
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Domain\Example (Domain)
            Tests\EndToEndTest::57 ->
            Domain\Example::5
            tests/EndToEndTest.php:5
Violation   Tests\EndToEnd\EndToEndTest must not depend on PHPUnit\Util\Test (Vendor)
            Tests\TestCase::13 ->
            PHPUnit\Framework\TestCase::26 ->
            PHPUnit\Util\Test::1044
----------- ---------------------------------------------------------------------------------------------

implies that you do not allow dependencies from Tests to Domain nor Vendor in your rulesets.
----------- ---------------------------------------------------------------------------------------------
 Reason      Vendor
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Infrastructure\Example (Infrastructure)
            Tests\EndToEnd\EndToEndFunctionalTestCase::57 ->
            Infrastructure\Example::12
            tests/EndToEnd/EndToEndFunctionalTestCase.php:12
----------- ---------------------------------------------------------------------------------------------

implies that class-like (class, interface, trait, enum) Tests\EndToEnd\EndToEndTest is part of the Vendor layer.
Both of those things seem like you did not expect them to be the case.
Looking at the relevant parts of the provided configuration :
parameters:
  layers:
    -
      name: Vendor
      collectors:
        - type: directory
          regex: ./vendor/.*

  ruleset:
    Tests:
      - Domain

I would not expect this behavior either.
For the second problem (Tests\EndToEnd\EndToEndTest being part of the Vendor layer) the debug process is easy. You can use the deptrac debug:layer Vendor command to see all the tokens that are part of the Vendor layer. You can keep tweaking your collector configuration until the output is as you expect it.
For the first problem, I am stumped. It should not be possible given the information you've provided on this issue. Is it possible that you have mistyped something when transcribing your configuration to this issue post?
Also from the output, it seems that Tests\EndToEnd\EndToEndTest is part of both the Tests and Vendor layers:
----------- ---------------------------------------------------------------------------------------------
 Reason      Tests
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Domain\Example (Domain)
            Tests\EndToEndTest::57 ->
            Domain\Example::5
            tests/EndToEndTest.php:5
----------- ---------------------------------------------------------------------------------------------

----------- ---------------------------------------------------------------------------------------------
 Reason      Vendor
----------- ---------------------------------------------------------------------------------------------
Violation   Tests\EndToEnd\EndToEndTest must not depend on Infrastructure\Example (Infrastructure)
            Tests\EndToEnd\EndToEndFunctionalTestCase::57 ->
            Infrastructure\Example::12
            tests/EndToEnd/EndToEndFunctionalTestCase.php:12
----------- ---------------------------------------------------------------------------------------------

Did you get a warning about that? deptrac emits warning messages when a token is part of more than one layer.

https://github.com/qossmic/deptrac/pull/867 mentions the current solution for @internal in a situation like yours.

That's a good catch. That could be it. Can you try to run the dev-main branch of deptrac? It has better output for those sort of situations.

That's also what deptrac says on the main branch -> DependsOnInternalToken. @TravisCarden you should also update your detrac.yml (detrac.yaml will be loaded automatically ;-)), the key regex for the config of the directory layer is deprecated and will not work with the next release. The key is value now.
Your deptrac.yaml should look like this:
- name: Domain
  collectors:
    - type: directory
      value: ./src/Domain/*

Okay, great. I updated to qossmic/deptrac:dev-main, and (the new output is a nice improvement!) my @internal annotations are in fact causing failures, e.g.:
------------------------ -----------------------------------------------------------------------------------------------------------------
 Reason                   Tests
------------------------ -----------------------------------------------------------------------------------------------------------------
 DependsOnInternalToken   PhpTuf\ComposerStager\Tests\Core\BeginnerUnitTest must not depend on PhpTuf\ComposerStager\Domain\Core\Beginner
                          You are depending on a token that is internal to the layer and you are not part of that layer. (Domain)
                          tests/Core/BeginnerUnitTest.php:50

Is there a way to disable that behavior (DependsOnInternalToken)? My @internal annotations don't mean internal to a layer, they mean internal to my library--which is an API library that external clients are supposed to be able to depend directly on the Domain (API) layer but not the Infrastructure (internal) layer. It looks like that's the cause of most or all of thousands of violations from my vendor directory, too.

There is, but it is IMHO stupid. We should do better. What you can do is to have a custom rule like this:
use Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeReference;
use Qossmic\Deptrac\Contract\Analyser\ProcessEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class DependsOnInternalTokenSkipper implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            ProcessEvent::class => ['invoke', -1],
        ];
    }

    public function invoke(ProcessEvent $event): void
    {
        foreach ($event->dependentLayers as $dependentLayer => $_) {
            if ($event->dependerLayer !== $dependentLayer
                && $event->dependentReference instanceof ClassLikeReference
                && $event->dependentReference->isInternal
            ) {
                $event->stopPropagation();
            }
        }
    }

And then register it in your config file according to the documentation.
By the subscriber precedence, it will run right before the rule that causes the violations and will prevent it from running.

Thanks! That takes care of my @internal issue if I switch to deptrac:dev-main. However...
I don't think I could do that with deptrac-shim because I need to use its classes, right? (I don't want to pull in all of deptrac's dependencies, so I wouldn't want to switch away from the shim.)
Also, I still get some other errors I don't fully understand:
php ./vendor/qossmic/deptrac/deptrac.php --config-file=deptrac.yml
7279/7279 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

-------------------------- -------------------------------------------------------------------------------------------------------------------------------------------
 Reason                     API
-------------------------- -------------------------------------------------------------------------------------------------------------------------------------------
 DependsOnDisallowedLayer   Domain\Example must not depend on Stringable
                            You are depending on token that is a part of a layer that you are not allowed to depend on. (Vendor)
                            src/Domain/AnotherExample.php:2
 DependsOnDisallowedLayer   Domain\LogicException must not depend on JetBrains\PhpStorm\Internal\TentativeType
                            You are depending on token that is a part of a layer that you are not allowed to depend on. (Vendor)
                            LogicException::14 ->
                            Exception::13 ->
                            JetBrains\PhpStorm\Internal\TentativeType::393
                            vendor/jetbrains/phpstorm-stubs/Core/Core_c.php:393
-------------------------- -------------------------------------------------------------------------------------------------------------------------------------------

# Etc...

And of course, I don't want to actually scan the vendor directory for problems. I just want to forbid one of my layers from depending on it. (It takes a long time to scan and produces false positives as we've already seen.
@patrickkusebauch Re: "There is, but it is IMHO stupid. We should do better.", I've created a feature request to be "helpful". 😉 https://github.com/qossmic/deptrac/issues/1223

I ended up solving this for myself with a custom PHPCS sniff that just looks for use statements that aren't in my namespace. It's crude, but my needs are simple. Thanks for your help! 🙂 I'll let you decide whether to close this issue.

source: gharchive/issue

repo: qossmic/deptrac

license: MIT

license_type: permissive

license_source: github-api


text:
Space：要素によるマージン変化を削除

従来は .heading .groups などのclass名を使っている部分のマージンが .is-space で大きく開く変化をつけていたが、実作業では様々なclass名を使う他、 #161 によってspaceのバリュエーションが増えるため全てに例外を書き込むのは現実的ではなくなった。
プロジェクトごとに例外的なマージンを付与する部分だけ .is-space-sm > .heading:not(:first-child) などの書き方で追加する。

Alpha版で反映。

repo: qrac/musubii

license_source: bigquery


text:
structure explosion during refinement

for structure ./p26/03_perturbed/219_WGG10-new/1.5/0.pdb
QM refined structure:

cctbx refined structue:

Increasing the initial value of restraints_weight_scale gives different results.
for structure ./p26/03_perturbed/219_WGG10-new/1.5/0.pdb
QM refined structure, the initial value of restraints_weight_scale is 100

cctbx refined structue,  the initial value of restraints_weight_scale is 10000

repo: qrefine/qrefine


text:
configure: error: libgmp missing MacOs Bigsur

Hello
I'm get error
brew install cmake automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent imagemagick librsvg qrencode gmp

git clone --recursive https://github.com/qtumproject/qtum.git --branch=qtuminfo
 cd qtum
./autogen.sh
./configure

configure: error: libgmp missing
I'm try
brew install gmp
Warning: gmp 6.2.1_1 is already installed and up-to-date.
To reinstall 6.2.1_1, run:
brew reinstall gmp

Did you get it fix?

Connect with our  team representatives to help resolve your issue and troubleshooting .
Connect here: direct.lc.chat/14158209/
Hours of Operation
24/7 (Ready to fix issues)

authors: Darrenic17 ryanannai vuicash

repo: qtumproject/qtum

license: mit


text:
Block Exporter #3: Disable/Enable Blocks when Selected

In the selector workspace, the user is limited to one block of a given type, ensuring that they don't have multiple copies of the same block definition or generator stub.

When a block is created on the workspace, disable the block in the selector toolbox.
When a block is deleted from the workspace, enable the block in the selector toolbox.

Also updates the helper text accordingly by showing what blocks are currently selected.

This change is

@picklesrus @vicng @evd2014

Review status: 0 of 4 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 6 unresolved discussions.

demos/blockfactory/block_exporter_controller.js, line 117 [r1] (raw file):

 * @param {string} blockType - type of block to disable
 */
BlockExporterController.prototype.disableBlock = function(blockType) {

disableBlock and enableBlock are very similar in terms of code. It seems better if you could merge them into one like:
setBlockEnabled(blockType, enabled)
(The wording here is awkward, but you get the idea)

demos/blockfactory/block_exporter_controller.js, line 159 [r1] (raw file):

 * @param {!Blockly.Events} event - The fired Blockly event.
 */
BlockExporterController.prototype.onSelectBlockForExport = function(event) {

If possible, mark as private.

demos/blockfactory/block_exporter_controller.js, line 181 [r1] (raw file):

 * @param {!Blockly.Events} event - The fired Blockly event.
 */
BlockExporterController.prototype.onDeselectBlockForExport = function(event) {

Mark private.

demos/blockfactory/block_exporter_controller.js, line 190 [r1] (raw file):

    this.enableBlock(blockType);
    // Edit helper text (currently selected)
    var selectedBlocksText = this.getSelectedBlockTypes_().join(', ');

These two lines should be in the View class.

demos/blockfactory/block_exporter_controller.js, line 198 [r1] (raw file):

 * Add change listeners to the exporter's selector workspace.
 */
BlockExporterController.prototype.addChangeListenersToSelectorWorkspace

In general, I try to organize method declarations in the way people will tend to read it (from top-down).
A couple of ordering rules I use are (these aren't set in stone -- use your best judgment):

public before private
method dependencies are declared after those that use them.

In this case, I'd move it so the ordering is:
addChangeListenersToSelectorWorkspace
onSelectBlockForExport
onDeselectBlockForExport

demos/blockfactory/block_exporter_controller.js, line 199 [r1] (raw file):

 */
BlockExporterController.prototype.addChangeListenersToSelectorWorkspace
    = function() {

Fix indentation? (I think it's off, but not sure what the rules are for JS tbh.)

Comments from Reviewable

 after change

Review status: 0 of 4 files reviewed at latest revision, 6 unresolved discussions.

demos/blockfactory/block_exporter_controller.js, line 117 [r1] (raw file):
Previously, quachtina96 wrote…
> Done. setBlockDisabled is the new function.

Use the positive version for the method name (ie. setBlockEnabled). It's hard to read double negatives (eg. `setBlockDisabled(block, false)`)

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 6 unresolved discussions.

demos/blockfactory/block_exporter_controller.js, line 117 [r1] (raw file):
Previously, vicng wrote…
> Use the positive version for the method name (ie. setBlockEnabled). It's hard to read double negatives (eg. `setBlockDisabled(block, false)`)

Done.

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

Comments from Reviewable

source: gharchive/pull-request

authors: picklesrus quachtina96 vicng


text:
Unable to set the invoker for the IAM policy on the following functions

Symptom
Public access to following functions(Cloud HTTPS) are restricted due to organisational policy:
Unable to set the invoker for the IAM policy on the following functions:
	verifycontribution(us-central1)
	checkAndPrepareCoordinatorForFinalization(us-central1)
	checkIfObjectExist(us-central1)
	checkParticipantForCeremony(us-central1)
	completeMultiPartUpload(us-central1)
	createBucket(us-central1)
	finalizeCeremony(us-central1)
	finalizeLastContribution(us-central1)
	generateGetObjectPreSignedUrl(us-central1)
	generatePreSignedUrlsParts(us-central1)
	makeProgressToNextContribution(us-central1)
	permanentlyStoreCurrentContributionTimeAndHash(us-central1)
	progressToNextContributionStep(us-central1)
	resumeContributionAfterTimeoutExpiration(us-central1)
	setupCeremony(us-central1)
	startMultiPartUpload(us-central1)
	temporaryStoreCurrentContributionComputationTime(us-central1)
	temporaryStoreCurrentContributionMultiPartUploadId(us-central1)
	temporaryStoreCurrentContributionUploadedChunkData(us-central1)

Some common causes of this:

- You may not have the roles/functions.admin IAM role. Note that roles/functions.developer does not allow you to change IAM policies.

- An organization policy that restricts Network Access on your project.

Impact of this issue
We could not deploy Cloud Functions above because it violate our organizational security policy
Solution
Figuring out the way to allow only authenticated users (via GitHub) call Cloud Functions

https://cloud.google.com/endpoints/docs/openapi/set-up-cloud-functions-espv2

UP: Is this still a valid issue?

UP: Is this still a valid issue?

Yes, it should be considered as a known limitation.


text:
add attribute upload

This adds the ability to upload attributes to the HARI client.
Additional changes:

some linting

One more thing: inspect upload result part of quickstart is missing attributes as well:
https://github.com/quality-match/hari-client/blob/142629dd46704e56a0c99c9d9a99a52c59a14126/docs/example_code/quickstart.py#L107-L107

authors: katia-qm mylius

repo: quality-match/hari-client


text:
🛑 otakusan is down

In bd31aac, otakusan (https://otakusan.net/LightNovel) was down:

HTTP code: 0
Response time: 0 ms

Resolved: otakusan is back up in 36c6ac8 after 13 minutes.


text:
🛑 hako.re is down

In e00b42e, hako.re (https://mangochan.site/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: hako.re is back up in 1c70116.


text:
🛑 anime-sharing is down

In d2f0276, anime-sharing (https://www.anime-sharing.com/forum/) was down:

HTTP code: 503
Response time: 864 ms

Resolved: anime-sharing is back up in 97e9a90.


text:
🛑 kokocon is down

In b8cfdfc, kokocon (http://kokocon.net/) was down:

HTTP code: 500
Response time: 184 ms

Resolved: kokocon is back up in 7c80c91 after 7 minutes.


text:
🛑 cuongquach is down

In 0d807f8, cuongquach (https://cuongquach.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: cuongquach is back up in bf0eb3f after 6 minutes.


text:
🛑 hako.re is down

In 4bb5aa5, hako.re (https://mangochan.site/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: hako.re is back up in 7c81217 after 8 minutes.


text:
🛑 kokocon is down

In d4d9a6e, kokocon (http://kokocon.net/) was down:

HTTP code: 500
Response time: 128 ms

Resolved: kokocon is back up in 803bc7c after 7 minutes.


text:
🛑 hako.re is down

In 9d33ac5, hako.re (https://mangochan.site/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: hako.re is back up in 2335a96 after 24 minutes.


text:
🛑 otakusan is down

In 45e5dc8, otakusan (https://otakusan.net/LightNovel) was down:

HTTP code: 0
Response time: 0 ms

Resolved: otakusan is back up in 48f74d7 after 6 minutes.


text:
usePreloadedQuery - should make squigglehub faster

Based on https://github.com/relayjs/relay-examples/tree/main/issue-tracker-next-v13.

This is ready. No /api/graphql queries on client side on page load, feels significantly faster.
The pattern for loading data in Next.js pages is a bit verbose, so I added some documentation notes.
Loading states are still there; my understanding is that in many cases Next.js is able to load some parts of the UI immediately thanks to suspense and streaming, so it works as intended. The client waits for the server to send page contents, but doesn't hit the API itself.

repo: quantified-uncertainty/squiggle


text:
Collapsible records in playground output

Fixes #767.
This is a draft, just sharing the work so far. The main issue is that I can't get animations right - Framer Motion messes up transforms and I can't figure out why. Various combinations of layout, layout="position" and <LayoutGroup> cause various kinds of issues.
I guess I should give up and remove all animations for now, since I've spent 3 hours fighting this already, that's too much.

Example: https://deploy-preview-796--squiggle-documentation.netlify.app/playground#code=eNpdjM8KgkAQxl9lmVPGXhK8LHSKnsCOe1lp1YVxptaVNPXdG6wONXww8Pv%2BzNC3%2FLhMN9%2BDSXHwegMnphQZhdUO%2Bw8sh65zcfph52tIHL%2FVQCEFh%2BV9CE2DvkwxUAMGRnVUhaVJ3mxJydXMRs3LuIz7YrUkeopJHDuHu1wXmaX0l7bQekS2oN%2BwctGoyie3O%2Bg82zYkJ6XcEqwvm39I2w%3D%3D
Note that the issue with animations is not just the awkward position during the animation (that's fixable) but that after the animation scale can become broken.
Requests for feedback:

does the new style look good or does it seem too minimalistic?
do we even need showTypes setting? I think we could just always display type on hover and that would be ok
aligning everything to the left seems better than before, but for arrays it's a bit hard to distinguish keys and values if values are numbers too

Further ideas:

highlight the ancestors tree (names and left borders) on hover?
maybe draw the left border for single values too? that'd help with the arrays issue above
cache the collapse state somehow so that it'd be remembered on code edits (right now collapse state is remembered if the new version of code compiles, but resets on compilation errors)

Looks promising!
Some quick thoughts:

First version, I don't think we need animations, especially if they seem like a pain. We'll have lots of time to iterate.
We could probable remove showTypes. It was really made for a previous time, I don't think any of us use it now. The implementation isn't well done, for one.
I have some ideas about UI; I'd suggest focusing on functionality from here, then I'll take a go at the UI later.

Lots of changes!

local settings for charts
modal windows
reused ViewSettings for local settings which required some further refactorings
small win: removed showControls setting

This got a bit out of hand in scope and complexity, but I'd like to argue in favor of keeping all this.
On "plot options will control chart settings, so we shouldn't add too many non-persistent settings" argument: that's true and keeping settings is code is better, but we have already have view settings in the playground. And it doesn't make sense to keep most of them global. Also, I think it's quite probable that frontend part will be ahead of language features for some time, and there might be some settings for which configuring through code is too unhandy (e.g. zooming and panning).
On merging the settings. There's the UI insight which I didn't realize at first: nested settings are hard to use because you might want to change your global settings after you changed your local settings.
E.g., if there's a tree:

top-level
foo record
foo.bar array
foo.bar[0], foo.bar[1], foo.bar[2] charts

It might make sense to allow to configure all foo.bar charts at foo.bar level. But then if you go to the top-level playground settings and change something, it won't affect your charts, because now they're controlled at the foo.bar level. And if the user also changed something at foo level and at foo.bar[2] level then it would be difficult for them to figure out why their settings don't apply.
So, I had to drop the idea of making settings truly nested, and opted for leaf-level settings for charts instead.
This still requires the "Reset settings" button, but I hope it's obvious enough:

Codecov Report

Merging #796 (43fed64) into develop (7f87398) will decrease coverage by 0.01%.
The diff coverage is 50.00%.

:exclamation: Current head 43fed64 differs from pull request most recent head c7bf40e. Consider uploading reports for the commit c7bf40e to get more accurate results

@@             Coverage Diff             @@
##           develop     #796      +/-   ##
===========================================
- Coverage    57.97%   57.96%   -0.02%
===========================================
  Files           73       73
  Lines         4093     4094       +1
===========================================
  Hits          2373     2373
- Misses        1720     1721       +1

Impacted Files
Coverage Δ

...ucer/Reducer_Dispatch/Reducer_Dispatch_BuiltIn.res
70.11% <ø> (ø)

...rface/ReducerInterface_InternalExpressionValue.res
51.87% <0.00%> (-0.33%)
:arrow_down:

...rescript/FunctionRegistry/Library/FR_Sampleset.res
76.31% <100.00%> (ø)

Continue to review full report at Codecov.

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

I Slack sent you some recordings about this, where I go more into detail on it.

Changes:

escape key for modals
close modal by clicking on the background
bar color is blue now
smart modal positioning (maybe even too smart... made many attempts to get this right, lots of corner cases & CSS/DOM quirks)
fixed tooltip styles
small semi-hidden feature: when modal is open, you can scroll back to the item you're configuring by clicking on item in modal's title; but the link is not highlighted (since I'm unsure if that would maybe be too annoying for a pretty rare scenario)

On modal positioning logic:

modal tries to position itself in the middle of the visible part of the left sidebar
unless the rectangle where it tries to position itself is too small; then it falls back to positioning in the middle of the screen

I decided not to remove the gray overlays (but made them lighter); making local settings non-modal, i.e. making stuff outside of settings forms interactive, would cause too many UI scenarios I'm not sure how to handle, or which cause too many complications for this to be worth it.
Also, I kept the overlays global. I.e., if playground is embedded into a larger website, overlays cover the entire screen and not just the part that's controlled by the playground. The reason for this is that modal's position should be fixed, while the larger website could be scrollable, and keeping the modal inside the playground boundaries would cause problems when the playground gets almost-out-of-viewport on scroll. (This could be handled with switching from position: fixed to position: relative dynamically, so that modal would "give up" on being fixed entirely on screen and leave the screen; but it's complicated).
Btw, double tooltip border was not due to tailwind, it's because docusaurus redefines <pre> styles. I got rid of <pre> and replaced it with equivalent css styles.
Remaining issues:

height is still broken (but that's not a regression, it's broken on develop branch too)
top menu on the website covers the modal & tooltips; I blame docusaurus, its navbar is fixed with huge z-index, so there's not much I can do; I've enabled hideOnScroll feature to fix this, but overlaps still can happen occasionally

on preview branches netlify also adds a bottom bar, but that won't be a problem after the merge

Small note: The editor shows "Distribution Display Settings" and "Function Display Settings" for each item. It would be nice if it just showed distribution settings for distributions, and function settings for functions. Maybe also show "Distribution Display Settings" for functions, for the scroll, but have them on bottom.

I think the model form could be 1.5x-2x the width.

I think this is a fair bit better. I'm inclined to try to get it into develop, then production, soon; we have several areas of improvement to do, before we get into more serious polish .

I think the model form could be 1.5x-2x the width.

Ok, increased.
I think this is ready to be merged; I'll fix the height bug with separate PR, created #886 for that.

One small thing still: When I click the keys, they still get highlighted in blue. Did you look into this? (We can adjust it later)

We could really use this functionality soon (to help with speed), and it generally works pretty well, imo. I didn't do a thorough code review, but trust you enough here. (And feel like we might replace/remove some of this later anyway, not sure).

authors: OAGr berekuk codecov-commenter


text:
MAINT: Makes logging for updating benchmarks more verbose

We're seeing some issues with benchmarks failing to update, so this should give us a better idea of the context for when this is happening.

@yankees714 I think this is probably fixed by the changes in https://github.com/quantopian/zipline/pull/793 ?

repo: quantopian/zipline


text:
Don't run coverage check when tests fail

I thought I already fixed this, but https://travis-ci.com/quantumlib/Cirq/jobs/130987423 from https://github.com/quantumlib/Cirq/pull/507 has failing tests producing a bogus coverage report.

You might have fixed it because i haven't been able to reproduce it. This might have had to do with something else in the PR you are linking. Open if you able to reproduce.

authors: Strilanc vtomole

repo: quantumlib/Cirq


text:
Package isolation tests failing

Description of the issue
dev_tools/packaging/isolated_packages_test.py::test_isolated_packages is failing in several PRs (example).
Error log

=================================== FAILURES ===================================
_____________________ test_isolated_packages[cirq-google] ______________________
[gw0] linux -- Python 3.8.12 /opt/hostedtoolcache/Python/3.8.12/x64/bin/python

cloned_env = <function cloned_env.<locals>.base_env_creator at 0x7f6079dccdc0>
module = Module(root=PosixPath('cirq-google'), raw_setup={'name': 'cirq-google', 'version': '0.15.0.dev', 'url': 'http://github...res=['google-api-core[grpc] >= 1.14.0, < 2.0.0dev', 'proto-plus>=1.20.0', 'protobuf>=3.13.0', 'cirq-core==0.15.0.dev'])

    @pytest.mark.slow
    # ensure that no cirq packages are on the PYTHONPATH, this is important, otherwise
    # the "isolation" fails and for example cirq-core would be on the PATH
    @mock.patch.dict(os.environ, {"PYTHONPATH": ""})
    @pytest.mark.parametrize('module', list_modules(), ids=[m.name for m in list_modules()])
    def test_isolated_packages(cloned_env, module):
        env = cloned_env("isolated_packages", *PACKAGES)

        if str(module.root) != "cirq-core":
            assert f'cirq-core=={module.version}' in module.install_requires

        result = shell_tools.run_cmd(
            *f"{env}/bin/pip install ./{module.root} ./cirq-core".split(),
            err=shell_tools.TeeCapture(),
            raise_on_fail=False,
        )
>       assert result.exit_code == 0, f"Failed to install {module.name}:\n{result.err}"
E       AssertionError: Failed to install cirq-google:
E           DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
E            pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
E         ERROR: Could not install packages due to an OSError: [('/home/runner/work/Cirq/Cirq/cirq-core/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.[18](https://github.com/quantumlib/Cirq/runs/6103992908?check_suite_focus=true#step:5:18)18', '/tmp/pip-req-build-zfalukpo/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.1818', "[Errno 2] No such file or directory: '/home/runner/work/Cirq/Cirq/cirq-core/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.1818'")]
E
E         WARNING: You are using pip version [21](https://github.com/quantumlib/Cirq/runs/6103992908?check_suite_focus=true#step:5:21).2.4; however, version [22](https://github.com/quantumlib/Cirq/runs/6103992908?check_suite_focus=true#step:5:22).0.4 is available.
E         You should consider upgrading via the '/tmp/cirq-pytest/ce65cd07-09fb-48b4-a75c-5bc633b87b[25](https://github.com/quantumlib/Cirq/runs/6103992908?check_suite_focus=true#step:5:25)/bin/python -m pip install --upgrade pip' command.
E
E       assert 1 == 0
E        +  where 1 = CommandOutput(out=None, err='  DEPRECATION: A future pip version will change local packages to be built in-place witho...mp/cirq-pytest/ce65cd07-09fb-48b4-a75c-5bc6[33](https://github.com/quantumlib/Cirq/runs/6103992908?check_suite_focus=true#step:5:33)b87b25/bin/python -m pip install --upgrade pip\' command.\n', exit_code=1).exit_code

Cirq version
cirq-core==0.15.0.dev

Suspected to be transient: OSError: ERROR: Could not install packages due to an OSError: [('/home/runner/work/Cirq/Cirq/cirq-core/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.1818', '/tmp/pip-req-build-zfalukpo/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.1818', "[Errno 2] No such file or directory: '/home/runner/work/Cirq/Cirq/cirq-core/cirq/interop/quirk/cells/__pycache__/parse_test.cpython-38-pytest-7.1.1.pyc.1818'")]


text:
mixture protocol restructured and serial concatenation implemented

As mentioned in #4876, the mixture protocol has been restructured.

The serial concatenation is handled by converting the decomposed operations into their superoperator form with the help of cirq.Moment().expand()
To convert from kraus to mixture, eigenvalue decomposition is done to obtain the corresponding probability.

Merging this PR would clear the blockage for #4822.

Using superoperator as an intermediate to obtain mixture protocols lead to invalid mixtures since not every Kraus representation can be converted into valid mixtures. I added a check after the computation of the mixture to ensure the final mixture is valid.

The mixture is valid if the probabilities sum up to 1 (and are between 0 and 1)
If the probability of an element is less than atol, it is eliminated.
Every operator in the mixture must be a valid unitary, else the whole mixture is invalid.

Tests for the same have been added, cirq-core/cirq/ops/pauli_measurement_gate_test.py is still failing. The mixture calculated seems valid. Since serial concatenation is the last method of computing mixture, its absence of it returns the default value. So the additional functionality has not changed the answer for the pre-existing mixtures.

mixture protocol has been restructured with serial concatenation as a part of it, serial concatenation uses superoperator as intermediate after decomposing the given operator. If any of the decomposed operators do not have a mixture then the given operator also is considered to not have a mixture.


text:
Allow partial state vector function to handle qudits

Add handling for qudits within partial_trace_of_state_vector_as_mixture
Fixes #3003

Automerge cancelled: A required status check is not present.
Missing statuses: ['Misc check', 'Pytest Ubuntu (3.9)', 'Pytest Windows (3.7)', 'Pytest Windows (3.8)', 'Pytest Windows (3.9)', 'Typescript lint check', 'Typescript tests', 'Typescript tests coverage']

Oh, cirqbot...

authors: CirqBot daxfohl


text:
Propagate rotation epsilon in gate cost

The t_complexity protocol ignores the eps parameter when counting rotations.
The solution is to enhance the QECGatesCost cost and associated dataclass GateCounts to count rotation/eps pairs.

Sample code snippet:
import sympy
from qualtran.bloqs.basic_gates import ZPowGate

t, eps = sympy.symbols(r"t \epsilon")
bloq = ZPowGate(exponent=t, eps=eps)
print(bloq.t_complexity())

Prints TComplexity(rotations=1).
One could do bloq.t_complexity().t_incl_rotations(eps), but this eps is not the same as the bloq's eps (which in general could be different for each subbloq).

Some history:
eps for rotations was introduced in the early days of Qualtran and I think is a useful parameter when constructing rotation bloqs. I agree it's probably not propagated correctly everywhere (though I remember implementing and correctly propagating eps in qvr, qft and hamming weight phasing bloq) -- we should file issues and try to get that fixed.
Originally, the rotation bloqs had a _t_complexity_ method implemented and would return the number of T gates scaling with log(1/eps); so the T-counts for call graphs with rotation bloqs would take the eps in account. (eg: https://github.com/quantumlib/Qualtran/pull/469)
As part of unifying / deprecating the T-complexity protocol; a temporary fix was to return rotations=1 for all rotation bloqs and add a method on the TComplexity class to convert rotations into T-gates. Eventually, the idea was to use the new costing framework to keep track of bloq counts and then use the eps to convert rotation bloqs to t-gates like we used to do originally. Here are some relevant discussions -
https://github.com/quantumlib/Qualtran/issues/662#issuecomment-1949215534
https://github.com/quantumlib/Qualtran/pull/678#discussion_r1492944645
Using a single / hardcoded eps to convert all rotation bloqs to t gates was never meant to be a permanent solution. We've just not gotten around completing the migration yet I guess.

@mpharrigan As per our discussion offline, it'll be nice to have this as part of the v1.0 milestone.

authors: anurudhp mpharrigan tanujkhattar

repo: quantumlib/Qualtran


text:
stimcirq.cirq_circuit_to_stim_circuit fails converting 2 qubit asymmetric depolarizing error channels.

Output:
File [stimcirq/_cirq_to_stim.py:93], in cirq_circuit_to_stim_circuit(circuit, qubit_to_index_dict)
     10 def cirq_circuit_to_stim_circuit(
     11     circuit: cirq.AbstractCircuit, *, qubit_to_index_dict: Optional[Dict[cirq.Qid, int]] = None
     12 ) -> stim.Circuit:
     13     """Converts a cirq circuit into an equivalent stim circuit.
     14
     15     Not all circuits can be converted. In order for a circuit to be convertible, all of its operations must be
   (...)
     91             edit_circuit.append_operation("H", targets)
     92     """
---> 93     return cirq_circuit_to_stim_data(circuit, q2i=qubit_to_index_dict, flatten=False)[0]

File [stimcirq/_cirq_to_stim.py:114], in cirq_circuit_to_stim_data(circuit, q2i, flatten)
    111     elif isinstance(q, cirq.GridQubit):
    112         helper.out.append_operation("QUBIT_COORDS", [q2i[q]], [q.row, q.col])
--> 114 helper.process_moments(circuit)
    115 return helper.out, helper.key_out

File [stimcirq/_cirq_to_stim.py:440], in CirqToStimHelper.process_moments(self, moments)
    438 def process_moments(self, moments: Iterable[cirq.Moment]):
...
    173 if self._num_qubits != 1:
--> 174     raise ValueError('num_qubits should be 1')
    175 return self._error_probabilities.get('X', 0.0)

ValueError: num_qubits should be 1

stimcirq.cirq_circuit_to_stim_circuit fails converting 2 qubit

Could you provide the code that caused this exception? In my testing it seems to work:
import stim
import stimcirq

a = stimcirq.stim_circuit_to_cirq_circuit(stim.Circuit("""
    PAULI_CHANNEL_2(0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01) 0 1
"""))
print(a)

0: ───PauliMix(II:0.85,IX:0.01,IY:0.01,IZ:0.01,XI:0.01,XX:0.01,XY:0.01,XZ:0.01,YI:0.01,YX:0.01,YY:0.01,YZ:0.01,ZI:0.01,ZX:0.01,ZY:0.01,ZZ:0.01)───
      │
1: ───#2──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

The issue is the other direction.
my_circuit = cirq.Circuit(cirq.asymmetric_depolarize(error_probabilities={'II': 1, 'IX': 0, 'IY': 0, 'IZ': 0, 'XI': 0, 'XX': 0, 'XY': 0, 'XZ': 0, 'YI': 0, 'YX': 0, 'YY': 0, 'YZ': 0, 'ZI': 0, 'ZX': 0, 'ZY': 0, 'ZZ': 0}).on(cirq.LineQubit(0), cirq.LineQubit(1))) print(my_circuit) stimcirq.cirq_circuit_to_stim_circuit(my_circuit)

Prints the cirq circuit, like so,
0: ───A(II:1, IX:0, IY:0, IZ:0, XI:0, XX:0, XY:0, XZ:0, YI:0, YX:0, YY:0, YZ:0, ZI:0, ZX:0, ZY:0, ZZ:0)───
      │
1: ───(1)─────────────────────────────────────────────────────────────────────────────────────────────────

but then gives the error above

A note of this. Should be a relatively easy fix. cirq.AsymmetricDepolarizingChannel objects have an attribute, "error_probabilities", which returns a dictionary with their associated error probabilities. (e.g. {'I': 0.94, 'X': 0.01, 'Y': 0.02, 'Z': 0.03} or {'II': 0.8836, 'IX': 0.0094, 'IY': 0.0188, 'IZ': 0.0282, 'XI': 0.0094, 'XX': 0.0001, 'XY': 0.0002, 'XZ': 0.0003, 'YI': 0.0188, 'YX': 0.0002, 'YY': 0.0004, 'YZ': 0.0006, 'ZI': 0.028199999999999996, 'ZX': 0.0003, 'ZY': 0.0006, 'ZZ': 0.0009}).  So, to convert from a cirq.AsymmetricDepolarizingChannel object to a stimcirq._two_qubit_asymmetric_depolarize.TwoQubitAsymmetricDepolarizingChannel object, all you need to do is
prob_dict = my_cirq_channel.error_probabilities
del prob_dict["I"*my_cirq_channel.num_qubits()] # Removes probability for the all Identity case
prob_dict = dict(sorted(prob_dict .items())) # just ensures that the dictionary is sorted in the way stim expects. I don't think this is necessary though, as I believe the cirq error_probabilities will always be sorted anyway, but I'm not sure.
stimcirq.TwoQubitAsymmetricDepolarizingChannel(list(prob_dict.values())) # may not even need the list here. Haven't tested.
# You could also build a stim circuit directly from prob_dict.values() here as prob_dict.values() is now outputting the probabilities in the order stim expects (e.g. ['II', 'IX', 'IY', 'IZ','XI', 'XX', 'XY', 'XZ', 'YI', 'YX', 'YY', 'YZ', 'ZI', 'ZX', 'ZY', 'ZZ'])

I'm not familiar enough with this codebase to locate where this change should be made, but if you can find where this "ValueError: num_qubits should be 1" error is popping up, you can make the above simple change to draw the error probabilities directly from the cirq.AsymmetricDepolarizingChannel then feed them into whatever function generates the appropriate stim Pauli Channel.

authors: Strilanc nonohuff

repo: quantumlib/Stim


text:
Draw Genotype Cell

Hello
Is there a function or example you can provide on how to draw the Cell Block (similar to documentation GIF) give a Genotype and alphas values.
Regards.

Sure, I will include the visualization scripts in my next commit.

I've uploaded the scripts.


text:
Feature: constructor with iterator pair

Add a constructor to poly() that takes as input a pair of iterators.

LGTM, could you just add a test case?

Ok with me too. The unitary test would be indeed a good thing.

I added a test case. However, this showed some unspecified behavior:

When we initialized the polynomials from less than "degree" elements, I think we should have taken each coefficient modulo the current modulus (in case it was not reduced), so I performed that change.
When we initialize with "degree*nmoduli" elements, I think we can assume that everything is already reduced accordingly, so I didn't change the current code.

This might impact slightly the performances. Is that OK for you?

Hmm it is annoying specially when we just want to initialize a null or unit polynomial ...
Maybe you can add a boolean argument "reduce_coeffs" to the constructor with a default value of "true" ?
By default it will be correct but if you know the trick you can set it to false and have a faster init.

Ok, done. I added the tests on the test file to verify there is no reduction if the argument is set to false.
To be consistent, I also modified the behavior when we provide degree*nmoduli values.

Great the PR is ready for me. If no other requests are raised I will merge it tomorrow.

repo: quarkslab/NFLlib


text:
Units unclear

Hi There,
I've been playing around with the crate, and I have a question regarding units, specifically the 'integrated RMS'.
I haven't been able to figure out what this is - this seems simply like an integral of the power density spectrum, but it doesn't say what the units are, and it always seems to be positive (even if the power density spectrum (in dB) is negative).
For example, I've put in a 10 kHz sine wave with 5 V peak-to-peak amplitude (i.e. 2.5 V amplitude), and the integrator itegrates up to ca. 3.55. I have no idea how this number is obtained. I wonder if you could enlighten what this integrated RMS is?

The integral of a power spectral density is power. "Integrated RMS" is the square root of the integrated power spectral density, i.e. the root mean square fluctuations of the underlying quantity over some band. Only positive quantities (e.g. a spectral power) can be shown on a log scale. The mean/sum/integral of a positive quantity is positive (their integral is also monotonically increasing). The square root of a positive quantity is positive (and monotonically increasing). Normalization is such that for a PSD of p flat over a bandwidth b the integrated RMS is sqrt(p*b), e.g. for 0dB/Hz white noise in a 1 Hz band, the RMS fluctuation is 1. For a unit amplitude sine the power is 1/2 (peak and integrated) and the RMS is 1/sqrt(2).
If you are certain about the physical amplitude in your case, maybe the stream serialization/deserialization has a factor of two wrong for dual-iir data: we use this tool primarily for other applications and haven't tested it much for dual-iir.

Ah, so essentially this is RMS power in watts assuming a 1 ohm load (and then displayed as a frequency component up to which you integrate)? (Which could be a negative number, if it was in dB, but it isn't then.)

The units are those of the base quantity. Volt in the case of dual-iir stream.

I see.
However, I think your terminology is rather confusing: it's not an integrated RMS power that you're plotting, but an integrated RMS amplitude -- power is usually taken to be proportional to the square of the amplitude. Furthermore, it's quite confusing that the PSD is in dB/Hz, but the integrated RMS is being shown in native units, not dB.
My understanding of what's happening now is this: you calculate the FFT of the signal (squared?), and then integrate that FFT up to a given frequency, and show the RMS amplitude of that signal as a function of the frequency you integrate up to. Importantly, it seems to me that this is not a power. Take a signal $V(t)=\sin(2\pi t/T)$, the power associated with this is  $P(t)=V^2(t)=\sin^2(2\pi t/T)$. The average power is $1/2$. The root-mean-square voltage is $1/\sqrt{2}$. So, when you put in a 1 V amplitude, 1 kHz signal, this gets RMS'ed into $1/\sqrt{2}\approx 0.7\text{ V}$, which is what is reported in the GUI as you integrate up to high frequencies. (If this was the power corresponding to the integrated RMS voltage, it would report $1/2$.)
Therefore:

Could you confirm that my understanding is correct, and give some mathematical formulas as to how you calculate the PSD (is that also an amplitude or an amplitude-squared FFT)?
Perhaps you would want to display the integrated RMS in dB, not in native units, to make it consistent with the PSD (or at least draw attention to the discrepancy).
Clarify that it's an integrated RMS of the amplitude, not the power.

It doesn't claim "integrated RMS power" anywhere. That's your invention.
I'm really confused by your repetition of what I said above. What are you trying to achieve and what's the problem?
Regarding your request (and even command!): I fear your understanding of basic signal processing concepts is not complete and/or incorrect. The formulas are in the code and above. If you need further help with signal processing basics, I'd recommend books or courses.
dB for an integrated RMS plot would be plain wrong. There is no need (and no way) to plot it in the same units as PSD. The intent is precisely in the different units.
I'll just ignore you ordering me to do things.

repo: quartiq/stabilizer-stream


text:
Rust-based stream server + visualization

This PR adds a livestream viewer based on a Rust-based receiver + backend server along with a JS-based frontend. The server is started on localhost:8080
NPM must be installed first. Once installed, just run cargo run --bin webserver --release to get going
Sample output

This server is capable of running continuously. However, if larger captures (e.g. > 100ms) are requested, data will start being dropped at the receiver because of excessive serialization/transfer times required to send data to the frontend.
This is intended as an initial prototype and is not necessarily pretty, but demonstrates the feasibility and limitations of this approach.

I've opened #6 and #7 for known issues with this PR - notably:

Capture windows may not be respected
Exceptionally long capture periods (> 150mS) may not display at all

repo: quartiq/stabilizer-streaming


text:
please tell me the reason? why the SimpleJob can't be the Job

import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class SimpleTriggerExample {
public static void main(String[] args) throws Exception {

    try {
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.start();
        System.out.println("----------1");
        // define the job and tie it to our HelloJob class
        JobDetail job = newJob(SimpleJob.class).withIdentity("job1",
                "group1").build();
        System.out.println("----------2");
        Trigger trigger = newTrigger()
                .withIdentity("trigger1", "group1")
                .startNow()
                .withSchedule(
                        simpleSchedule().withIntervalInSeconds(2)
                                .repeatForever()).build();
        System.out.println("----------3");
        scheduler.scheduleJob(job, trigger);
        System.out.println("----------4");
    } catch (SchedulerException se) {
        se.printStackTrace();
    }
}
class SimpleJob implements Job {

    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {

        String jobName = context.getJobDetail().getKey().getName();
        SimpleDateFormat dateFormat = new SimpleDateFormat(
                "yyyy 年 MM 月 dd 日  HH 时 mm 分 ss 秒");
        String jobRunTime = dateFormat.format(new Date());

        System.out.println( jobName + "  " + jobRunTime);
    }
}

}

I don't understand your question. What's the issue here?

Closing outdated, unresolved issues. Please, reopen if still relevant.

authors: denghuimin zemian

repo: quartz-scheduler/quartz


text:
Wrong orderBy dynamic path generation for SELECT DISTINCT JPA-Queries

The orderBy dynamic path generation was introduced in #582 and it works as expected with regular JPA Queries, e.g
query.from(player).orderBy(player.team.name.asc()).list(player);

generates proper JPQL
select player from Player player
    left join player.team as player_team
    order by player_team.name asc

and the JPA-provider (here: Hibernate v4.2.14.Final) generates proper SQL
select player0_.id as id1_0_, player0_.age as age2_0_, player0_.team_id as team_id3_0_
    from Player player0_
    left outer join Team team1_ on player0_.team_id=team1_.id
    order by team1_.name ASC

However, one shouldn't transfer the same logic one-to-one to SELECT-DISTINCT queries.
In the following example:
query.from(player).distinct().orderBy(player.team.name.asc()).list(player);

it is wrong to generate JPQL
select distinct player from Player player
    left join player.team as player_team
    order by player_team.name asc

because the corresponding SQL statement is not correct:
select distinct player0_.id as id1_0_, player0_.age as age2_0_, player0_.team_id as team_id3_0_
    from Player player0_
    left outer join Team team1_ on player0_.team_id=team1_.id
    order by team1_.name ASC

PostgreSQL v9.3.5 reports

for SELECT DISTINCT, ORDER BY expressions must appear in select list

H2 v1.3.176 reports

org.h2.jdbc.JdbcSQLException: Order by expression "TEAM1_.NAME" must be in the result list in this case;

Not yet tested with other DBs but according to official docs, same behaviour can be expected

Apache Derby
MS SQL Server
Oracle

affected versions: 3.5.1 and 3.6.0

+1
having problem with it too. our architect is constantly nagging cause we need too many workarounds because of this

I have the same problem.

I understand the issue, but how can this be better handled in Querydsl?
Based on
query.from(player).orderBy(player.team.name.asc()).list(player);

we don't really know how the select part looks like since eager loading of the team relation would extend the select part.

Any workaround for this issue?

@mooshben
The ugly but trivial workaround is:

Add all orderBy statements explicitly to the list of projections

// original
List<Player> players = query.from(player).distinct().orderBy(player.team.name.asc()).list(player);
// workaround
List<Tuple> tuples = query.from(player).distinct().orderBy(player.team.name.asc()).list(player, player.team.name);

You would then have to deal with tuples and unwrap the player-objects

for (Tuple tuple : tuples) {
    player = (Player)tuple.get(0);
}

@timowest: wouldn't it be possible to automatize those two steps, in case if Query-Mixin is maked as distinct=true?

+1

I experienced same issue. Can be applied some automation on QueryDSL side here as propose @alexeev?

How SELECT DISTINCT ON specific field can be done in querydsl 4.0.2 ?
Thanks.

+1

I am seeing this as well with QueryDSL 4.1.2 and MySql 5.7.12 and sql_mode set to ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Any chance to fix it? For example by adopting the solution from the comment above?
https://github.com/querydsl/querydsl/issues/1150#issuecomment-141094163

This is just a limitation of the database dialect. If at all worked around, it should be in the ORM layer.
Just make sure the query projects the team as well, if you want to order by its properties.
query.select(player, player.team).from(player).orderBy(player.team.name.asc()).list(player);

This is just a limitation of the database dialect. If at all worked around, it should be in the ORM layer.
Just make sure the query projects the team as well, if you want to order by its properties.
query.select(player, player.team).from(player).orderBy(player.team.name.asc()).list(player);

authors: LSDancer alexeev dmaidaniuk hamavaro ice-pro johnjaylward jwgmeligmeyling mooshben orange-buffalo timowest wernert75

repo: querydsl/querydsl


text:
C# schema issue on Required

Hi, I’m having the following problem trying to generate C# classes for the schema below
{
	"$schema": "http://json-schema.org/draft-03/schema#",
	"description": "Rightmove Realtime Datafeed Json Schema for send property request",
	"type": "object",
	"properties": {
		"network": {
			"type": "object",
			"id": "network",
			"required": true,
			"description": "Information about the network calling the API",
			"properties": {
				"network_id": {
					"type": "integer",
					"id": "network_id",
					"required": true,
					"description": "Unique Rightmove reference for this network"
				}
			},
			"additionalProperties": false
		},
		"branch": {
			"type": "object",
			"id": "branch",
			"required": true,

full schema: https://www.icloud.com/iclouddrive/0EpyBLiL-EQxFtiTHQJz_kKJw#SendPropertyDetailsRequestSchema.json
quicktype -s schema SendPropertyDetailsRequestSchema.json -o test.cs
returns
Error: required must be string or array of strings, but is true at SendPropertyDetailsRequestSchema.json#/properties/branch.
The schema has come from a third party and I’m not sure if the code generator or schema has an issue.
Any help appreciated, thanks

In JSON Schema Draft 3 required had a different meaning.  It shouldn't be too hard to handle this, too.

Yes that's fine. its public already. Thanks

authors: chrizy schani

repo: quicktype/quicktype


text:
Fix control plane readiness

Description
Per title.
How was this PR tested?

Added unit test
Verified logs output 2024-03-29T00:38:43.814Z  INFO quickwit_serve: control plane is ready

PTAL @fulmicoton

repo: quickwit-oss/quickwit


text:
fix: main.ts does not use dot-env

For some reason it always thinks CDK_DEFAULT_REGION = us-west-2
Though .env is and .aws/credentials are us-east-1
(and it picks up the new ACCOUNT_ID correctly)

Bizarrely, even if I hard code the stack to create everything in us-east-1, 'npx projen deploy' still builds the stack ITSELF in us-west-2.
Restarting CLI to see if that helps...

Weird
current credentials could not be used to assume 'arn:aws:iam::712023778557:role/cdk-hnb659fds-deploy-role-712023778557-us-east-1', but are for the right account. Proceeding anyway.
current credentials could not be used to assume 'arn:aws:iam::712023778557:role/cdk-hnb659fds-deploy-role-712023778557-us-east-1', but are for the right account. Proceeding anyway.
current credentials could not be used to assume 'arn:aws:iam::712023778557:role/cdk-hnb659fds-deploy-role-712023778557-us-east-1', but are for the right account. Proceeding anyway.

Did not have bootstrap. Hmm.
 ⏳  Bootstrapping environment aws://712023778557/us-east-1...
Trusted accounts for deployment: (none)
Trusted accounts for lookup: (none)
Using default execution policy of 'arn:aws:iam::aws:policy/AdministratorAccess'. Pass '--cloudformation-execution-policies' to customize.

repo: quiltdata/omics-quilt-demo


text:
wrong link from beta ETMoses to beta ETM

When you want to go from the beta ETMoses to the beta ETM to make a new LES, it doesn't work:

The link is wrong, it should be
https://beta-pro.energytransitionmodel.com
instead of
https//beta-pro.energytransitionmodel.com
( a colon is missing after https)

Do you remember where you found this link?

This link opens when I click on the green bar 'Go to the energy tranistion model' at https://beta-moses.energytransitionmodel.com/welcome

authors: MarjoleinSchwachofer grdw

repo: quintel/etmoses


text:
How can high concurrency for EV have a positive effect on load reduction with storage

I am trying to wrap my head around the following effect (at least qualitatively): If, in this LES, I give all EV the same profile and apply storage, the reduction is a LOT (even in January):

But when I use as many profiles (spreading the load), the reduction when using storage is far less:

How can this be?

This has to do with the differences in distance travelled for each profile. Driver 1 travel only 4.3 km (total from and to work). See an overview of the distances travelled for each driver in the tabel below:

@jorisberkhout thanks for your input. Unfortunately, it seems to be a more technical issue. If you look at the first week of January for one profile you can see huge reductions in load:

For a number of profiles that reduction is gone:

I would trust the latter result more because there is not enough local solar PV production (see blue curve) to charge the EV at all.

After @antw's fix of https://github.com/quintel/etmoses/commit/969cf3b2b6fc1d4e87c45b99032068855ee25332, the results are less weird but still there is the following issue:
For a single profile there are moments that the EVs are all loading to buffer the excess PV production (which is expected):

For multiple profiles, I would think this effect would be less: the concurrency of loading is lower with multiple profiles. But I see much higher peaks in summer weeks then would be the case without storage enabled. Maybe I'm tired and not reading these curves right but it looks to me as if the cars are loading at a higher capacity then the solar panels are actually proving:

Now that I think of it, this may be because the cars can only load at their maximum capacity at the moment and are (in effect) not loading for the entire duration of the time-step. Is that the case @antw ?
If not, are we sure that energy is conserved? Or are EVs buffering more kWh's than PV are actually producing?

I think the problem in your example is that you're comparing a testing ground which has an EV technology which uses profile_1 and units=15 to a testing ground which uses a wide range of different profiles and units=1.
I created two new LES' based on yours: one which uses one EV profile_1 and units=15 technology here, and another which uses 15 separate profile_1 and units=1 EVs here. The charts are almost identical. In theory, I think they should be completely identical – I'll make an effort to find out why next week – but I think the remaining anomalies are tiny in the big scheme of things.
1x profile_1 and units=15

15x profile_1 and units=1

Or are EVs buffering more kWh's than PV are actually producing?

If you look at the load on Cluster #2 and Cluster #3 in the same time period, they have negative loads. PV from Cluster 2 and 3 is being used to charge EVs in cluster 1. Ideally they would prioritise EVs attached to their own node – PV in cluster 2 should charge EVs in cluster 2 first – but that depends on "subnet awareness" (got to find a better name for that).

@antw thanks for looking into this. I think your assessment makes sense. I'll do some more quantitative checks later.

I think this issue is fixed!

authors: ChaelKruip antw jorisberkhout


text:
before() filter appears to destroy routes

When adding a before filter, like below:
// add event listener for google maps movement, but only on the home screen
this.before('#/', function(callback){
// we only add this listener to the homepage
AppMap.listeners.home = google.maps.event.addListener(AppMap.map, 'bounds_changed', function() {
// we don't want to overload the server with queries, so set a timeout of 0.2 secs before
// executing the query. If another request comes through before that time, start again.
clearTimeout(AppMap.geospatialTimeout);
AppMap.geospatialTimeout = setTimeout(function() { AppMap.loadShopsWithinBoundary() }, 200);
});
});
My routes are suddenly unable to respond (sammy constantly reports a 500 error). This is a sammy 500, not a server 500. Am I doing something wrong or is there an issue here?

Have realized this wasn't a sammy issue, but was google maps race condition.etc.

repo: quirkey/sammy


text:
Mooch II of fisher

I've almost finished the fisher of cactbot to Chinese clients and have a question about Mooch II.
When using Mooch II, the in-game mooch log will be the same as a normal cast in Chinese, I'm not sure whether this will happen on JP/EN clients as well, but I'm sure that's why the bait of Mooch II always become undefined -- it's treated as a normal cast and no fish can be found in normal baseBait.

LogMessage#1121 of Chinese client is:
<if (<param:8> <ObjStr:<param:8>:0>) { <name:3> }>开始利用上钩的<Item:<var:1>:0>尝试以小钓大。

repo: quisquous/cactbot


text:
vapor new should create a barebone project without boilerplate code

Currently every project created with vapor new is based on the vapor example project. That results in boilerplate code which is more suitable for demonstration purposes than actual starting ground for new projects. In example the mustache example functionality and dependency likely is going to be removed every time.
The solution would be to introduce the example argument for the vapor command line application, which creates an new project based on the example. In parallel the new argument will be modified to create a barebone project with just the minimal content necessary to get going (requires a new repository as a source).

This issue is merged into #216.

repo: qutheory/vapor


text:
🛑 Adguard Home DoT is down

In 3e633bb, Adguard Home DoT ($AG_DOT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Adguard Home DoT is back up in 8dd57ca after 22 minutes.

repo: quyleanh/upptime


text:
🛑 Adguard Home DoT is down

In f7e440b, Adguard Home DoT ($AG_DOT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Adguard Home DoT is back up in 3f91fef after 2 hours, 13 minutes.


text:
🛑 Adguard Home DoT is down

In 894eb4b, Adguard Home DoT ($AG_DOT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Adguard Home DoT is back up in e7c9243.


text:
🛑 Adguard Home DoT is down

In 1386a7c, Adguard Home DoT ($AG_DOT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Adguard Home DoT is back up in 49a0be9.


text:
🛑 Adguard Home DoT is down

In 7378538, Adguard Home DoT ($AG_DOT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Adguard Home DoT is back up in 3ce6681 after 26 minutes.


text:
AttributeError: 'QuantLinear' object has no attribute 'weight' (t5 branch) (Google/flan-ul2)

i7-13700k
128GB RAM
RTX 4090
Python = 3.9.10
Transformers = 4.30.0.dev0
PyTorch = 2.0.1
Model = Google/flan-ul2
Quantization command:
PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 python t5.py ../full-models/flan-ul2 wikitext2 --nsamples 256 --wbits 4 --act-order --groupsize 128 --save ../gptq-models/flan-ul2-gptq/flan-ul2-4bit-128g-gptq.pt

I also needed to edit t5_sequential() to run on 24GB of VRAM, but I don't think this should affect the model? The following snippet shows the extent of my changes, except for import gc at the top of the file.
        del layer
        del gptq
        gc.collect()
        torch.cuda.empty_cache()

        inps, outs = outs, inps

    # do this part on CPU, because GPU runs out of memory
    dev = 'cpu'

    model.encoder.final_layer_norm = model.encoder.final_layer_norm.to(dev)
    model.encoder.dropout = model.encoder.dropout.to(dev)

    encoder_hidden_states = model.encoder.final_layer_norm(inps.cpu())
    encoder_hidden_states = model.encoder.dropout(encoder_hidden_states)

    model.encoder.final_layer_norm = model.encoder.final_layer_norm.cpu()
    model.encoder.dropout = model.encoder.dropout.cpu()

    dev = 'cuda:0'
    encoder_hidden_states = encoder_hidden_states.to(dev)
    inps = inps.to(dev)
    # end of CPU section

Otherwise my 4090 runs out of memory when trying to load model.encoder.final_layer_norm = model.encoder.final_layer_norm.to(dev) to the GPU.
Benchmark command (also applies to t5_inference.py):
python t5.py ../full-models/flan-ul2 wikitext2 --load ../gptq-models/flan-ul2-gptq/flan-ul2-4bit-128g-gptq.pt --wbits 4 --groupsize 128 --benchmark --benchmark_mode mmlu

Yields the following error:
Traceback (most recent call last):
  File "/mnt/Storage/ai-dev/t5-gptq/t5.py", line 752, in <module>
    mmlu_benchmark(model, tokenizer, args)
  File "/mnt/Storage/ai-dev/t5-gptq/t5.py", line 542, in mmlu_benchmark
    cors, acc, probs = mmlu_eval(args, subject, model, tokenizer, dev_df, test_df, (idx,len(subjects)))
  File "~/anaconda3/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/mnt/Storage/ai-dev/t5-gptq/t5.py", line 473, in mmlu_eval
    logits = model(
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "~/anaconda3/lib/python3.9/site-packages/transformers/models/t5/modeling_t5.py", line 1683, in forward
    encoder_outputs = self.encoder(
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "~/anaconda3/lib/python3.9/site-packages/transformers/models/t5/modeling_t5.py", line 1090, in forward
    layer_outputs = layer_module(
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "~/anaconda3/lib/python3.9/site-packages/transformers/models/t5/modeling_t5.py", line 753, in forward
    hidden_states = self.layer[-1](hidden_states)
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "~/anaconda3/lib/python3.9/site-packages/transformers/models/t5/modeling_t5.py", line 342, in forward
    forwarded_states = self.DenseReluDense(forwarded_states)
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "~/anaconda3/lib/python3.9/site-packages/transformers/models/t5/modeling_t5.py", line 319, in forward
    isinstance(self.wo.weight, torch.Tensor)
  File "~/anaconda3/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1614, in __getattr__
    raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'QuantLinear' object has no attribute 'weight'

Edit: added snippet showing code modifications, and edited quantization command to show PYTORCH_CUDA_ALLOC_CONF environment variable.

Not sure what I did differently, but it started suggesting qweight now...
AttributeError: 'QuantLinear' object has no attribute 'weight'. Did you mean: 'qweight'?

My apologies. It seems a requirement was somehow not installed, or overwritten with your transformers-t5 repo.


text:
🛑 Jenkins is down

In 1100388, Jenkins (https://apk.qwq2333.top) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Jenkins is back up in 331b5a8.


text:
remotedesktop donut execute

https://iwantmore.pizza/posts/meterpreter-shellcode-inject.html
https://github.com/TheWover/donut
https://youtu.be/9_TIGC1mZl0?t=269
4min 25sec
remotedesktop.dll not view remote desktop view
I'm trying a memory exploit called a donut
This is the latest C# hacking source so I ask you a question
The screen view of remotedesktop.dll based on async source is not possible.
Do you have any idea how to solve this problem?

First make sure you are not run on System permission
then try to add amsi bypass?

administrator does not matter
(admin process- > wait no view)
(not admin process -> wait no view)

Amsi anti-virus bypass also does not matter
(anti virus off)

Quasar remote rat is displayed possible

4.Only async-based remote desktop does not display the screen

however ,in your video ,the process is run on system permission.you should search for session0 that system process can't capture the screen

Tcp		192.168.216.130 : 49993		111.111.111.111 : 80		ESTABLISHED		5944		C:\Windows\System32\RuntimeBroker.exe
Tcp		192.168.216.130 : 49995		111.111.111.111 : 80		ESTABLISHED		5944		C:\Windows\System32\RuntimeBroker.exe
There is a new port connection when connecting a remote desktop
Looks like a problem with the new network connection.
I don't know why

can you make a video of this？

https://youtu.be/_X3MnTNj1nc

couldn't find why you can't remote the desktop .what if try on another machine?

or you can try to run the DcRat in debug mode ,and find out its error

What files do you compile in debug mode?
server.exe?
client.exe?
remotedesktop.dll?

try to compile client.exe in debug mode,and debug it

Donut not working when compiling in debug mode
python3 donut-maker.py -i Client.exe -> error
I tried to solve this problem
Seems to be impossible with my knowledge
thank you for the reply

well，if you don't use donut,will it run ？

The reason for compiling as a donut is
To run C# programs in Metasploit memory.
(Donuts are used for the fileless technique)
https://github.com/quasar/Quasar
Quasar program can be viewed normally
But asnyc, which has a lot of additional features, no longer has an update
The only place to update recently is here, so I contacted you.
Thank you

will try the donut and test it.
If I find why,I will reopen this and tell you.

repo: qwqdanchun/DcRat


text:
Clipboard content changes to Chinese characters

Running barrier 2.4.0 server on Gentoo KDE Plasma and Waynergy 855ea2a867db758b40dcba64a1f8ba102ae830c5 on Fedora 36 KDE Plasma, clipboard content copied on Gentoo changes to Chinese characters once I move the cursor from Gentoo to Fedora.

It does not happen when I copy text from Kate, so I initially suspected it's font related. However, the font I'm using in Konsole on Gentoo is Droid Sans Mono, which is also installed on the Fedora machine. Simply moving the cursor from the Gentoo host to the Fedora host and moving it back, is enough to alter the clipboard content.
The problem does not seem to occur when I'm copying text on the Fedora machine and paste it on the Gentoo machine.
This problem does not occur between the same Barrier server and a Barrier client on macOS, so I suspect this is a Waynergy issue.
Would appreciate any suggestions as right now I always have to copy text in app X, paste in Kate, copy again in Kate, then paste on the Fedora machine. Easy to forget and extremely frustrating when you do.

I apologize for the delay...
This seems to be a weird one that I can't quite reproduce at first pass but I'll have a go with Plasma and Konsole in the near future. In the meantime, is there any way you could past the proper text and then the garbled text here? I'd want to see if there is some trivial misinterpration, or something much more broken going on.

I apologize for the delay...

No worries, life happens to all of us ;-)

This seems to be a weird one that I can't quite reproduce at first pass but I'll have a go with Plasma and Konsole in the near future. In the meantime, is there any way you could past the proper text and then the garbled text here? I'd want to see if there is some trivial misinterpration, or something much more broken going on.

Copying foo or bar in Konsole on the Gentoo barrier server and pasting it on the Fedora running Waynergy client results in 猼慰瑳汹㵥昢湯⵴慦業祬洺湯獯慰散㸢猼慰瑳汹㵥挢汯牯⌺〰〰〰戻捡杫潲湵ⵤ潣潬㩲昣晦晦㭦㸢潦㱯猯慰㹮戼㹲⼼灳湡.
I accidentally Googled that recently, and found https://github.com/debauchee/barrier/issues/406 - it seems to be related to UTF-8.

That's actually extremely useful; it seems to mostly resemble an imprudent attempt at reading UTF-8 as if it were UTF-16 when playing with iconv. Not sure how lossless that is going to be round trip but I've at least got some ideas to play with, so thank you.

The solution seems to be to ignore anything but plain text to bypass the weird HTML conversion bugs as seen in the barrier issue. Does #39 fix it for you?

Does #39 fix it for you?

Unfortunately not.

Does #39 fix it for you?

It does. Few nits on the PR though.

authors: r-c-f stintel

repo: r-c-f/waynergy


text:
Make local dev easier to get started on

Addressing #184
Adding a grab back of quality of life improvements for new devs (and educating myself along the way).  For context, I am new to NodeJS, if there are best practices I've not seen yet please just let me know.  I tried to hold back on factoring index.js (will take a swing in another PR perhaps), but that clearly would be valuable.  The changes I made to that file were to get the REPL experience going.

Adding a getting_started.md README to give new devs an accelerated path
Making googleapi auth optional (default: not set)
Adding get_live_data() to seed the current JSON dataset into your REPL.
Switch to using module.exports everywhere

I was having major trouble getting exports to work when doing .load index.js in the REPL.  If anyone has a best practice please LMK.
https://blog.tableflip.io/the-difference-between-module-exports-and-exports/

There's a few nits on the architecture section, but let's merge and fix in a followup. thank you for the cleanups!!!

authors: awong-dev csakoda

repo: r-pop/findthemasks


text:
Starlink 16 Livestream not added when live

Not sure if there is an issue with appending the livestream to the launch. Something might have broke? 🤷🏻♂

Some issue with the webcast update job, not sure why it didn't pick up the one from this morning. Also might have to do with how we check for new livestreams. Due to quota restrictions and a terrible youtube api we can only check once an hour for new webcasts.
Going to go the youtube RSS route instead, so we can check more often. should be able to get that done over the weekend.

Officially checking the rss feed now every 5 min for the livestreams now. Should be much more reliable now.

Officially checking the rss feed now every 5 min for the livestreams now. Should be much more reliable now.

repo: r-spacex/SpaceX-API


text:
[end2ends] push repos to Hugging Face Hub (and git clone from there) to ensure it works

Hi 👋
I've had success pushing then pulling (git clone https://huggingface.co/julien-c/git-theta-small-pytorch) a small pytorch file, but i've had trouble pushing a slightly larger safetensors checkpoint (e.g. my repo https://huggingface.co/julien-c/git-theta-safetensors is broken imo)
I haven't dived into git-theta enough for now, but I think it could be very useful to push and pull to/from the HF Hub in end2ends as a way to guarantee it works well.
I realize it's a test of the Hub as much as a test of this library (and it wouldn't need to run on every commit probably), but would be very useful to have!

I think this would make sense to add, probably would make sense for it to get run when a tag is pushed to the repo (pushing a tag creates a new release so we probably want to double check the release can interact with HF Hub before cutting it). I assume we'd need to create a HF hub user for git-theta and then include the creds as GitHub Secrets
w.r.t. your safetensors repo, I looked at it and it seems like the lfs objects never got pushed to the remote. When git-theta runs git lfs smudge to fetch the serialized parameter it would have an error like Smudge error: Error downloading (this error was suppressed because we weren't checking the returncode, https://github.com/r-three/git-theta/pull/252 updates how it is git lfs smudge so the error message is more obvious)
When you push a commit to the remote, git-theta is supposed to find all the git-lfs objects that have been generated since the last push and push them to the lfs remote before the actual commit it pushed to the git remote. I'm not sure what could have caused that to not happen, @nkandpa2 would probably have a better idea. I don't think we currently have a tool to manually push lfs objects, but that would probably be helpful for cases like this.

repo: r-three/git-theta


text:
Draw a character at a specific position

First off, cool shard, I've been looking for something similar so this should save me time, thanks!
On to the question, I might be missing something but I don't see if i could draw a character to a certain position (e.g. "a" to row 5, col 7). Is this possible?
Cheers

Thank you for your interest!
Yes that's possible with Lime.print:
Lime.print('a', 7, 5) # Inserts the char into the buffer
Lime.draw # Draws the buffer

You might be interested in the docs for all the methods that you can use on Lime: https://r00ster91.github.io/lime/Lime.html.


text:
error No module named 'm3u8'

File "C:..,\Desktop\ud\udemy-dl-1.0\udemy\compat.py", line 33, in
import m3u8
ModuleNotFoundError: No module named 'm3u8'

Did you run pip install -r requirements.txt?

Yes. Requirement already satisfied

Is this package a dependency of some other package listed in requirements.txt? Because what's listed in 1.0 doesn't seem to be pulling it. I had to manually add m3u8 and cloudscraper.

python3.9 -m pip install -r requirements.txt --upgrade

worked for me as mentioned in https://github.com/r0oth3x49/udemy-dl/issues/575#issuecomment-706756081

authors: eliassoares gayansanjeewa johnnybaloney mdashif43


text:
🛑 Home Assistant is down

In f1dabf1, Home Assistant ($SECRET_SITE_HA) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Home Assistant is back up in 7b18575.


text:
🛑 iKuai is down

In 46a52ce, iKuai ($SECRET_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: iKuai is back up in 355c7f3.


text:
LCD display

a LCD to debug how show processed result !
https://www.locoduino.org/spip.php?article78

I'll add a 7-segment display in the near future.

e877256c2b8999c24f1d1caff735a326122f9c6c


text:
Dxcam is returning a black img after use pyinstaller

Before using pyinstaller, the program worked fine, but after using it, Dxcam only captured black images.

I reconfirmed that it was Dxcam that didn't capture the image


text:
Is there a way to change start destination dynamically?

I want to change the start destination of the NavGraph/Nav Host on the basis of a condition. Currently, I have my code like this:
NavHost(
                        navController = navController,
                        startDestination = NavGraphs.root.route
                    ) {
                        authNavigation(navController)
                    }

When I try to change the start destination using If Else, the application crashes. How to fix this.
Generally, I am trying to skip Splash Screen in some scenarios.

Hi!
What’s the crash?

I don’t think the crash is related with the if. Rather you’re likely passing some destination which cannot be the start destination of this NavHost.

Here is the crash. Probably, I'm using something in the wrong way.
20:32:10.983 AndroidRuntime        E  FATAL EXCEPTION: main
                                      Process: com.sdsol.starfish.debug, PID: 15144
                                      java.lang.IllegalArgumentException: Start destination root cannot use the same route as the graph NavGraph(0x78dcd1ef) route=root startDestination=0x0
                                      	at androidx.navigation.NavGraph.setStartDestinationRoute(NavGraph.kt:343)
                                      	at androidx.navigation.NavGraph.setStartDestination(NavGraph.kt:331)
                                      	at androidx.navigation.NavGraphBuilder.build(NavGraphBuilder.kt:187)
                                      	at androidx.navigation.NavGraphBuilder.build(NavGraphBuilder.kt:101)
                                      	at androidx.navigation.NavGraphBuilder.destination(NavGraphBuilder.kt:160)
                                      	at com.sdsol.starfish.navigation.NavigationExtentionsKt.authNavigation(NavigationExtentions.kt:227)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1$1$1.invoke(MainActivity.kt:47)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1$1$1.invoke(MainActivity.kt:43)
                                      	at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:376)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1$1.invoke(MainActivity.kt:43)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1$1.invoke(MainActivity.kt:35)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:132)
                                      	at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:114)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                      	at androidx.compose.material3.SurfaceKt.Surface-T9BRK9s(Surface.kt:111)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1.invoke(MainActivity.kt:32)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1$1.invoke(MainActivity.kt:31)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                      	at androidx.compose.material3.TextKt.ProvideTextStyle(Text.kt:360)
                                      	at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:81)
                                      	at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:80)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                      	at androidx.compose.material3.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:73)
                                      	at com.sdsol.starfish.ui.theme.ThemeKt.StarfishTheme(Theme.kt:71)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1.invoke(MainActivity.kt:31)
                                      	at com.sdsol.starfish.ui.main.MainActivity$onCreate$1.invoke(MainActivity.kt:30)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.ui.platform.ComposeView.Content(ComposeView.android.kt:428)
                                      	at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:252)
                                      	at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:251)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
                                      	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
                                      	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                      	at androidx.compose.ui.platform.CompositionLocalsKt.ProvideCommonCompositionLocals(CompositionLocals.kt:186)

Can you show me the NavGraphs generated Kotlin file?

Got it. I was creating custom navigation. I need to pass the start destination there. It's fixed. Thank you!
fun NavGraphBuilder.authNavigation(navController: NavController, startDestination: String) {
    navigation(
        route = NavGraphs.root.route,
        startDestination = startDestination
    )

authors: AbdullahJaved-dev raamcosta

repo: raamcosta/compose-destinations


text:
MacでOBS 18.0.1とobs-rtmp-nicolive 2.1.0の枠監視を組み合わせると配信が止まる

お世話になっております。
Mac上でビルドしたOBS 18.0.1にてobs-rtmp-nicolive 2.1.0の枠監視を使うと、枠自動取得が行われないばかりか配信も勝手に止まってしまいます。
ご参考までにOBSのログを以下に提示します。
16:03:16.410: [nicolive] login api site: nicolive_encoder
16:03:16.577: [nicolive] no live waku
16:04:16.413: [nicolive] login api site: nicolive_encoder
16:04:16.544: [nicolive] live waku: lv293251797
16:05:16.416: [nicolive] login api site: nicolive_encoder
16:05:17.072: [nicolive] live waku: lv293251797
16:05:20.495: [nicolive] login api site: nicolive_encoder
16:05:21.140: [nicolive] live waku: lv293251797
16:05:21.140: [nicolive] found live url and key with ticket
16:05:21.140: [nicolive] audo bitrate is zero or negative
16:05:21.140: [nicolive] login api site: nicolive_encoder
16:05:21.264: [nicolive] live waku: lv293251797
16:05:21.264: [nicolive] found live url and key with ticket
16:05:21.265: [nicolive] login api site: nicolive_encoder
16:05:21.399: [nicolive] live waku: lv293251797
16:05:21.399: [nicolive] found live url and key with ticket
16:05:21.399: ---------------------------------
16:05:21.400: [x264 encoder: 'streaming_h264'] preset: medium
16:05:21.400: [x264 encoder: 'streaming_h264'] profile: high
16:05:21.400: [x264 encoder: 'streaming_h264'] settings:
16:05:21.400: 	rate_control: CBR
16:05:21.400: 	bitrate:      432
16:05:21.400: 	buffer size:  432
16:05:21.400: 	crf:          20
16:05:21.400: 	fps_num:      30
16:05:21.400: 	fps_den:      1
16:05:21.400: 	width:        640
16:05:21.400: 	height:       360
16:05:21.400: 	keyint:       300
16:05:21.400: 	vfr:          off
16:05:21.400:
16:05:21.400: [x264 encoder: 'streaming_h264'] custom settings: profile=high level=4.0 threads=0 keyint=300 min-keyint=30 bframes=3 ref=6 me=umh subme=7 merange=16 psy-rd=0.5:0.0 trellis=1 mbtree=1 aq-mode=2 aq-strength=1.00 qpmin=20 qcomp=0.50 chroma-qp-offset=-1 crf-max=0 crf=20 cqm=flat deblock=-1,-1 direct=auto ipratio=1.30 b-adapt=2 b-bias=0 b-pyramid=2 no-dct-decimate=1 no-fast-pskip=1 scenecut=50 vbv-init=0.9 weightb=1 weightp=2 colormatrix=smpte170m
16:05:21.413: [CoreAudio AAC: 'Track1']: settings:
16:05:21.413: 	mode:          HE-AAC v2
16:05:21.413: 	bitrate:       48
16:05:21.413: 	sample rate:   44100
16:05:21.413: 	cbr:           on
16:05:21.413: 	output buffer: 1536
16:05:21.413: [rtmp stream: 'adv_stream'] Connecting to RTMP URL rtmp://nlpoca150.live.nicovideo.jp:1935/publicorigin/170316_16_0?1218088:lv293251797:68:1489647921:0:1489648132:a02bd03fc3c2d124...
16:05:21.413: [rtmp stream: 'adv_stream'] Binding to IPv4
16:05:21.530: [rtmp stream: 'adv_stream'] Connection to rtmp://nlpoca150.live.nicovideo.jp:1935/publicorigin/170316_16_0?1218088:lv293251797:68:1489647921:0:1489648132:a02bd03fc3c2d124 successful
16:05:21.536: ==== Streaming Start ===============================================
16:06:17.419: [nicolive] login api site: nicolive_encoder
16:06:18.052: [nicolive] live waku: lv293251797
16:06:18.053: [nicolive] click stop streaming hotkey
16:06:18.053: [rtmp stream: 'adv_stream'] User stopped the stream
16:06:18.053: Output 'adv_stream': stopping
16:06:18.053: Output 'adv_stream': Total encoded frames: 1699
16:06:18.053: Output 'adv_stream': Total drawn frames: 1699
16:06:18.053: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 2 (0.1%)
16:06:18.069: ==== Streaming Stop ================================================
16:06:25.590: [nicolive] login api site: nicolive_encoder
16:06:25.731: [nicolive] live waku: lv293251797
16:06:25.731: [nicolive] found live url and key with ticket
16:06:25.732: [nicolive] login api site: nicolive_encoder
16:06:25.865: [nicolive] live waku: lv293251797
16:06:25.865: [nicolive] found live url and key with ticket
16:06:25.935: [nicolive] login api site: nicolive_encoder
16:06:26.085: [nicolive] live waku: lv293251797
16:06:26.085: [nicolive] found live url and key with ticket
16:06:28.419: [nicolive] login api site: nicolive_encoder
16:06:28.557: [nicolive] live waku: lv293251797
16:06:36.030: Settings changed (general)
16:06:36.030: ------------------------------------------------
16:06:38.175: [nicolive] login api site: nicolive_encoder
16:06:38.313: [nicolive] live waku: lv293251797
16:06:38.313: [nicolive] found live url and key with ticket
16:06:38.313: [nicolive] audo bitrate is zero or negative
16:06:38.313: [nicolive] login api site: nicolive_encoder
16:06:38.449: [nicolive] live waku: lv293251797
16:06:38.449: [nicolive] found live url and key with ticket
16:06:38.449: [nicolive] login api site: nicolive_encoder
16:06:38.607: [nicolive] live waku: lv293251797
16:06:38.607: [nicolive] found live url and key with ticket
16:06:38.607: ---------------------------------
16:06:38.607: [x264 encoder: 'streaming_h264'] preset: medium
16:06:38.607: [x264 encoder: 'streaming_h264'] profile: high
16:06:38.607: [x264 encoder: 'streaming_h264'] settings:
16:06:38.607: 	rate_control: CBR
16:06:38.607: 	bitrate:      432
16:06:38.607: 	buffer size:  432
16:06:38.607: 	crf:          20
16:06:38.607: 	fps_num:      30
16:06:38.607: 	fps_den:      1
16:06:38.607: 	width:        640
16:06:38.607: 	height:       360
16:06:38.607: 	keyint:       300
16:06:38.607: 	vfr:          off
16:06:38.607:
16:06:38.607: [x264 encoder: 'streaming_h264'] custom settings: profile=high level=4.0 threads=0 keyint=300 min-keyint=30 bframes=3 ref=6 me=umh subme=7 merange=16 psy-rd=0.5:0.0 trellis=1 mbtree=1 aq-mode=2 aq-strength=1.00 qpmin=20 qcomp=0.50 chroma-qp-offset=-1 crf-max=0 crf=20 cqm=flat deblock=-1,-1 direct=auto ipratio=1.30 b-adapt=2 b-bias=0 b-pyramid=2 no-dct-decimate=1 no-fast-pskip=1 scenecut=50 vbv-init=0.9 weightb=1 weightp=2 colormatrix=smpte170m
16:06:38.616: [CoreAudio AAC: 'Track1']: settings:
16:06:38.616: 	mode:          HE-AAC v2
16:06:38.616: 	bitrate:       48
16:06:38.616: 	sample rate:   44100
16:06:38.616: 	cbr:           on
16:06:38.616: 	output buffer: 1536
16:06:38.616: [rtmp stream: 'adv_stream'] Connecting to RTMP URL rtmp://nlpoca150.live.nicovideo.jp:1935/publicorigin/170316_16_0?1218088:lv293251797:68:1489647998:0:1489648132:39d8d7833a3f056d...
16:06:38.616: [rtmp stream: 'adv_stream'] Binding to IPv4
16:06:38.754: [rtmp stream: 'adv_stream'] Connection to rtmp://nlpoca150.live.nicovideo.jp:1935/publicorigin/170316_16_0?1218088:lv293251797:68:1489647998:0:1489648132:39d8d7833a3f056d successful
16:06:38.759: ==== Streaming Start ===============================================
16:07:28.424: [nicolive] login api site: nicolive_encoder
16:07:29.061: [nicolive] live waku: lv293251797
16:07:29.062: [nicolive] click stop streaming hotkey
16:07:29.062: [rtmp stream: 'adv_stream'] User stopped the stream
16:07:29.062: Output 'adv_stream': stopping
16:07:29.062: Output 'adv_stream': Total encoded frames: 1513
16:07:29.062: Output 'adv_stream': Total drawn frames: 1514
16:07:29.082: ==== Streaming Stop ================================================
16:07:38.439: [nicolive] login api site: nicolive_encoder
16:07:38.569: [nicolive] live waku: lv293251797

何か適切な設定を施す、とかあるんでしょうか？
よろしくお願いします。

OBS 18.0.1は何もテストしていないので、なんとも言えないです。時間が取れたら、最新版に対応を…。

repo: raccy/obs-rtmp-nicolive


text:
🛑 Pet Project is down

In 024f99d, Pet Project ($RINFO_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pet Project is back up in b87d3e6.