Support method settings for APIGateway stages

Method settings such as LoggingLevel or DataTraceEnabled don't appear to be supported in AWS::Serverless::Api.
These are the workarounds I've found:

Enabling logs manually via the console as suggested in this comment (#53) by @sanathkr
Enabling logs via the aws cli, e.g:

aws apigateway update-stage --rest-api-id xxx --stage-name Prod \
--patch-operations "op=replace,path=/*/*/logging/dataTrace,value=true" \
"op=replace,path=/*/*/logging/loglevel,value=ERROR"

AWS::ApiGateway::Stage supports MethodSettings, so there may be a workaround where the Stage is defined via AWS::ApiGateway::Stage and AWS::Serverless::Api's StageName references it?

I've not tested the third option yet, but that would be preferable since the settings are defined in the template which wouldn't require a post deployment step.
It would be great to see this supported in SAM, in the meantime if anyone has any better suggestions please let me know!

@sgarcez We are currently working on support for this. Please follow along with #248.
As far as workarounds, nothing will give you full metrics and logging for the API. There will be gaps between the time CloudFormation will update your API, and the time your run the cli/console or a custom resource will update the API for you.
I don't recommend your 3rd option. It creates more of a mess than it is worth (imo). If you need this now, either a custom resource or manually doing this is your best option. We are doing our best to get this support out as quickly as we can.

Thanks @jfuss, the third option is a rabbit-hole I'm happy to avoid, having already spent some time trying to understand how best to use stages and aliases within SAM (incidentally I wrote up some of my findings and quoted you here)
Will follow #248, apologies for the duplicate.

@sgarcez :)
No reason for an apology. It's a completely valid question!
We should be communicating best practices like this in a better way. I am going to leave this issue open as we should be capturing how best to use stages and aliases within SAM easier to consume.
Given you spend time on this, would you be willing to transform some of those learnings/findings into a best practice or FAQ section in our docs. It has been on my plate for a little while to get that part of the docs started. We are tracking some of this work on #251 and think it would be awesome if you can contribute to what you have investigated so far.

@jfuss Sure, happy to do that, will take at look #251.
Re docs in general, some of the other issues that we've run up against were not SAM specific, but rather Lambda/APIGW issues, and I think this will be the case for a lot of users for whom SAM is the entryway into serverless on AWS. I suppose that the SAM docs don't need to provide answers for those issues necessarily but you could make the case for them taking a pedagogical role and guiding users to the right places. (e.g issues related to authorizers, pure lambda integration error response mappings, etc).

+1 this capability will be very attractive to us


BUILD_TESTING vs BUILD_UNIT_TESTS

Module CTest automatically creates a BUILD_TESTING option that selects whether to enable testing support, ON by default, see here.
In Pinocchio, this is included by the cmake submodule by post-project.cmake. This variable is then employed consistently by macro ADD_UNIT_TEST, defined in the cmake submodule in test.cmake, to control whether unit tests are built or not.
However, if one is building Pinocchio from source, the variable to control the building of unit tests is BUILD_UNIT_TESTS. BUILD_TESTING is then brutally set to BUILD_UNIT_TESTS in the main CMakeLists.txt. As you can see, the original value of BUILD_TESTING is completely ignored.
As a result, there are two variables which exist to control the compilation of the unit tests, but one of them is ignored and overridden by the other. When doing ccmake, I see this variable BUILD_TESTING which is set to ON and does nothing.
I think this is confusing, especially to newcomers. The worst part is that BUILD_TESTING is standard CMake, therefore it is naturally the variable of choice for those who who first delve into Pinocchio with some CMake experience; but setting this variable manually has no effect at all.
I think the main variable to control the unit tests should be BUILD_TESTING (defaulting to OFF). BUILD_UNIT_TESTS should be deprecated and later removed altogether. What do you think?

I do agree. We can indeed remove it.

Solved by #1000.


Profiler TE deletion time capture

MUP-Profiler now captures tile entity deletion without any overwrite

This is nicely targeted and solves the problem quite elegantly. Thank you! If you could just make one change, please. The import should be converted to load the Mixin opcode package and not ASM's directly.

Done :+1:


[Seasson 3] Chat

🎩 Goal
This code implements both a Chat Server and its client.

Server side

Provides not only the messages command but some additional commands in order to manage users

Client Side

Shows the conversation in a separated windows
Handles the case when a message is received while the user was still writing.

⚙ Development

Extract business logic for the server to some separated classes
Implement different commands in the backend using a simple "Chain of responsibility" pattern.
Avoid too many open files error by controlling when a client is disconnected
Get the simplest version of the client working
Improve the UI using the [tui-go] library(https://github.com/marcusolsson/tui-go)

🐛 Problems found

I didn't use Termui library as it found a lot of problems refreshing the chat view so I found a different library.
I found that the EventListener for tui-go input's is blocking the UI until a key is pressed so you won't be able to receive the message until you press a button.
The IDE (Intellij) becomes crazy with packages
I found several too many open files errors due to some concurrency problems that I finally fixed so this exercise has been quite challenging.

Muchas gracias, @pabloos! Preparar este tipo de cursos tiene un currazo y revistar los ejercicios tanto más. La verdad es que el curso ha estado muy interesante y los ejercicios propuestos han venido bien para ir indagando un poco más en la particularidades del lenguaje :)


Oracle Database Support

To-do list:

[x] Create GH issue
[x] Add oracle profile to GH actions
[ ] Oracle does not have a time data type, only date or datetime (modify the test suite to use datetime?)
[x] Oracle reports columns and table names in upper case (testing nightmare!)

Updated:

Added GH actions

Thanks @pruivo


Update mapDispatchToProps API documentation

I believe the documentation mistakenly references mapDispatchToProps when it means mapStateToProps. Users should pass null as the first argument (i.e. to mapStateToProps if they don't want to subscribe to store state), but still can get dispatch injected using mapDispatchToProps.  This commit fixes this reference.

Yeah, I think you're right.  Thanks!

Probably that whole sentence should be removed from the paragraph ---- it looks like it was just pasted from the paragraph describing mapStateToProps and inadvertently not removed.


Remove szero dependency

Reasons:

To avoid security warnings.
Some modern editors/linters already have the same feature.
The project is archived https://github.com/bucharest-gold/szero.

https://github.com/nodeshift-starters/nodejs-rest-http-secured-redhat/commit/e436995bb1cce011b40e94224e6692e6c579a922


Added GitHub icon to navbar

This pull request adds the GitHub icon to the navbar, ensuring easy access for donors in the future when the website goes live. The icon enhances the user experience and encourages contribution to the project.

@OshriAsulin Please note that you have conflicts.
Also would love a screenshot of the result please.

Thanks @OshriAsulin!


Integration tests on Iron

This PR is a manual backport of #17, since:

some lines from the ros2 branch were missing in the iron branch
the test_description.py was searching for urdfs that do not exist in this branch of the repo, since the description refactoring only happened on rolling

With these minimal changes both tests (gz and description) seem to work.

@Mergifyio backport humble


Download from pluralsight - Avoid ban

Hi
Do i have to do anything other than --Sleep interval, and set it to fx 45
Is there anything else to do to avoid getting banned?
Regards
Lilleindi

That's impossible to know. Read https://github.com/rg3/youtube-dl/issues/6090 for some hints.

Thanks a lot :-)


[Specification 1.4] differences between XML and JSON format

Hello,
I've noticed that JSON specification 1.4  allow to identify specification version by the specVersion attribute (that is cool).
But XML specification 1.4 does not allow the same way to identify specification version.
The Bom element has only version and serialNumber attributes available. The specification version is only available through the namespace.
A concrete usage via the PHP bind library is declared at https://github.com/CycloneDX/cyclonedx-php-library/issues/283, and what I will expect is :
Compare with actual render
{
    "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:7b17f9bb-3b8e-4821-9487-4d72edf29c66",
    "version": 1,

}

To expected result with XML format
<?xml version="1.0" encoding="UTF-8"?>
<bom xmlns="http://cyclonedx.org/schema/bom/1.4" version="1" specVersion="1.4" serialNumber="urn:uuid:7b17f9bb-3b8e-4821-9487-4d72edf29c66">

in https://github.com/CycloneDX/cyclonedx-php-library/issues/283
you wrote

It may be helpful to have the same equivalent information available

@llaville, please describe the be purpose of such an XML attribute specVersion.
What does this enable?

The thing with JSON: a document might be compliant to multiple schemas. You cannot tell what it was scoped for. Which is intended and in the nature of the matter.
The JSON properties bomFormat and specVersion are helpers/guides (and practical boundaries) for validators and parsers. These properties help tools to determine a schema that the JSON document is checked against, so that these tools do not need to test all/multiple schemas until one passes. It might help save resources(time, computes, memory).
For XML, namespaces are unique and clearly identify the scope of a document. No additional helpers are needed to determine a schema, as the namespace implies the schema to use.
Be aware that an XML namespace might look like a URL, but that is just to make the namespace globally unique and owned by the owner. A namespace is just a string that determines to what schema to adhere.
While being somehow human-readable, XML is still written for machines and these are able to map an XML namespace to a certain CDX spec.
This all in mind, I see that an additional XML attribute specVersion might help humans, but have no benefits for machines/tools.

@jkowalleck I heard what you said !
Even if I'm not a big fan of XML data structure (compared to JSON, or YAML much easier to parse), let's try with a concrete example.
Sorry for all audience, but it's for PHP language. But it won't be a problem for you Jan ;-)
Perharps I've missed something, so feel free to fix me !
I've two generated files : sbom.xml and sbom.json, and I don't know which one will be provided by the final user.
BUT my goal is to print at end of a report something like : Generated from JSON source by CycloneDX 1.4
When I've no problem with JSON data source, because all single informations are available : bomFormat, specVersion, I run in trouble with XML data source.
Extracting specification version from XML namespace is not an issue, but with the bom format where can I get equivelent to JSON ?
FYI: I've removed all data (from sources) that are not really necessary for this demo purpose.
Here is a PHP test script :
<?php

function printResults(array $data, string $filename, string $bomFormat, string $specVersion): void
{
    var_dump($data);

    $source = pathinfo($filename, PATHINFO_EXTENSION);

    echo '===========================================', PHP_EOL;
    echo sprintf('Generated from %s source by %s %s', strtoupper($source), $bomFormat, $specVersion), PHP_EOL;
    echo '===========================================', PHP_EOL;
}

// Use Case 1

$filename = __DIR__ . '/sbom.xml';
$xmlString = file_get_contents($filename);

$sxe = simplexml_load_string($xmlString, null,  LIBXML_NOCDATA);
$json = json_encode($sxe);
$array = json_decode($json,true);

$namespaces = $sxe->getDocNamespaces(true);

$ns = explode('/', $namespaces['']);

$bomFormat = 'Unknown';
$specVersion = array_pop($ns);
$data = [
    "Data source (filename contents):",
    $xmlString,
    "Array Contents:",
    $array,
    "Document Namespaces",
    $namespaces,
];

printResults($data, $filename, $bomFormat, $specVersion);

// Use Case 2

$filename = __DIR__ . '/sbom.json';
$jsonString = file_get_contents($filename);

$array = json_decode($jsonString,true);

$data = [
    "Data source (filename contents):",
    $jsonString,
    "Array Contents:",
    $array,
];
$bomFormat = $array['bomFormat'];
$specVersion = $array['specVersion'];

printResults($data, $filename, $bomFormat, $specVersion);

That will print such following output :
array(6) {
  [0]=>
  string(32) "Data source (filename contents):"
  [1]=>
  string(256) "<?xml version="1.0" encoding="UTF-8"?>
<bom xmlns="http://cyclonedx.org/schema/bom/1.4" version="1" serialNumber="urn:uuid:aa679d23-95ea-421c-baf2-90de8f099ee0">
  <metadata>
    <timestamp><![CDATA[2023-03-29T11:47:00Z]]></timestamp>
  </metadata>
</bom>
"
  [2]=>
  string(15) "Array Contents:"
  [3]=>
  array(2) {
    ["@attributes"]=>
    array(2) {
      ["version"]=>
      string(1) "1"
      ["serialNumber"]=>
      string(45) "urn:uuid:aa679d23-95ea-421c-baf2-90de8f099ee0"
    }
    ["metadata"]=>
    array(1) {
      ["timestamp"]=>
      string(20) "2023-03-29T11:47:00Z"
    }
  }
  [4]=>
  string(19) "Document Namespaces"
  [5]=>
  array(1) {
    [""]=>
    string(35) "http://cyclonedx.org/schema/bom/1.4"
  }
}
===========================================
Generated from XML source by Unknown 1.4
===========================================
array(4) {
  [0]=>
  string(32) "Data source (filename contents):"
  [1]=>
  string(281) "{
    "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:bf3c1d4e-2315-4b25-91fd-4479354abe26",
    "version": 1,
    "metadata": {
        "timestamp": "2023-03-29T11:47:03Z"
    }
}
"
  [2]=>
  string(15) "Array Contents:"
  [3]=>
  array(6) {
    ["$schema"]=>
    string(47) "http://cyclonedx.org/schema/bom-1.4.schema.json"
    ["bomFormat"]=>
    string(9) "CycloneDX"
    ["specVersion"]=>
    string(3) "1.4"
    ["serialNumber"]=>
    string(45) "urn:uuid:bf3c1d4e-2315-4b25-91fd-4479354abe26"
    ["version"]=>
    int(1)
    ["metadata"]=>
    array(1) {
      ["timestamp"]=>
      string(20) "2023-03-29T11:47:03Z"
    }
  }
}
===========================================
Generated from JSON source by CycloneDX 1.4
===========================================

The previous example is perharps not so visual, and you should look at a real use case. As author of the project https://github.com/llaville/box-manifest, I'll present you my last works.
The CLI box:compile command allow to create a PHAR (PHP Archive) file with one or more manifest (of any format).
Here is a chunk of screenshot that was printed by the command

The CLI box:info allow to display contents of a PHAR file.
Here is a screenshot that was printed by the command

Now, after a long introduction, have a look on code that is in charge to auto-detect file format (displayed on box:compile command)
https://github.com/llaville/box-manifest/blob/ea5675997b4718b10aabd23482affe4f1aa4b9c8/src/Console/Command/BoxCompile.php#L170-L180
Using Perl compatible Regular Expressions is not very easy, but it's works.

As workaround, I'll use what the current specification allow to me : the metadata -> properties :

https://cyclonedx.org/docs/1.4/json/#metadata_properties
https://cyclonedx.org/docs/1.4/xml/#type_metadata

Property names of interest to the general public are encouraged to be registered in the CycloneDX Property Taxonomy. Formal registration is OPTIONAL.


Intermittent Stack gesture animation

Current Behavior

Animation of Stack transition using gesture are intermittent (Using Navigation 3  on Android).
Reproducable Snack: https://snack.expo.io/Bk08MHtI4 (ANDROID ONLY)

Expected Behavior

Animation should be smooth like in Navigation 2

Your Environment

software
version

react-navigation
3.3.2

react-native
0.58.6

This should work properly in the latest alpha.


Include the region of the AMI to tag

Signed-off-by: David Cassany<EMAIL_ADDRESS>

@mudler the only idea that comes to my mind is adding the region of the image to tag, just in case it filter by the default region... I have not tested it


build(main): release 1.2.8

:robot: I have created a release beep boop
1.2.8 (2024-09-15)
Continuous Integration

Update release-please-config.json to process src/version.js (ba6989f)

Documentation

Update README files with release badges (9293bce)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.2.8
:sunflower:


[WIP DNM] Staging dirs in execute dag

Opening as PR for better discussion with @dotsdl

Hello @dwhswenson! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file gufe/storage/stagingdirectory.py:

Line 377:1: W391 blank line at end of file

In the file gufe/storage/stagingserialization.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 93:1: W391 blank line at end of file

In the file gufe/tests/storage/test_storage_demo.py:

Line 108:8: E261 at least two spaces before inline comment
Line 172:1: W391 blank line at end of file


Remove differences of the code between old AnimationTree and AnimationMixer

Fixes https://github.com/godotengine/godot/issues/85640

A few lines were overlooked during those porting, sorry. I think the problem only occurred in complex use cases.
It would be helpful if someone could test on other complex trees besides the above issues.

test_only was currently dead code, but in 4.1 it works to process the AnimationNode virtually for estimating remaining time. However, test_only uses only complex nested/root StateMachines, it is difficult to cover test cases.

Thanks! And congrats for your first merged Godot contribution :tada:

Given that https://github.com/godotengine/godot/pull/86644 addresses my concern from one of the changes here, I think they should be cherry-picked together. So setting this aside for now since https://github.com/godotengine/godot/pull/86644 is not merged yet.


JBPM-4792 - Add a test of Object variable

Hi, here is the promised test with one added process which contains Object variable.

merged into master, thanks @MarianMacik


add tinyrdm icon

add tiny rdm icon

@kvndrsslr @zhangweiii hi! there seems to have been a mistake made in this pr, a random :tinyrdm: file exists in the repo root now :)


Replace 'attoparsec' with 'parsec'

This is following the discussion in https://github.com/haskell/haddock/issues/784.
Potential unresolved issues:

[x] What version bounds should be put on parsec and text?
[x]  I'd like to do more testing (and add more test cases)
[x] Checking for noticeable performance regressions

@Fuuzetsu I think you wrote most (all?) of the code I'm touching - would you mind taking a look at this when (if) you have the time?

I really want to see a benchmark, as if there's a serious regression it needs to be fixed before this can be merged.

What would be really nice is a sort of comprehensive-ish "golden" test suite for regression here. Like, parse a representative chunk of hackage with one parser and the other and diff the results...

lens and base would be good benchmarks to see if there's regressions in time or space

Alright, I've run some preliminary tests and I'm pretty sure the output of haddock is the same before and after this PR for both lens and Cabal (haven't gotten around to base yet). I'm going to continue to run this sort of correctness test (and maybe even semi-automate it) for more packages.
I'd appreciate some help figuring out how to measure useful things in the space/time dimensions. Here's what I've tried (using Cabal as the library I'm testing Haddock on).

Build Haddock with profiling and optimizations
haddock$ cabal install --enable-profiling --ghc-options="-O2"

Build documentation for Cabal using this Haddock, and generate an .hp file
cabal$ cabal new-haddock --haddock-options="+RTS -p -hy -RTS" \
                         --with-haddock=<path-to-haddock-from-step1> Cabal

Plot the generated haddock.hp file:
cabal$ hp2ps Cabal/haddock.hp

I've done this for Haddock before and after this PR. Here are the outputs:

haddock-attoparsec.pdf
haddock-parsec.pdf

I've noticed that runtime can fluctuate by up to 2 seconds (for both the parsec and attoparsec programs), but the memory profile stays the same. At a glance the graphs seem to be telling me something obvious: that the GHC API part of Haddock dominates its memory use. That seems somewhat not useful.

This is what I said is the case on the relevant ticket. You could try to measure parser vs parser more directly but I don't see much point. As long as there is no change in semantics and perf isn't so bad that it's actually visible in a run, it's fine.

I'm still skeptical about this change, as this as this basically means that haddock-library will gain more dependencies; this increases the cost of the Hi Haddock GSOC :-(

I've been looking at profiling/timing information for the past couple of days and I'm increasingly convinced that there really is no regression. So far, I've investigated on cabal, idris, pandoc, text, and containers.

I'm still skeptical about this change which doesn't fix any actual issue other than possibly some imo questionable aesthetic goal, as this as this basically means that haddock-library will gain more non-private(!) dependencies (parsec, mtl and text);

I dream that one day Haddock will use text from end to end. :)   More seriously:

we get rid of issues that come from pretending that UTF-8 is latin1 (stuff like this is gross https://github.com/haskell/haddock/pull/747)
vendored code is not something to be proud of: this is why we have package managers.
Haddock's primary (long-term) purpose is, IMO, to parse documentation. A dependency on parsec makes sense. Especially if Haddock is to someday support other formats too: it will have to be able to do even more parsing!
parsec is already in the boot libs!

this increases the cost of the Hi Haddock GSOC and its followup projects which requires to move haddock-library into GHC in order to get access to the Haddock AST :-(

I'm confused now.
I thought the plan was to move the raw docstrings into the interface files, not fully parsed DocH. In which case there should be no reason for a dependency on haddock-library - haddock-library provides a way to interpret those strings into something structured. That way GHC can remain agnostic to the actual Haddock format.

the barrier to contribution stays lower
we open up the possibility to create tools similar to Haddock (but which intepret docstrings differently)
we don't force GHC to parse Haddocks before writing out an interface file

Does this mean that any sort of markdown or reST backend would have to be integrated with GHC?
Is there a mailing list or IRC channel where this sort of thing gets discussed?

Is there a mailing list or IRC channel where this sort of thing gets discussed?

@harpocrates I agree we need some structured discussion on the Hi Haddock plans. It's cross cutting and there are a few different takes on what is to be done.
Here is the state of the discussion: indeed the plan is only to put raw docstrings into interface files. but we also need a way to put in the information about link-dependencies so that we can rename and resolve links to other modules. To extract those links, one path of attack is to use haddock-library he parsing. We could also not extract those until haddock build time, but then the project fails its major goal of letting haddock move away from directly needing to muck with the GHC api.
Here's what I've been suggesting instead (though herbert is wary of it)

Put in a lexer that is simple but can yield false positives -- i.e. it finds every link, but also possibility a bit of things that aren't links. Then it puts all the information into the hi file. We have to be sure that it actually parses all links, but this shouldn't be hard. Also, this means that we can't warn on unlinkable identifiers at compile time, just at haddock-built time, but I think that should be ok.

Some semi-related discussion here: https://github.com/haskell/haddock/issues/796

I support the lexer idea. Even if it has false positives, the chances those map onto actual identifiers are pretty low, so you won't even be polluting interface files. At worst, GHC ends up looking up more names than it needs to.
@hvr Is there a place where we could discuss this? Accessible to the public? Even a GitHub issue would be fine by me...

@Fuuzetsu I think the behaviour is correct now. I've diffed the output and compared runtimes for

Cabal
Idris
Pandoc
Cabal
lens

I found exactly one difference: the new parser notices that non-breaking spaces are still spaces (the space right after -- | on this line). I think the new behaviour is desirable.
I've additionally spent a day profiling time/allocations. Using parsec instead of attoparsec has roughly doubled allocations/time of parsing (but the difference is not visible when running Haddock as a whole). I can recover some of that (and bring the difference down to 1.5x) by optimizing peekChar, scan, and takeWhile into less readable text-specific parsers. For example:
-- | Apply a parser for a character zero or more times and collect the result in
-- a string.
takeWhile :: (Char -> Bool) -> Parser Text
takeWhile f = do
    inp <- Parsec.getInput
    pos <- Parsec.getPosition
    let (i, pos', inp') = go 0 pos inp
    Parsec.setInput inp'
    Parsec.setPosition pos'
    pure (T.take i inp)
  where
  go !i !pos txt = case T.uncons txt of
                     Just (c, txt') | f c -> go (i+1) (Parsec.updatePosChar pos c) txt'
                     _ -> (i, pos, txt)

I've opted not to do this because I don't think the extra performance is worth the readability. I'm willing to be told otherwise.

Good stuff. One thing to solve is the friction with the hi haddock proposal.

Personally I think since parsec is itself a boot library this change is ok to include with ghc
The other option is going with Gershorms partial lexer idea which would avoid making haddock-library a dependency

+1 for the partial lexer idea. I'm against the idea of making haddock-library a dependency (regardless of whether or not that impacts this PR getting merged).

As far as this PR by itself goes it looks OK to me. I don't know about any of the partial lexer stuff so it's upon to you (plural) to decide what to do with it.

I'm against the idea of making haddock-library a dependency

Unfortunately I see no way to avoid this if Hi Haddock is to achieve the goal that motivated me to write up the proposal in the first place :-(
If it can't become a dependency of GHC Hi Haddock is basically dead on arrival for me

Unfortunately I see no way to avoid this if Hi Haddock is to achieve the goal that motivated me to write up the proposal in the first place :-(
If it can't become a dependency of GHC Hi Haddock is basically dead on arrival for me

I'm really not trying to be obtuse here, but I still don't understand exactly what is being planned: why must haddock-library be a dependency of GHC (apart from finding links)? I've read both the proposal (https://summer.haskell.org/ideas.html#hi-haddock) and the GHC dev thread (https://mail.haskell.org/pipermail/ghc-devs/2014-March/004355.html) - is there a more detailed proposal somewhere?
The idea that haddock-library (and consequently the Haddock format) is going to be baked into GHC is what bugs me and coworkers with whom I've discussed this. We like the idea of putting just raw docstrings (possibly along with some LinkEnv-like information) into interface files because that means GHC remains markup-agnostic. Ideally, Haddock becomes less coupled with GHC, not more.
On that note, I think I'm going to step back as I feel I'm starting to tread on other people's plans, and I'm starting to sound like a broken record 😄.

Is there a mailing list or IRC channel where this sort of thing gets discussed?
@harpocrates I agree we need some structured discussion on the Hi Haddock plans.

@harpocrates, @gbaz: I have created https://github.com/haskell/haddock/issues/805 as a place for discussing the question of the format.

Unfortunately I see no way to avoid this if Hi Haddock is to achieve the goal that motivated me to write up the proposal in the first place :-(

If it can't become a dependency of GHC Hi Haddock is basically dead on arrival for me

I'm really not trying to be obtuse here, but I still don't understand exactly what is being planned: why must haddock-library be a dependency of GHC (apart from finding links)?

Even if ghc wouldn't directly depend on haddock-library to parse the documentation, ghci would need haddock-library so it can parse and pretty-print haddocks as part of the new :doc command.

I've read both the proposal (https://summer.haskell.org/ideas.html#hi-haddock) and the GHC dev thread (https://mail.haskell.org/pipermail/ghc-devs/2014-March/004355.html) - is there a more detailed proposal somewhere?

The proposal I submitted is here. Although much of what I proposed will probably come out quite differently, so take it with a grain of salt! :)

The idea that haddock-library (and consequently the Haddock format) is going to be baked into GHC is what bugs me and coworkers with whom I've discussed this.

Are there other reasons for that, apart from your apparent preference for a different markup format?

Even if ghc wouldn't directly depend on haddock-library to parse the documentation, ghci would need haddock-library so it can parse and pretty-print haddocks as part of the new :doc command.

I'm not sure I'd want documentation to be pretty-printed if it is going to be printed into a terminal output. That seems also like something that could be a GHCi option for those who want it (something like the -interactive-print option). One such implementation could then depend on haddock-library, but I wouldn't package that implementation with GHCi.

Are there other reasons for that, apart from your apparent preference for a different markup format?

I'd like to see Haddock become less tightly coupled with GHC for ease of development (both GHC's and Haddock's).
Also, congratulations on starting this project! 🎉

I'd like to see Haddock become less tightly coupled with GHC for ease of development

Sorry, that's unrealistic. That's not going to happen.

Sorry, that's unrealistic. That's not going to happen.

Herbert, this is not helpful. We're having a discussion on if it is realistic or not. We know your position. You need to motivate it. Further, this is not just your call, or my call. Bringing a bunch more code into the dependencies for GHC is something which the core GHC team needs to sign off on, and which should be discussed on the ghc-devs list. A big amount of effort in the past has been to remove external deps from GHC as much as possible to simplify development. I know this can't always happen, and I know that expanding the set of core libs can also be to the good -- but there is an innate tradeoff there, and it is worth hashing out in detail the consequences with the full set of core GHC devs.
I'll follow up more on @sjakobi 's new thread (thanks!) and then as a first step in the community-bonding period of the process, the discussion should be brought to the attention of the ghc-devs list so we can get some broader input.

Bringing a bunch more code into the dependencies for GHC is something which the core GHC team needs to sign off on,

This is what people are missing or ignoring; we're not bringing more code in. It was always there, conceiled.

Since everyone's been arguing so strongly for the principle of avoiding vendored code inlined from a different package, can we get this over with? What's missing for this PR to be merged?

My only question is the timing vis-a-vis pending release plans. Outside of that, I think your concerns were the main outstanding thing. While you don't seem happy about this still, you do seem resigned to it, and as such I vote we merge (barring, of course, release plans which may dictate otherwise?).

Gershorm, I am ready to merge. Waiting for Alec to confirm.
@gbaz @harpocrates

@alexbiehl Go ahead and merge.

Thanks Alec! Looking forward to have Text based haddock-library. (hold back on that for a few days. I wanted to offer this as a project for Bayhack in the hopes to increase contributors)

@alexbiehl Thanks for mentioning that! I was about to jump into that 😃. More contributors is always a good thing.


Location For dnsmasq.d Configuration Files

Is there a folder I can put additional dnsmasq.d configuration files?

This should work: /opt/etc/dnsmasq.d/


[travis-ci] Notifications: IRC (ON) email (OFF)

Next time, please do these on separate branches. :)

@weierophinney Is a different branch, but I guess git could conflict with #23

It had all the changes from #23 in it...


Rename plugins to Extensions and add basic support.

Made a test extension seems to work will merge.


Arm support

Node-sass is installing with mean.js applications. I'm running on a Raspberry Pi 2
Error: Node Sass does not yet support your current environment: Linux Unsupported architecture (arm) with Node.js 4.x

Related #1602.
As the message states we do not currently support the arm architecture. However this error should not prevent node-sass from attempting to compile locally. Can you confirm whether node-sass builds on arm.
npm rebuild node-sass

Ok rebuilding node-sass worked fine.

For future google searchers: please check your node-sass version. Try latest version.


[Docs] Add CSS guide

Description

As discussed, this adds an overview that explains how to customize CSS
Minor change to all docs where "This will XXX" is used: https://github.com/mckinsey/vizro/pull/716#discussion_r1765000720

Note: This only adds a user guide on how to customize CSS, it does not add a user guide on general visual changes that one can do in Vizro. Would like to discuss the second part separately whether such an overview page is required and what the content of that should be @Joseph-Perkins
This contains 90% of the content already, would like to get early feedback before I start writing more. Mostly from @stichbury , @Joseph-Perkins and @antonymilne .
https://vizro--716.org.readthedocs.build/en/716/pages/user-guides/customizing-css/
Screenshot
Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

looks great!!
I could only think of one suggestion - perhaps it's worth explicitly mentioning in the "Introduction to CSS" section that the full stop (.) targets IDs and the hash (#) targets classes? (since some people might not notice the subtle difference, especially if they skipped reading the references on CSS?)

looks great!!
I could only think of one suggestion - perhaps it's worth explicitly mentioning in the "Introduction to CSS" section that the full stop (.) targets IDs and the hash (#) targets classes? (since some people might not notice the subtle difference, especially if they skipped reading the references on CSS?)

I've linked to an "Intro to CSS article there" where this is explained. Didn't want to duplicate all the explanations :)

https://vizro--716.org.readthedocs.build/en/716/pages/user-guides/customizing-css/

Oki, I'll add that in 👍


prometheus-exporter-nextcloud: fix passwordFile option

Description of changes
"" isn't a valid value for an option of type path, so by default the module threw an error after the last commit when passwordFile was used. This makes it be a nullable option instead, so password files can still be used.

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

there's also https://github.com/NixOS/nixpkgs/pull/254563

right, I'll close this then


Profile v2 -- consolidate discipline incidents into their graph

You should be able to click on a point in the graph and scroll to the appropriate discipline incident.

This is part of https://github.com/studentinsights/studentinsights/issues/5

Closing because it is covered in #196.


Add autocomplete for LoRAs

Adds installed loras to the autocomplete word list in the format <lora:lora_name:1.0>

View lora info by pressing the info button on the list

I think lora autocompletion would be very helpful for those who prefer text-based lora loaders (that use this format) to node-based loaders/stacks. I also find searching for a specific lora's info much faster compared to manually scrolling through the lora loader and clicking 'View Info'.

Notes:

Creates new endpoint /pysssss/loras to get list of lora names
Exports LoraInfoDialog class from web/js/modelInfo.js
Works well when tested with Power Prompt (rgthree)

Btw great job on the extension, it was very easy to read through the code and find which parts I needed to extend

Hey, thanks for this. I think this would need to be made into an setting, as it requires other nodes in order for the  syntax to work in the default prompt

I made it opt-in so people aren't misled into using it for the default prompt, lmk your thoughts


Uncaught TypeError: (0 , _steps.Before) is not a function

Cypress: 3.8.1
cypress-cucumber-preprocessor: 1.11.0
Google.Feature's Before() produces this error.
`
import { Given, Then, Before } from "cypress-cucumber-preprocessor/steps";
const url = "https://google.com";
let myBeforeCount = 0;
// This verifies that the hooks work with bundling feature
// https://github.com/TheBrainFamily/cypress-cucumber-preprocessor/pull/234
Before(() => {
expect(myBeforeCount).to.be.lessThan(2);
myBeforeCount += 1;
});
`
Solution: Is to update cypress-cucumber-preprocessor to version 1.16.2 in package.json.

Thanks, do you want to create a small PR?

Yup. On it as we speak.

My First PR https://github.com/TheBrainFamily/cypress-cucumber-example/pull/13 posted. Please correct me if any errors.

thank you!

Thanks for the awesome tool.


Use enums instead of Box for failure

I've hard-forked this repository at https://github.com/fschutt/clipboard2 and changed it to return a ClipboardError enum. The problem with Box<Error> is basically that it erases all type information - the library user can only get the description, which isn't of much use except for debugging.
I've replaced all usage of Box<Error> with an error enum which is not only type-safe and more descriptive (the library use now knows why the function could fail), but also more performant (no dynamic dispatch). I'd be happy to contribute the changes back into this repo, but for now I'm using the hard fork (I'll credit your repository though, since large amounts of that repo isn't technically my code).

Also you might want to update x11-clipboard - the new version (0.3.0-alpha) doesn't have any breaking changes, but has way less dependencies (decreased build time).

I'd like this feature too. @fschutt, could you make a PR from this?

@fschutt I'm willing to merge this (and it looks like your clipboard_metadata.rs is a useful component for adding typed clipboard data, e.g. images). Do you want to make the PR, or should I cherry-pick the commits from your repo?

Well, when I made the fork I basically squashed the entire history and rewrote a lot of things. Not sure how to rebase all of this without losing the history. I'm not against merging it of course, but I don't see how I could undo this without losing all of the history. @aweinstock314 I've never used cherry-picking, maybe you're better at git, so that may be an option. I'm fairly busy atm, feel free to merge my fork back in. It's just that you didn't respond for several months, so I thought this repo isn't maintained anymore, hence the fork.

It looks like the squash of the history also squashed your changes to error-handling into the initial commit of clipboard2, so there is no history to preserve. I'll adapt your error-handling code in as one commit, and the format handling in another.

Thanks for working on this! I think the issue is solved in master, but it doesn't seem like a new version was released at crates.io, was it? When using v0.5.0, it still seems to use the Box error messages.

It does not look like it's fixed in master.
I've been working a bit on fixing it here: https://github.com/qwerty01/rust-clipboard
It's not that clean yet (I still have to go back and find the best practices for the way I chose to handle the error enums) and I don't have a mac to test the OSX changes, but it's at least providing an error type that is compatible with the ? operator for windows and linux.

When I used in async function, it fails by:
error: future cannot be sent between threads safely
help: the trait `std::marker::Send` is not implemented for `dyn std::error::Error`

enum type can fix this

When I used in async function, it fails by:
error: future cannot be sent between threads safely
help: the trait `std::marker::Send` is not implemented for `dyn std::error::Error`

enum type can fix this


Inconsistent quality behavior?

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.07.11. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.07.11

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x] Question
[ ] Other

Hello, I have a little question about what seems to be inconsistent behavior regarding format/quality selection. Or perhaps my expectations about said options are inaccurate? I hope someone can help clarify if that is the case.
I'll explain/show my actions and results below.
Video used as example: https://www.youtube.com/watch?v=f25R9Gl6FWc
Download without any parameters(for reference):
http://imgur.com/GS4fSku
Media info:
http://imgur.com/kT0uW9R
Now for the interesting part, download with parameters taken from the "Format selection examples" section. (https://github.com/rg3/youtube-dl#format-selection-examples)

# Download best mp4 format available or any other best if no mp4 available
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

http://imgur.com/VOrVs9N
Media info:
http://imgur.com/LnjUqHl
Now for the final result using -f best
http://imgur.com/LVQP4QI
Media info:
http://imgur.com/BDuaDNx
Note the significantly larger file size and higher bit rates for both audio and video.
Why does "# Download best mp4 format available or any other best if no mp4 available" not actually return the best quality mp4 available but -f best does? Am I misunderstanding things? Am I doing something wrong? Are my expectations off?
Please explain if you can, thanks in advance.

Read format selection. It explains everything or use search.

Do you honestly think I didn't read that about 100 times before posting this?
Nothing in there explains what I'm asking.
Kind of ironic since you obviously didn't take the time to actually read my questions.

Well, the format selection guide is correct. But results depend on the site/extractor.
And not even all videos on YouTube, for example, are available in all formats. There is some variation, partially depending on the age of the video upload.
You can list the available formats for any chosen video with -F, or --list-formats

It's a limitation of youtube-dl: sometimes the actual quality is unknown until the file is downloaded. In this example, bestvideo is:
136          mp4        1280x720   720p  278k , avc1.4d401f, 30fps, video only, 48.46MiB

And best is:
22           mp4        1280x720   hd720 , avc1.64001F,  mp4a.40.2@192k (best)

As both formats have the same dimension, the only factor is their bitrates. Unfortunately, YouTube does not provide the bitrate information for format 22 of this video. In most cases, bestvideo is better than best, so we make it the default. This video is a good counterexample, but we can do nothing without sufficient information. If you know how to determine video qualities without actual downloading, please propose it. There are already lots of related feature requests. For example, a not-so-good idea was proposed at #6055. (It downloads some portion of the video, which slows down the extraction step.)

I see, thank you so much for explaining yan12125! That's the information I was looking for.
Until a solution is found I guess it's going to be a bit trial-and-error to find the highest quality in some cases, I'm just happy to know why it happens though, thanks again.

Downloading portions of the video to test the bit rates doesn't seem like such a bad solution to this and a few additional megabytes is rather tame. I think having it as an option would be great.

bigger is usually better

Not always true. Comparing bitrates among different codecs is meaningless. See https://github.com/rg3/youtube-dl/issues/6018#issuecomment-114008839 and https://en.wikipedia.org/wiki/Video_quality. You need some mathematical metrics, such as SSIM, PSNR, etc.


feat: create hypothesis strategy for a given model

This is a WIP for automatically creating hypothesis strategies based on the given model.
Pull Request Checklist

[ ] New code has 100% test coverage
[ ] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[ ] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR
[ ] Pre-Commit Checks were ran and passed
[ ] Tests were ran and passed

Description

introduce an API to automatically create a hypothesis strategy for the given model

Close Issue(s)

Closes #387

@sobolevn, I think we should start with adding tests. I'll be adding tests to this, but it would be great if you could add some as well to make sure I don't miss any edge cases etc.

Also, @sobolevn if you have a better idea than what I've done on how to make this optional i.e. only have this functionality if hypothesis is installed, that'd be great.


Delete Jenkins build of LFMerge

Likely need to get with Eberhard on this. Also remove the webhooks in this repo. Delete the TeamCity builds, as well, if they exist.

Done


Update docs for build order allocation

Allocation of stock to build orders has been updated / improved.
Need to update the documentation to match. In particular, screenshots.

See #224, looks great to me :)


Goal: Dynamic Runtime Samples

As the project will become more modular over time it makes sense to reintroduce single sample compilation. This was scrapped a while back due to the setup of the framework and build system. This time around we should approach it in a different way to make sure that compilation time stay as fast as possible.

Each Sample should compile as a runtime dynamic library which should be loaded and linked against
Each platform should have a sample launcher which is driven by a samples.json file
samples.json should contain all information about a sample and also the location or name of the dynamic library to load for a given sample
Desktop platforms may benefit from an ImGUI based samples launcher

The benefits of this approach is that there is no cyclical dependency between compiling samples, launchers or the framework components. Each sample can be compiled individually with the only other dependency needed to run the sample being the launcher. Launchers can be extremely light weight and can take advantage off code already written and tested in framework modules.
Samples will no longer be classes or be tied to any vkb::Platform lifecycle. They should be able to be composed off any components they deem fit and run in a way which best demonstrates their lessons.

This is purely pseudo code of a sample.cpp file

#include <components/events/events.hpp>
#include <components/windows/window.hpp>
#include <components/assts/models.hpp>
#include <components/input/manager.hpp>
#include <components/sample/defines.hpp>

static std::shared_ptr<SampleContext> sample_context;

sample::Result prepare(sample::Context context) {

   auto default_window =  windows::_default(context);

   input::Manager input;

   input.subscribe(default_window); // < subcribe to input events (cursor pos, key input)

   events::EventBus bus;

   bus.subscribe(context); // < possibly control a samples execution from external sources
   bus.subscribe(default_window); // < subscribe to window events (resize, move, close)

  // Init some vulkan stuff
  sample_context = {};

   bus.on<events::Update>([&](float delta_time){
      // Do some update stuff

     if (input.get_key<input::KeyCode::A>() == input::KeyAction::Down) {
        // move forward?
    }
   });

   bus.on<events::Draw>([&](){
      // ready to draw again
   })

  auto result = bus.run();

   return // do some error handling
}

sample::Result destroy() {
  // clean up code
  // might not be needed if we treat prepare as a main replacement
}

Each sample can choose how to configure its own running environment which allows for super simple samples or more robust samples. The current frameworks can be made into helper libraries which can be used or not. No need to compile the render graph for a hello world sample.

Hey @gpx1000, this is the end goal that I want a sample to look like.
The build system will be a mix of static, dynamic compile time and dynamic runtime libraries (components).
A sample will may contain 1 or more entry points. We might be able to get away with sample_main() instead of prepare() and destroy().
The event bus will orchestrate all events and the render loop. We might be able to add custom event logic in here too but that is further down the line if a sample needs it. Something like EventBus events{event_intercept_functions};
This set-up should allow samples to be compiled in parallel with zero linking. As this is a major bottleneck this improvement alone should dramatically reduce the build time. Components add to this efficiency by breaking the code base up into smaller libraries with a very specific subset of third parties. I'm hoping to reach build times similar to engines like Godot with sub 10 minutes.
Let me know your thoughts on this when you get chance

I LOVE this idea!

Do we still want to pursue this idea?


ydoc-server is a separate module

Fixes #10155
Pull Request Description

Important Notes

Remove remnants of deprecated Scala parser
The following projects are now JPMS modules provided on system module-path (in components directory):

ydoc-server
profiling-utils
syntax-rust-definition

The contents of the aforementioned modules are excluded from both runner.jar and runtime.jar fat jars.

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.

On https://github.com/enso-org/enso/pull/10156/commits/9de7c282433a7a1de6502bfaefe4547a6717d06b, ydoc can be started and it seems to synchronize correctly. But SuggestionsCache fail to load with "filter status REJECTED":
[INFO] [2024-06-04T13:22:59.057] [enso.org.enso.interpreter.caches.Cache] Deserializing suggestions for library Standard.Base
[INFO] [2024-06-04T13:22:59.057] [enso.org.enso.interpreter.caches.Cache] helidon.serialFilter.pattern: javax.management.**;java.lang.**;java.rmi.**;javax.security.auth.Subject;!*
[WARN] [2024-06-04T13:22:59.059] [enso.org.enso.interpreter.caches.Cache] `Standard.Base` in /home/pavel/dev/enso/built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/lib/Standard/Base/0.0.0-dev/.enso/cache/suggestions/0.0.0-dev/Standard/Base.suggestions failed to load:
java.io.InvalidClassException: filter status: REJECTED
	at java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1439)
	at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2071)
	at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1927)
	at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2252)
	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1762)
	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:540)
	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:498)
	at org.enso.runtime/org.enso.interpreter.caches.SuggestionsCache.deserialize(SuggestionsCache.java:81)
	at org.enso.runtime/org.enso.interpreter.caches.SuggestionsCache.deserialize(SuggestionsCache.java:27)
	at org.enso.runtime/org.enso.interpreter.caches.Cache.loadCacheFrom(Cache.java:277)
	at org.enso.runtime/org.enso.interpreter.caches.Cache.lambda$load$0(Cache.java:209)
	at java.base/java.util.Optional.flatMap(Optional.java:289)
	at org.enso.runtime/org.enso.interpreter.caches.Cache.load(Cache.java:192)
	at org.enso.runtime/org.enso.interpreter.runtime.TruffleCompilerContext.loadCache(TruffleCompilerContext.java:201)
	at org.enso.runtime/org.enso.interpreter.runtime.TruffleCompilerContext.deserializeSuggestionsImpl(TruffleCompilerContext.java:618)
	at org.enso.runtime/org.enso.interpreter.runtime.TruffleCompilerContext.deserializeSuggestions(TruffleCompilerContext.java:605)
	at org.enso.runtime/org.enso.interpreter.instrument.job.DeserializeLibrarySuggestionsJob.run(DeserializeLibrarySuggestionsJob.scala:38)
	at org.enso.runtime/org.enso.interpreter.instrument.job.DeserializeLibrarySuggestionsJob.run(DeserializeLibrarySuggestionsJob.scala:16)
	at org.enso.runtime/org.enso.interpreter.instrument.execution.JobExecutionEngine.$anonfun$runInternal$1(JobExecutionEngine.scala:135)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:106)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:140)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:131)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:745)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:519)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:500)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:102)
[INFO] [2024-06-04T13:22:59.060] [enso.org.enso.interpreter.caches.Cache] Invalidated the cache at [/home/pavel/dev/enso/built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/lib/Standard/Base/0.0.0-dev/.enso/cache/suggestions/0.0.0-dev/Standard/Base.suggestions.meta].
[INFO] [2024-06-04T13:22:59.061] [enso.org.enso.interpreter.caches.Cache] Invalidated the cache at [/home/pavel/dev/enso/built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/lib/Standard/Base/0.0.0-dev/.enso/cache/suggestions/0.0.0-dev/Standard/Base.suggestions].
[INFO] [2024-06-04T13:22:59.061] [enso.org.enso.interpreter.caches.Cache] Unable to load a cache [Standard.Base]
[WARN] [2024-06-04T13:22:59.061] [enso.org.enso.interpreter.runtime.SerializationPool] Unable to load suggestions for library [Standard.Base].
[DEBUG] [2024-06-04T13:22:59.061] [enso.org.enso.interpreter.service.ExecutionService] Job DeserializeLibrarySuggestionsJob(Standard.Base) finished in 42 ms.

Apparently, this is caused by helidon disabling reflection and https://github.com/enso-org/enso/pull/9528/commits/f508ffac632a7568a7804e067f9c0a8e7e277b97#r1587057920 should resolve the issue. But I have tried to set this helidon.serialFilter.pattern system property (as can be seen in the log) and the issue is still there.
Let's try to fix this by serializing and deserializing suggestions with Persistance.

As of https://github.com/enso-org/enso/pull/10156/commits/2f29a5f9d1ab5cee0fc32b530b368bbbbfc8a49f, the suggestions are correctly serialized and deserialized. I have just tried that on opening a dummy project. Let's continue with simple tests of ydoc server...


Scrollbar Fix on Mac. Fixes issue #100

Fix Issue #100
The issue was happening when "Show scroll bars" was set to "Always" on the user's preferences aside from the referenced issue.
The only problem I had was that some linting was not passing, but I didn't edit that file.

I believe I fixed that in another PR


Global is not defined

HI, i have added universal-tilt.min.js but it says Uncaught ReferenceError: global is not defined     at universal-tilt.min.js:1
i have use jQuery v3.3.1. Can you help please?

OK, i have figure out that is a node component, but maybe you can provide compiled script. That i can use it just as jQuery plugin?

I will look at the problem next week


NoElementException: No element to render on.

Hello,
For a project, I started using JsBarcode with Angularjs. Here I need to create the number of barcodes according to the user inputs. I'm using the ng-repeat directive to populate them.

The table is created with a button click event. Here the table works fine. But the barcode is not generated. I'm getting the error "NoElementException: No element to render on.". Why is that?

NoElementException: No element to render on. is thrown then the element provided to JsBarcode (the first parameter) does correspond to any page on the webpage.
This will work
JsBarcode("#barcode", "Hi!");
<svg id="barcode></svg>

This will not
JsBarcode("#barcode", "Hi!");
<svg id="other-name-barcode></svg>

I tried it. But still, I'm getting the same error. (I'm using svg/img tag inside a 'td' which is generated using Angular ng-repeat

Then the tag you want to render on is not loaded when you run JsBarcode. If you want more help you need to provide a running example in some way.

I send u a mail, sir

Changing $scope does not directly change the DOM. You need to run JsBarcode after Angular has updated it.
Here is a blogpost about how to solve it. https://blog.brunoscopelliti.com/run-a-directive-after-the-dom-has-finished-rendering/
So if I read it right this will work.
$timeout(function(){
  JsBarcode(...);
}, 0);

'

Thanks a lot it worked. I'm closing the issue(it wasn't a issue with the library, but with my code)

@thidasapankaja I know this is an old issue, but how did you figure out how to fix this?

NoElementException: No element to render on. is thrown then the element provided to JsBarcode (the first parameter) does correspond to any page on the webpage.
This will work
JsBarcode("#barcode", "Hi!");
<svg id="barcode></svg>

This will not
JsBarcode("#barcode", "Hi!");
<svg id="other-name-barcode></svg>

The above worked for me (with React v17.0.1)!
With a slight modification:
import React, { useEffect } from "react";
import JsBarcode from "jsbarcode";

const App = () => {
 /**
 * effect
 */
 useEffect(() => {
    JsBarcode("#barcode", "Hello");
  }, []);

 return (
   <React.Fragment>
     <svg id="barcode"></svg>
  </React.Fragment>
 )
}

Sei que é antigo, mas se ajudar alguém usei    setTimeout(() => {
JsBarcode("#barcode", "Hello");
}, 1000);
que é um tempo até a pagina carregar e dar tempo para renderizar


Another issue with dokan

Consider the following code:-

a=OSFS('New')
dokan.mount(a,'Q')

As output, a new drive Q is created. The expected output should be when I open
the drive, I can read its files.

But instead when I open the directory I can read the text files. But when I try
to open some image with Windows Photo Viewer or some mp3 using media player, it
doesn't load.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 17 Mar 2013 at 10:51

Closing, as I'm assuming this is fixed in newer versions of Dokan, which #256 is adding support for.


Filtering the VCF file

Hi Zev,
Do you have any recommendations on setting parameters for filtering of the VCF files generated by WHAM?
Thanks,
Ashini

Ashini,
Can you tell me a little more about your experimental design?   There are many filtering strategies, so will a little more knowledge I can point you to the correct one.
--Zev

Hi Zev,
The aim of my project is to detect translocations. However, the current problem we are facing with WHAM is way too many false positives (> 1000s) and we are trying ways to lessen them.
Moreover, I have also played with parameters controlling sensitivity and specificity in my WHAM runs:
For Example:
m (Min # of soft clips supporting SV start) = 15 (set pretty high)
p (Exclude Soft Clipped reads below mapping value ) 20
q  (Exclude Soft Clipped reads with average base quality below Phred-scaled value) = 30
Therefore, trying to set filters on VCF file that can lessen the # of these false positives.
So far I have played with Read Depth (RD)  > 1500. It detects the true positive but still the # of false positives is way too high.
So, if you can provide any filtering strategy, that would be immensely helpful.
Thanks.
Ashini

Ashini,
Sorry for the late reply.  I would suggest using the "AT" field as a set of filters. Specifically the 4th datum in the AT field.  You would expect that a true translocation would have > than 0.05.
If you have control data that will also help substantially.
If you send me a Snippet of your VCF file I'd be happy to help provide a filtering program for you.
--Zev

Zev,
Thanks for the reply.
Attached is the snippet of my VCF file containing the translocations we are looking for. The translocation is on Chr22 (29,684,094-29,684,602) and Chr 11 (32,415,739-32,416,247). I see that its being called but still the values in the 4th AT datum are not greater than 0.05.
sample.txt
Thanks for all your help.
Ashini.

Here is a filter that should get you much closer.
SVLEN = 0 <- translations
CF < 0.2  <- remove sites with excessive cigar operations
CU < 10  <- remove sites where there is excessive soft clipping near by
MQ > 30 <- average mapping quality greater than 30
NC > 10 <- number of soft clips supporting breakpoint
In the file Brett sent me: there were 868 calls
There is one left after filtering.
~/tools/vcflib/bin/vcffilter -f "SVLEN = 0" -f "CF < 0.2" -f "CU < 10" -f "MQ > 30" XXXX-ALK.wham.raw.vcf | perl -lane 'if($_ =~ /^#/){print}else{$z = $1 if $_ =~ /NC=(.*?);/; print if $1 > 10}'

Superb. Thanks Zev. I will try it on other samples too and let you know how it works.
Thanks again,
Ashini

Happy to help.  I'm closing this issue, but feel free to open up another one.


Zanderz/installer 2016.08.02

This, along with dokany wix package changes, allows keybase app updates without UAC, but also can successfully update drivers when they change. The approach was to change Dokany to allow package upgrades, and to merge all the chained items from their bundle into our bundle (instead of trying to bundle their bundle). This also has the benefit of hiding fewer error conditions and reboot prompts.
There was some experimenting back and forth but it should all squash down.
@maxtaco @taruti

LGTM but the upgrade should be tested a little before pushing to users automatically.


Fix regression in RemoveNulls

PR Summary
Fix regression after #11884.
PR Context

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

Is there a test that could be added?

I don't understand how the nulls could appear. Perhaps it is internals of the Windows API. Then there is no chance of creating a test. 😕
Perhaps it is a dead code since we have not seen problems for a long time.

This code appears to only be used with the built in ReadLine and not when PSReadLine is used.  I suspect it's to handle the case of cut & paste where the content includes nulls.  Given that this code is likely not used often (as most folks are using the default PSReadLine), I wouldn't spend time adding a test then.


Guide Issues : Running Packer with Newer Type VM's causes issues.

Going through the tutorial using 1.0.25 and South Central US.
VM used for 3d Desktop :  Standard_NV12s_v3
When on Lab 1 Task 3: Build Images  the NV6 not many regions had this available for my subscription so kept it as NV12s_v3 . Everything seems to work till the end and it came with the following error.
Creating an image definition for azhop-centos79-desktop3d Read image definition from ../config.yml /subscriptions/3f0748f2-5c3e-4edf-acea-7749f0ad2517/resourceGroups/azhop-lab1/providers/Microsoft.Compute/galleries/azhop_gve0h3q8/image s/azhop-centos79-desktop3d Looking for image azhop-centos79-desktop3d version  ... Pushing version 7.8.220822203 of azhop-centos79-desktop3d in azhop_gve0h3q8 (Conflict) The resource with id '/subscriptions/3f0748f2-5c3e-4edf-acea-7749f0ad2517/resourceGroups/azhop-lab1/providers/Microsoft.Compu te/images/azhop-centos79-desktop3d' has a different Hypervisor generation ['V2'] than the parent gallery image Hypervisor generation ['V 1']. Code: Conflict Message: The resource with id '/subscriptions/3f0748f2-5c3e-4edf-acea-7749f0ad2517/resourceGroups/azhop-lab1/providers/Microsoft.Compute /images/azhop-centos79-desktop3d' has a different Hypervisor generation ['V2'] than the parent gallery image Hypervisor generation ['V1' ].

Please make sure that the hypervisor version of the image is set to v2 in the configuration file if you use NV12s_v3.
Before rebuilding the image, delete the image definition in the gallery as it has been created with v1.

Apologies need some help. How do i set hte version to v2 .
Both json files have
Have the same "image sku": "7_9-gen2"
Here is the  builders azhop-centos79-v2-rdma-gpgpu.json
' "builders": [
{
"type": "azure-arm",
"use_azure_cli_auth": "{{user var_use_azure_cli_auth}}",
"image_publisher": "OpenLogic",
"image_offer": "CentOS-HPC",
"image_sku": "7_9-gen2",
"image_version": "latest",
"managed_image_resource_group_name": "{{user var_resource_group}}",
"managed_image_name": "{{user var_image}}",
"os_type": "Linux",
"vm_size": "Standard_NV12s_v3",
"managed_image_storage_account_type": "Premium_LRS",
"ssh_pty": "true",
"build_resource_group_name": "{{user var_resource_group}}",
"private_virtual_network_with_public_ip": "{{user var_private_virtual_network_with_public_ip}}",
"virtual_network_name": "{{user var_virtual_network_name}}",
"virtual_network_subnet_name": "{{user var_virtual_network_subnet_name}}",
"virtual_network_resource_group_name": "{{user var_virtual_network_resource_group_name}}",
"cloud_environment_name": "{{user var_cloud_env}}",
"ssh_bastion_host": "{{user var_ssh_bastion_host}}",
"ssh_bastion_port": "{{user var_ssh_bastion_port}}",
"ssh_bastion_username": "{{user var_ssh_bastion_username}}",
"ssh_bastion_private_key_file": "{{user var_ssh_bastion_private_key_file}}"
}
],'
And the rdma json file which is listing as v2 in the compute gallery :
{
"builders": [
{
"type": "azure-arm",
"use_azure_cli_auth": "{{user var_use_azure_cli_auth}}",
"image_publisher": "OpenLogic",
"image_offer": "CentOS-HPC",
"image_sku": "7_9-gen2",
"image_version": "latest",
"managed_image_resource_group_name": "{{user var_resource_group}}",
"managed_image_name": "{{user var_image}}",
"os_type": "Linux",
"vm_size": "Standard_d8s_v3",
"managed_image_storage_account_type": "Premium_LRS",
"ssh_pty": "true",
"build_resource_group_name": "{{user var_resource_group}}",
"private_virtual_network_with_public_ip": "{{user var_private_virtual_network_with_public_ip}}",
"virtual_network_name": "{{user var_virtual_network_name}}",
"virtual_network_subnet_name": "{{user var_virtual_network_subnet_name}}",
"virtual_network_resource_group_name": "{{user var_virtual_network_resource_group_name}}",
"cloud_environment_name": "{{user var_cloud_env}}",
"ssh_bastion_host": "{{user var_ssh_bastion_host}}",
"ssh_bastion_port": "{{user var_ssh_bastion_port}}",
"ssh_bastion_username": "{{user var_ssh_bastion_username}}",
"ssh_bastion_private_key_file": "{{user var_ssh_bastion_private_key_file}}"
}
],
Thanks in advance . Been trying to run the tutorial mulitple time to get a consistent working build .
Due to specific vm's not being availalble to my subscription due to region limitations etc. I am looking to document a consistent approach with additional steps  use the similar newer generation vm available in a region .

ok, the change has to be done in the config.yml in the queue section. This one defines the custom image definitions that needs to be preset in the image gallery.
Change the hyper_v value to V2 for your desktop3D definition.

@yoyomonkey1 have you solved your issue ?

in the config.yml file i changed the following
'- name: azhop-centos79-desktop3d
publisher: azhop
offer: CentOS
sku: 7_8
hyper_v: V1 # I changed this to V2
os_type: Linux
version: 7.8
And this worked.
the further steps worked until Excercise 3 : Task 2
tried to connect to the On-Demand Platform and the site refused to connect.   Tried running the install.sh multiple times and there was no error but still cannot connect .

ok, this is weird. Which kind of connection error do you get ? building an image and connecting to the portal are two different things with no relations.

I deleted everything and done it all from scratch ...with the VM at NV12s_V3 instead of the NV6  to the changes in the Hyper V version in the config.yml . Every command worked with no errors.
When it came to connecting to the ondemand pc so that I can log in :
The error that comes back is :
ondemand1XXXXX.southcentralus.cloudapp.azure.com refused to connect.
I have switched it off and on again and still the same error.
Tried in different browsers from Chrome, Edge and Brave .

can you resolve this DNS name ?

yes dns resolves to an ip and I have tried both ip and dns same issue

and you use https://ondemand1XXXXX.southcentralus.cloudapp.azure.com ?
can you send a screenshot of the error ?

No not yet. currently tying up some loose ends and will be dedicating
myself to AZ-HOP for the next week .
Cheers
Jazz
On Tue, 30 Aug 2022 at 08:08, Xavier Pillons @.***>
wrote:

@yoyomonkey1 https://github.com/yoyomonkey1 have you solved your issue ?
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/az-hop/issues/1044#issuecomment-1231239588, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AKJT2DRWGBOQGFKZ2UUQEIDV3WXN7ANCNFSM57JGXDHQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


notify-keyspace-events default attribute will prevent redis from starting.

The default attribute for notify-keyspace-events is correctly set to an empty string:
https://github.com/brianbianco/redisio/blob/master/attributes/default.rb#L125
Which produces the following in the redis config file:
notify-keyspace-events ""

This will cause redis to fail:
Starting Redis server...

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 473
>>> 'notify-keyspace-events ""'
Bad directive or wrong number of arguments

It appears that the documentation quoted in the template refers to redis-cli config commands, rather than template syntax (which stems from a failure in the redis docs to call out the discrepancies).
The correct solution here is probably to default the attribute to false and guard around including that config key unless it is actually set via the attribute.

What version of redis are you using?
3.x does not fail to start with notify-keyspace-events ""

This was about a year ago, so I can't recall the exact scenario in which I encountered this. I'm 99% sure  it was redis 2.x, maybe 2.8 as that appears to have been the cookbook default at the time.

Gotcha, let me test 2.8 to see what happens

FYI, having this problem with redis version 2.6.17. That configuration option is available from Redis version 2.8 on

@emig the notify-keyspace-events setting is restricted in the template to >2.8
https://github.com/brianbianco/redisio/blob/master/templates/default/redis.conf.erb#L826-L873
Can you confirm how you are seeting it on 2.6?

Quite new to chef, and although I get the same failure our case might be unrelated. I describe the setup:

redis 2.6.17
redisio 2.3.0

Recipe: redisio::configure
  * redisio_configure[redis-servers] action runRecipe: <Dynamically Defined Resource>
  * user[redis] action create (skipped due to not_if)
  * directory[/etc/redis] action create (up to date)
  * directory[/var/lib/redis] action create (up to date)
  * directory[/var/run/redis/6379] action create (up to date)
  * file[/var/lib/redis/appendonly-6379.aof] action create (skipped due to only_if)
  * file[/var/lib/redis/dump-6379.rdb] action create (up to date)
  * template[/etc/security/limits.d/redis_limits.conf] action create (up to date)
  * template[/etc/redis/6379.conf] action create (up to date)
  * template[/etc/init.d/redis6379] action create (up to date)
  * template[/etc/init/redis6379.conf] action create (skipped due to only_if)

    - evaluate block and run any associated actions

Recipe: redisio::configure
  * service[redis6379] action nothing (skipped due to action :nothing)
  * service[redis6379] action start
================================================================================
Error executing action `start` on resource 'service[redis6379]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of /etc/init.d/redis6379 start ----
STDOUT: Starting Redis server...
STDERR: *** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 473
>>> 'notify-keyspace-events ""'
Bad directive or wrong number of arguments
---- End output of /etc/init.d/redis6379 start ----
Ran /etc/init.d/redis6379 start returned 1

As a fix I would either  force install the version that the cookbook sets, or revert to the previous version.

Closing due to inactivity.
If this is still an issue please reopen or open another issue. Alternatively drop by the #sous-chefs channel on the Chef Community Slack and we'll be happy to help!
Thanks,
Sous-Chefs


Jss class names conflict with calendar

Material-ui changes the createGenerateClassName function from the preset default of jss. This creates a clash with the counter as courses will create some classnames similar to those that are generated with the calendar.

Merged.


[Refactor][RayService] Add GetRayClusterWithRayServiceAssociationOptions

Why are these changes needed?

This PR aims to follow up https://github.com/ray-project/kuberay/issues/2045. The purpose of this initiative is to maintain consistency in association methods and avoid scattering MatchingLabels usage throughout the entire codebase.
In this PR, I update the files related with RayService, and add a new AssociationOptions GetRayClusterWithRayServiceAssociationOptions.
Related issue number

#2045
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[x] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

cc @rueian


How to calculate stoploss?

@aticio
Thanks for the library. It is minimal and good.
I would like to have a stoploss value of half of the brick size.
Risk:Reward ratio is 0.5:1.   So if the brick size is 100, then I would like to have 50 as stoploss.  I'm really confused about the low value in this library.
When I enter a trade, it is usually based on the close_price of the last_brick.  However, the low value in this library is calculated based on the open_price of the last_brick.  So I believe it is not possible to use the low value as stoploss in my case.
You have any solution for that?
Thanks

When the last direction is up,
your code has two if checks for calculating low, high values.

if current_price > last_brick["close"]: do_something

elif current_price < last_brick["open"]: do_something

I think we need a third scenario.

elif current_price < last_brick["close"] and current_price > last_brick["open"]:

Hi,
low and high values are the wicks for that particular brick. In the link below, you can find an explanatory image of these wicks.
https://github.com/aticio/renko/issues/2#issuecomment-1002424952=
For your case, the corresponding low and high values are not suitable for stop loss and take profit use.
When you open a new position (e.g. long), simply take the opening value of the brick you expect to be formed (or the closing value of the completed brick). Then subtract the half brick size from this value and you will find the stop loss point you want.
For example opening a long position:
stop_loss = open - (brick_size / 2)

I'm not 100% sure, but brick building may have a different logic than resampling. You can do this with this library.
As a matter of fact, I already use it this way in my own bot.
# close: list of close prices or tick prices (or whatever list of numbers you gave)
# 1000: brick size you choose
rnk = Renko(1000, close)
rnk.create_renko()
rnk.draw_chart()

print(rnk.bricks)

I'm not sure I fully understand, but anyway, the condition in the third item here coincides with the brick's own spawn area. low and high values must be outside the body range of the brick.
Please let me know if I misunderstood or if there is anything else you are wondering about.
Thanks.

Thanks for the explanation.
For your case, the corresponding low and high values are not suitable for stop loss and take profit use.
When you open a new position (e.g. long), simply take the opening value of the brick you expect to be formed (or the closing value of the completed brick). Then subtract the half brick size from this value and you will find the stop loss point you want.

For example opening a long position:
stop_loss = open - (brick_size / 2)

Makes sense.
I'm not 100% sure, but brick building may have a different logic than resampling.
Got it.
I'm not sure I fully understand, but anyway, the condition in the third item here coincides with the brick's own spawn area. low and high values must be outside the body range of the brick.

Please let me know if I misunderstood or if there is anything else you are wondering about.

I usually calculate profit and loss using this page. https://www.winrate.io/
I trade in binance futures and I usually use market order for both entry and exit. Which is 0.04% in my case.  winrate.io, doesn't have calculation for "binance futures". So I usually select the exchange "Huobi" from the dropdown since it has the same fee structure as "binance futures".
And then finally I click "Advanced settings", set the value "Market" for both  "Entry Trade Order Type" and "Take Profit Order Type".
So the total fee per trade for me is 0.04 + 0.04 = 0.08%.

Take Profit %           Stop Loss %                         Profit/Loss

0.5                           0.5                                      -88 USD
0.5                           0.45                                    +430 USD
0.5                           0.4                                      +1231 USD
0.5                           0.35                                    +2464 USD
0.5                           0.3                                      +4353 USD
0.5                           0.25                                    +6623 USD

As you can see, the single most factor that influence the Profit and Loss is the Stop Loss percentage.
At the moment, I'm building renko bricks daily based on the last day midnight price. So if the BTC price is 45000 USD last day midnight, I add 5% to it.  Which means 45000 + 2250 =  47250
I then calculate brick size using the value 0.5%.
0.5% of 47250 = 236.25.
I think an option to automatically calculate brick size based on the last close value in percentage will be really helpful in cases like this.
Also a fixed brick size is a traditional method. Modern method relies on ATR. So you should add that option since people usually look for that option.
This is how you calculate ATR on a candlestick.
data['high-low'] = abs(data['high'] - data['low'])
data['high-pc'] = abs(data['high'] - data['close'].shift(1))
data['low-pc'] = abs(data['low'] - data['close'].shift(1))
data['true-range'] = data[['high-low', 'high-pc', 'low-pc']].max(axis=1, skipna=False)
data['atr'] = data['true-range'].rolling(14).mean()

Coming back to the stop loss, It seems like renko bricks has the 1:2 ratio for profit:stoploss.
Let's say the brick size is 100, and last brick direction is UP, and the last brick close price is 45000 USD, an UP brick get generated when the price moves to 45100 USD. But the DOWN brick get generated only when the price goes down 200 USD. i.e 44800 USD.
Is that right?
I understand I can use stop_loss = open - (brick_size / 2) to calculate stoploss. However, I'm more concerned about whether that stoploss would be optimal. There is no way to understand that without doing any backtesting.
So it would be ideal for me to have a separate low_wick and high_wick values for stoploss. Let's term that as "sl_low_wick" and "sl_high_wick".
Here are the scenario I understand in your code when the last brick direction is UP.  https://github.com/aticio/renko/blob/main/renko.py#L26
Last direction: UP
When the price is above last_close price, calculate high_wick. But a new UP brick formed, use only low_wick.
When the price is below last_open price, calculate low_wick. But a new DOWN brick formed, use only high_wick.
So any high_wick value and low_wick value greater than 0 would be also greater than the brick_size.
In other words,
When the last brick close price is 45500 USD, a low_wick doesn't get calculated when the price is between 45500 to 45400. It gets calculated only when the price goes below 45400.
I just need a way to calculate sl_low_wick and sl_high_wick, but it focuses only on the price between 45500 to 45400  /  45500 to 45600.
Do let me know if you have any solutions. Also do let me know if you want any clarification.
Thanks. Appriciate your time.

Thanks for the book reference. I'll check it out.
Also thanks for your other libraries testwise and legitindicators. I'll give it a try.
With renko, it is almost impossible to catch ups and downs with daily data. Although the graphics look very nice with daily close prices, it is misleading and Renko works most accurately with tick data.
Binance provides websocket market streams, so you can get tick data with second precision:

https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream=

I don't use daily close prices to build renko. But use it only to calculate the brick size.
Since renko care about price, I usually use binance aggtrades for generating bricks.  https://data.binance.vision/?prefix=data/futures/um/daily/aggTrades/BTCUSDT/
A raw trade is strictly defined as 1 taker and 1 maker trading some quantity at a price, but an aggregate trade is defined as 1 taker, n makers, trading the sum of all the individual raw trade quantities at a price.
There are other critical ratios based on your approach of strategy such as:
max_drawdown_rate
risk_reward_ratio
profit_factor
and the one I called ehlers_ratio = (2 * (win_rate / 100) - 1) * profit_factor
https://github.com/aticio/testwise/blob/main/testwise.py#L469=

I have backtested my code multiple times. I'm getting a 60% to 67% win rate.  However since renko has profit:stoploss ratio of 1:2,  my 33% loss is actually a 66% loss. If you add exchange fees, then it gets worse.
To me, brick size is one of the most critical issues in Renko. I've tried calculating this size with atr before. I've even used a scenario where this size changes dynamically.
My other library provides ATR calculation as well: https://github.com/aticio/legitindicators

But I prefer traditional method for renko. Here is why:
https://towardsdatascience.com/renko-brick-size-optimization-34d64400f60e

I have skimmed through this article. https://towardsdatascience.com/renko-brick-size-optimization-34d64400f60e
I'll read it carefully later.
I would not recommend using backtest to find the optimal stop loss value. Testing is a very cutting edge subject. After the first test, the concept of bias comes into play.

Checkout:
Advances in Financial Machine Learning 1st Edition,
by Marcos López de Prado
Chapter 11: The Dangers of Backtesting

Also another good content:
[How to avoid trading strategies that degrade quickly" - Timothy Masters](https://www.youtube.com/watch?v=1RKz9v_0WDo&t=74s)

Thanks for the links.
You only need to calculate stop loss value once. After that, it's more of a follow-up job than a calculation. That is why you need tick data especially if you are using market orders.
Let's say you calculated that the stop loss price is 45600 with a long position. Then you can open a websocket connection to binance and follow the price with 1000 ms precision. When the price is below 45600, execute the order.
If you try to do this with daily closing prices, your strategy will be shattered and you could incur big losses.

As I mentioned earlier, I'm using aggtrades data. Not daily close price. Sorry for the confusion.
These are my opinions. I hope I could be of help.
Yes, it is very helpful.
If you don't mind me asking, how exactly are you managing risks in renko? Are you using a fixed stoploss? or something different?
Thanks

I have backtested my code multiple times. I'm getting a 60% to 67% win rate. However since renko has profit:stoploss ratio of 1:2, my 33% loss is actually a 66% loss. If you add exchange fees, then it gets worse.

That is why you should always consider the profit factor as well, if you're using win rate as your approval ratio,
Because at first sight, %0.5 stop loss looks very sharp and could give you some trouble (early stops).
Checkout:
https://www.youtube.com/watch?v=zkKgyad9RFA&t=2225s
You should also consider walkforward testing and live testing as well to be absolutely sure.

I think the best thing about using Renko is risk management. It's so easy that you can use only bricks to decide profit and stop levels. However, I don't use them. The bot is always in position long or short (statistically more profitable - see this book by Kevin J. Davey Simply one green brick means long and one red means short. There are some cases that I don't open positions based on the market situation (sideways mostly).
Other than that, I'm not making a definitive judgment yet, and I've done thousands of tests with dozens of strategies but I think backtesting is losing its importance with renko. It becomes more of a market reading and brick size optimization thing.


ValueError: Cell returns tuple of states, but the flag state_is_tuple is not set. State size is: (LSTMStateTuple(c=128, h=128), LSTMStateTuple(c=128, h=128))

Hey guys,
I've just set up my conda environment and packages. When I running the bazel test //magenta/... command, the test //magenta/models/shared:events_rnn_graph_test  failed. I am new to this project so hopefully someone could point me to the right direction! For your info, I have installed all the required packages according to setup.py, and confirmed installation with 'pip freeze' and 'conda list' command.
Thanks in advance!
Simon
Bellow is the error message in the log file:
`ERROR: testBuildGraphWithAttention (main.EventSequenceRNNGraphTest)
Traceback (most recent call last):
File "/private/var/tmp/_bazel_simonttk/2d57163c72209284de52b06652358cc7/execroot/magenta/bazel-out/local-opt/bin/magenta/models/shared/events_rnn_graph_test.runfiles/main/magenta/models/shared/events_rnn_graph_test.py", line 58, in testBuildGraphWithAttention
'train', self.config, sequence_example_file_paths=['test'])
File "/private/var/tmp/_bazel_simonttk/2d57163c72209284de52b06652358cc7/execroot/magenta/bazel-out/local-opt/bin/magenta/models/shared/events_rnn_graph_test.runfiles/main/magenta/models/shared/events_rnn_graph.py", line 98, in build_graph
attn_length=hparams.attn_length)
File "/private/var/tmp/_bazel_simonttk/2d57163c72209284de52b06652358cc7/execroot/magenta/bazel-out/local-opt/bin/magenta/models/shared/events_rnn_graph_test.runfiles/main/magenta/models/shared/events_rnn_graph.py", line 47, in make_rnn_cell
cell = tf.contrib.rnn.AttentionCellWrapper(cell, attn_length)
File "/Users/simonttk/anaconda2/envs/magenta/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/rnn_cell.py", line 1077, in init
% str(cell.state_size))
ValueError: Cell returns tuple of states, but the flag state_is_tuple is not set. State size is: (LSTMStateTuple(c=128, h=128), LSTMStateTuple(c=128, h=128))`

Thanks for notifying us!


could not grow database file to requested size

Hi,
Trying to install the environment, and I get the following error:
function chainbase::database::database(const bfs::path &, chainbase::database::open_flags, uint64_t)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: could not grow database file to requested size.

I am running el capitan and the doc says Sierra, but doesn't explicitly exclude el capitan, so I thought I'd give it a spin. Is it the reason?

I meet this problem because user don't have data directory permission.


Hello, I am trying to follow the example tutorial but I am having trouble in session https://kedro.readthedocs.io/en/latest/03_tutorial/04_create_pipelines.html#working-in-a-jupyter-notebook, I am trying to run the code shown here but throws an error and although I have tried several things I can not solve the error.
I opened a notebook to test the kedro notebooks session and when I run the following code:
preprocessed_shuttles = catalog.load("preprocessed_shuttles")
preprocessed_companies = catalog.load("preprocessed_companies")
reviews = catalog.load("reviews")
master = create_master_table(preprocessed_shuttles, preprocessed_companies, reviews)
master.head()
and I get the following error:

NameError                                 Traceback (most recent call last)
 in
----> 1 preprocessed_shuttles = catalog.load("preprocessed_shuttles")
2 preprocessed_companies = catalog.load("preprocessed_companies")
3 reviews = catalog.load("reviews")
4
5
NameError: name 'catalog' is not defined
I have tried to call the catalog module in various ways, but I cannot get it right. If you can guide me to a solution I thank you.
Sorry for my bad English

Hi @jorge-datanalyst thank you for using Kedro!
Did you start the notebook with kedro jupyter notebook, not jupyter notebook? kedro jupyter notebook will run the ipython config under .ipython/profie_default/startup/00-kedro-init.py in your project, where you can find global catalog variable which is available in your notebook.
If you did run kedro jupyter notebook and got this error, you can inspect it by running startup_error, which will hopefully give you some useful error message.
Hope this helps :)
Btw, we have StackOverflow tags for kedro, where we answer user's questions :)
https://stackoverflow.com/questions/tagged/kedro

It worked, thanks a lot for your help.


[Feature] Waymo Dataset Evaluation/Test/Submission Doc/code update

What is the feature?
As mentioned here
# download the code and enter the base directory
git clone https://github.com/waymo-research/waymo-open-dataset.git waymo-od
# git clone https://github.com/Abyssaledge/waymo-open-dataset-master waymo-od # if you want to use faster multi-thread version.
cd waymo-od
git checkout remotes/origin/master

# use the Bazel build system
sudo apt-get install --assume-yes pkg-config zip g++ zlib1g-dev unzip python3 python3-pip
BAZEL_VERSION=3.1.0
wget https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh
sudo bash bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh
sudo apt install build-essential

# configure .bazelrc
./configure.sh
# delete previous bazel outputs and reset internal caches
bazel clean

bazel build waymo_open_dataset/metrics/tools/compute_detection_metrics_main
cp bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main ../mmdetection3d/mmdet3d/evaluation/functional/waymo_utils

In the up-to-date version waymo-open-dataset,
BAZEL  version is 5.4.0 and configure.sh is missing.
Please update test/submission docs accordingly .
Not sure if the mmdetection3d's source code need to be modified as well.
Any other context?
No response

@bigsheep2018  I meet a same problem， did you find the file ./configure.sh  or other  solution


Suggestions

When is the new update ?

Maybe when #36 is implemented.

Maybe when #36 is implemented.

Thanks for the update