(vx-demo/vx-brush) Brush drag has offset when group has margin.

The brush positioning seems to be affected by the margin of the group surrounding it, which leads to the area being drawn with an offset from where your cursor is. I noticed this in my own code, thought that I must be doing something wrong, but the example (which is quite recent) has the same issue: https://github.com/hshoff/vx/blob/master/packages/vx-demo/src/components/tiles/Brush.tsx
I am not sure if this is a bug (if it is at all) with the Brush package or if Drag is not working as intended (as the values come from there).

thanks for the bug report @Shin-- 🙌 will try to triage if it's brush vs drag but may not have time to do this for a few days, will happily accept any help/fixes in the mean time!

Hello @williaster and @Shin--
I have been trying to play with the brush to investigate the cause of this issue and see whether I can fix it, however, my initial conclusion is that it is not the problem with the brush, It is the problem with the function that handles what happens on brush change and specifically this line looks problematic to me as it ignores the bound values that are equal to x or y.
I have made an enhancement which you can play within this sandbox or clone and run from this repo
Play with it and if you too confirm that it was a mistake in the filter function, I can go ahead and raise a PR to update that example.

oops, I think it's a margin issue, let me check it.


Add some aqua tests

This PR adds some aqua tests. @juliasloan25, can you follow through on fixing the following?

Unbound argument methods
test_stale_deps
test_undefined_exports
test_deps_compat

If you can fix the ambiguities, great, if not, don't worry, they're not always trivial, and sometimes it's just a julia issue.

When you say "unbound argument methods", do you mean methods without argument type annotations?

bors r+


feat: add app initialization

Describe your changes

Redirect user to /init if application is not initialized. Initialization is verified by checking whether there's an admin user. This check should happen on every page.
To initialize the app, the user fills out the information for the admin user. Currently this does not include a password, because we do not yet support password authentication. My intention is to iterate on this and add that in a subsequent PR, as this one is already fairly large.
If initialization is verified, cache the initialization status in a cookie to avoid making an extra database query on every page load.
disable react/jsx-no-bind rule, which recommends that every callback in a function component be wrapped with useCallback, which is an antipattern
disable unicorn/prevent-abbreviations for "prop" and "props", since nobody calls React props "properties"
add a volume to docker-compose.yml to persist data between container restarts

Testing performed

Only manual testing currently. If this approach is approved, I'll add the tests and convert this from a draft PR to a regular one.

Additional context
N/A

Will look into fixing the build check failure tomorrow (I believe I just need to add some mock env values into the workflow config)

Much has changed, will take another stab


Hue 4.3 - Page not found (404) : saml2/login

Hi,
I'm building and deploying Hue 4.3 (release-4.3.0). After setting all the details about SAML, then tried access https://[hue_base] then I got the redirected url and error message :

redirected url : https://[hue_base] --> https://[hue_base]/saml2/login/?next=/
error message :

Request Method: | GET
http://[hue_base]/saml2/login/?next=/
1. ^hue/accounts/login [name='desktop_auth_views_dt_login']
2. ^accounts/login/$
3. ^accounts/logout/$
.... [other patterns skipped because it's long list] ....
The current path, saml2/login/, didn't match any of these.

How can I fix this problem?

There was a bunch of fixes lately and we know master is working fine at Cloudera. Any chance you could try with master?

This issue is fixed HUE-8662 and HUE-8663


Add visualization of task graphs.

This adds the TileDB Jupyter notebook visualization of task graphs.
A user can access it by calling exec.visualize() on some executor,
or d_node.visualize() on some Delayed node.

And a screenshot of a tiny demo (with a few necessary changes to the https://github.com/TileDB-Inc/TileDB-Jupyter-Plot-Widget:


Create cli input commands to use the game action commands.

We need to start using the commands in the cli and create a way for players to create it and start pulling dice and rolling. This will also encapsulate the work to be able to render the game state to the screen properly.

This will be blocked by issue #14


update function (howto via cronjob)?

Hi,
How will it works to using the "update" function from the script?
If i want to update only the "main csgo files" - now where the (multiple instances) using the same symlink/shared files.
I hope you can help!

@dasisdormax - dunno about you are active :D

Hello @MikkelDK,
I'll try my best to explain what the update function does. I haven't worked on the script for a while so I might get some things off ^^
When you execute csgo-server update, the script will first check if a new game version is available. If an update is required, the instances will shut down temporarily, the updater will perform the game update and the instances will start back up again.
You don't have to (and cannot) update the instances individually. You shouldn't have to do anything else, you only have to take care of Metamod and Sourcemod updates if you use them.
As an example, if you want to have your installation updated every night at 3 a.m. automatically, you can just add the update command to your crontab by executing crontab -e as the admin user and adding the line:
0 3 * * * /path/to/csgo-server update

@dasisdormax - dunno about you are active :D

I wrote this script to organize a local CS:GO tournament and didn't have any reason to continue developing so far. It is nice to know though that my script is helping you :) Please ask if you have any more questions or find a bug

I found a little bug  as example with GOTV (the tv_enable 1)
Example: TV_ENABLE="1" on server.conf (via: /csgo-multiserver/apps/csgo/scripts) - it don't set GOTV enabled.
So i did added: tv_enable 1 (under like this):

# GOTV specific settings ####
(( $TV_ENABLE )) &&     cat <<-EOF >> "$AUTOEXEC_CFG"

        // -------- GOTV --------
        tv_advertize_watchable "$TV_ADVERTIZE_WATCHABLE"
        tv_autorecord "$TV_AUTORECORD"
        tv_enable 1
        tv_password "$TV_PASS"
        tv_title "$TV_TITLE"

As you see (( $TV_ENABLE )) - seems it will not load it. so i did entered: tv_enable 1 (on the line).

Hello again,
Thumbs up for looking into my code and trying to improve :) I'm sorry to disappoint you though, but tv_enable 1 wasn't missing, it is just not in the autoexec.cfg but in the launch arguments (line 396) ^^ . Some commands have to be in the arguments and don't work in the autoexec.cfg (or at least it used to be this way)
For your demo upload suggestion, I do not know how to integrate this well. Besides, there are Sourcemod plugins that provide automatic demo recording and uploading. I do not know your specific use case, but you can try Warmod with curl and tEasyFTP as a starting point for your search.

Hello,
Oooh. I see. just an idea. maybe to update it. :D
I think. I will fork, and make some changes. ;) and maybe it can be (updated) here? ;-) what are you think?

Sure, feel free to do so. I cannot promise that I can include your changes here, but it will be easier if you make several small and simple changes instead of one big one :)

And maybe incl some tweaked server.cfg + other .cfg files like esl5on5/alias e.g? what are you think? - if it's possible? :D

I assume you are talking about your CSGOConfigs repository. You could create a preset file with all your custom gamemode settings, I am a bit uncomfortable with adding your config files for everyone though.
I'd rather create a possibility for users to include their own configs where necessary, would you like that?

As example yeah. I have make some cfg files, where people can use them.
E.g not all know the correct settings, with esl5on5 and such. So i did make cfg files, people can use free. :)

btw @dasisdormax i found a weird bug.
If you example set server to 12slots > it forcing to 10slots. what 2 do?


Closed tabs reopens on relaunch of vscode. no update option

Type: Bug
Open multiple unsaved files. Use "close all tabs". Do not save the files. Close vscode. Reopen vscode. The closed files are opened again upon relauch. Also, I dont see any "update' option to update vscode.
VS Code version: Code 1.77.1 (b7886d7461186a5eac768481578c1d7ca80e2d21, 2023-04-04T23:21:11.906Z)
OS version: Windows_NT x64 10.0.20348
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
AMD EPYC 7742 64-Core Processor                 (4 x 2246)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_off

Load (avg)
undefined

Memory (System)
32.00GB (20.46GB free)

Process Argv
--crash-reporter-id 2d1469d4-c804-4ce2-b4c9-8d6bfff5ef84

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

prettier-vscode
esb
9.13.0

vscode-dotnet-runtime
ms-
1.6.0

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
2e4cg342:30602488
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
f08j5886:30706078
pythonfmttext:30731395
pythoncmv:30739700
fixshowwlkth:30730052
pythongtdpath:30739704

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for creating this issue! To help narrow it down, please take the time to follow below steps. Thanks a lot and happy coding 🙏
Is the issue caused by an Extension?
Stop VS Code and from the command line (NOT the integrated terminal in Code), execute: code --disable-extensions and try your steps again to see if it reproduces. If it still reproduces, jump to the next chapter.
If you see it is an issue with the extension, please run the command Start Extension Bisect and follow the instructions to find the extension that is causing this issue.

Please report the issue to the extension causing this.
Is the issue caused by VS Code Core?
If the issue is not caused by an extension, it is maybe caused by your configuration. Try to run code --disable-extensions --user-data-dir <directory> where <directory> is an empty folder. This will ensure Code is starting with a fresh data directory, e.g. no specific settings and without any extensions running.
If it still reproduces, it was maybe fixed already in our nightly release. Please download from https://code.visualstudio.com/insiders/ and see if you can reproduce the issue.
Finally, to help us narrow down what change caused the issue, please run the following command to find the build. It will start previous releases of VS Code insiders to see where the regression was introduced:

npx --yes vscode-bisect@latest
follow the instructions until you found the offending build
report back the commit range in this issue

Thanks!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Support for Schema V3 in "module inspect", "contract show" and "transaction status".

Purpose
Add support for V3 schemas in module inspect, contract show and transaction status in Concordium Client.
Changes

Add "tagged enum" type to SchemaType and implement (de)serializing and JSON printing.
Add support for (de)serializing of bytestrings w.r.t. the updated SchemaType.
Add contract/module V3 schema datatypes.
Extend contract show and module inspect to allow for printing V3 schema information.
Extend transaction status to fetch schema from contract or use user-supplied schema and use it to deserialize events.

Checklist

[X] My code follows the style of this project.
[X] The code compiles without warnings.
[X] I have performed a self-review of the changes.
[X] I have documented my code, in particular the intent of the
hard-to-understand areas.
[X] I have updated the CHANGELOG.

Hopefully this looks alright now. I included some output here for convenience.
[contract_show.txt](https://github.com/Concordium/concordium-client/files/996
transaction_status.txt
8338/contract_show.txt)
module_inspect.txt


Different wrong autocorrect for validates_presence_of

Expected behavior
When I have on old class like this:
class Broadcast < ApplicationRecord
  validates_presence_of :broadcast_message, :channels, :recipients

and I ask rubocop to auto-correct (rubocop -A), I expected this
  validates :broadcast_message, :channels, :recipients, presence: true

Actual behavior
class Broadcast < ApplicationRecord
  validates :channels, :recipients, presence: true

Notice the first item in the list,:broadcast_message is missing.
Steps to reproduce the problem
This is extremely important! Providing us with a reliable way to reproduce
a problem will expedite its solution.
RuboCop version
% be rubocop -V
1.36.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.22.0, running on ruby 3.1.2) [x86_64-darwin21]
  - rubocop-rails 2.16.1
  - rubocop-rspec 2.13.2

Nevermind. It working. I had a belongs_to call in there.


Error building nextcloud on RPi2

I'm trying to build the nextcloud arm-hf image on my RaspberryPi 2, but I'm getting a build error:
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/armhf/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/armhf/APKINDEX.tar.gz
fetch https://nl.alpinelinux.org/alpine/edge/community/armhf/APKINDEX.tar.gz
fetch https://nl.alpinelinux.org/alpine/edge/testing/armhf/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  so:libicui18n.so.57 (missing):
    required by:
                 php7-intl-7.0.14-r4[so:libicui18n.so.57]
  so:libicuio.so.57 (missing):
    required by:
                 php7-intl-7.0.14-r4[so:libicuio.so.57]
  so:libicuuc.so.57 (missing):
    required by:
                 php7-intl-7.0.14-r4[so:libicuuc.so.57]

Any advice would be highly appreciated! I'm running on a fresh, fully updated Jessie.

nevermind, apparently some issue in the alpine image, today the issue is gone.


TimeSeriesRDD/toInstants*: avoid dtLoc overflow and colexpr error

See the following tests.

line 281 related
object run extends App {
  val conf = new SparkConf().setMaster("local").setAppName(getClass.getName)
  TimeSeriesKryoRegistrator.registerKryoClasses(conf)
  val sc = new SparkContext(conf)
  val seriesVecs = (0 until 200 by 40).map(
    x => new DenseVector((x until x + 40).map(_.toDouble).toArray))
  val labels = Array("a", "b", "c", "d", "e")
  val start = ZonedDateTime.of(2015, 4, 9, 0, 0, 0, 0, ZoneId.systemDefault())
  val index = uniform(start, 40, new DayFrequency(1))
  val rdd = sc.parallelize(labels.zip(seriesVecs.map(_.asInstanceOf[Vector])), 3)
  val tsRdd = new TimeSeriesRDD[String](index, rdd)
  tsRdd.toInstants().collect.foreach(println)
}

When the col is very large, the original getPartition will overflow

line 367 related
object run extends App {
    val conf = new SparkConf().setMaster("local").setAppName(getClass.getName)
    TimeSeriesKryoRegistrator.registerKryoClasses(conf)
    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)

    val seriesVecs = (0 until 20 by 4).map(
      x => new DenseVector((x until x + 4).map(_.toDouble).toArray))
    val labels = Array("a.1", "b.1", "c.1", "d", "e")
    val start = ZonedDateTime.of(2015, 4, 9, 0, 0, 0, 0, ZoneId.of("Z"))
    val index = uniform(start, 4, new DayFrequency(1))

    val rdd = sc.parallelize(labels.zip(seriesVecs.map(_.asInstanceOf[Vector])), 3)
    val tsRdd = new TimeSeriesRDD[String](index, rdd)

    val samplesDF = tsRdd.toInstantsDataFrame(sqlContext)
    samplesDF.printSchema()
}

If colname contains '.', the toInstantsDataFrame will now work, while building from csvs, a '.' is always included in a colname.
:christmas_tree:

Thanks for fixing these @sunheehnus.  Can you explain how the overflow occurs?

Hi @sryza , already pushed and squashed the new commit, thanks very much :-)

Hi @sryza , after a second thinking, the getPartition should not be
override def getPartition(key: Any): Int = key.asInstanceOf[(Int, _)]._1 % nPart
As it may break the repartitionAndSortWithinPartitions...
the getPartition should be the something like the original one
override def getPartition(key: Any): Int = key.asInstanceOf[(Int, _)]._1 * numPartitions / index.size

Yeah, I actually realized this too after committing your patch and did a followup commit that fixes this.


Fix link issue

& format issue (I didn't change any format but when I copy the JSON file, seems like every line was changed)


Option file saved.

There is any option to prevent image saved in 2 place?
I see that image has been saved in 2 place, 1 at Pictures and 1 at software folder.

Did you set the SaveToAlbum = false? This will prevent from saving image in two places
Also, this looks a duplicate of issue #89

Yes, I've just set SaveToAlbum = false, and It's still save in two place. I use LG G2, Android 4.4.2 to tesst.

Duplicate: https://github.com/jamesmontemagno/MediaPlugin/issues/89


Incorrect log message from  coraza v3 for CRS rule 920450

Description
The issue is same as https://github.com/SpiderLabs/ModSecurity/issues/2423.
For CRS rule 920450 https://github.com/coreruleset/coreruleset/blob/v4.0/dev/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf#L1137, the MATCHED_VAR in log is wrong.
Steps to reproduce
run golang program below
package main

import (
    "fmt"
    "log"
    "net/http"
    "os"
    "strings"

    "github.com/corazawaf/coraza/v3"
    txhttp "github.com/corazawaf/coraza/v3/http"
    "github.com/corazawaf/coraza/v3/types"
)

func exampleHandler(w http.ResponseWriter, req *http.Request) {
    w.Header().Set("Content-Type", "text/plain")
    resBody := "Hello world, transaction not disrupted."

    if body := os.Getenv("RESPONSE_BODY"); body != "" {
        resBody = body
    }

    if h := os.Getenv("RESPONSE_HEADERS"); h != "" {
        kv := strings.Split(h, ":")
        w.Header().Set(kv[0], kv[1])
    }

    // The server generates the response
    w.Write([]byte(resBody))
}

func main() {
    waf := createWAF()

    http.Handle("/", txhttp.WrapHandler(waf, txhttp.StdLogger, http.HandlerFunc(exampleHandler)))

    fmt.Println("Server is running. Listening port: 8090")

    log.Fatal(http.ListenAndServe(":8090", nil))
}

func createWAF() coraza.WAF {
    waf, err := coraza.NewWAF(
        coraza.NewWAFConfig().
            WithErrorCallback(logError).
            WithDirectives(`SecDebugLogLevel 5
SecDebugLog /dev/null
SecRuleEngine On

SecRule &TX:restricted_headers "@eq 0" \
    "id:901165,\
    phase:1,\
    pass,\
    nolog,\
    ver:'OWASP_CRS/4.0.0-rc1',\
    setvar:'tx.restricted_headers=/accept-charset/ /content-encoding/ /proxy/ /lock-token/ /content-range/ /if/'"

SecRule REQUEST_HEADERS_NAMES "@rx ^.*$" \
    "id:920450,\
    phase:1,\
    deny,\
    log,auditlog,\
    capture,\
    t:none,t:lowercase,\
    msg:'HTTP header is restricted by policy (%{MATCHED_VAR})',\
    logdata:'Restricted header detected: %{MATCHED_VAR}',\
    severity:'CRITICAL',\
    setvar:'tx.header_name_%{tx.0}=/%{tx.0}/',\
    chain"
    SecRule TX:/^header_name_/ "@within %{tx.restricted_headers}" \
        "status:437"
`),
    )
    if err != nil {
        log.Fatal(err)
    }
    return waf
}

func logError(error types.MatchedRule) {
    msg := error.ErrorLog(0)
    fmt.Printf("[logError][%s] %s", error.Rule().Severity(), msg)
}

curl the server with restricted header
curl <IP_ADDRESS>:8090 -H "proxy: 1"

Expected result
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (proxy) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (proxy)"] [data "Restricted header detected: proxy"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]

Actual result
[logError][critical] [client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (user-agent)"] [data "Restricted header detected: user-agent"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (accept)"] [data "Restricted header detected: accept"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (proxy)"] [data "Restricted header detected: proxy"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (host)"] [data "Restricted header detected: host"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg ""] [data ""] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]

Ping @M4tteoP
On Thu, 12 Jan 2023, 08:53 rmb122, @.***> wrote:

Description
The issue is same as SpiderLabs/ModSecurity#2423
https://github.com/SpiderLabs/ModSecurity/issues/2423.
For CRS rule 920450
https://github.com/coreruleset/coreruleset/blob/v4.0/dev/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf#L1137,
the MATCHED_VAR in log is wrong.
Steps to reproduce
run golang program below
package main
import (
"fmt"
"log"
"net/http"
"os"
"strings"
"github.com/corazawaf/coraza/v3"
txhttp "github.com/corazawaf/coraza/v3/http"
"github.com/corazawaf/coraza/v3/types"

)
func exampleHandler(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "text/plain")
resBody := "Hello world, transaction not disrupted."
if body := os.Getenv("RESPONSE_BODY"); body != "" {
    resBody = body
}

if h := os.Getenv("RESPONSE_HEADERS"); h != "" {
    kv := strings.Split(h, ":")
    w.Header().Set(kv[0], kv[1])
}

// The server generates the response
w.Write([]byte(resBody))

}
func main() {
waf := createWAF()
http.Handle("/", txhttp.WrapHandler(waf, txhttp.StdLogger, http.HandlerFunc(exampleHandler)))

fmt.Println("Server is running. Listening port: 8090")

log.Fatal(http.ListenAndServe(":8090", nil))

}
func createWAF() coraza.WAF {
waf, err := coraza.NewWAF(
coraza.NewWAFConfig().
WithErrorCallback(logError).
WithDirectives(SecDebugLogLevel 5SecDebugLog /dev/nullSecRuleEngine OnSecRule &TX:restricted_headers<EMAIL_ADDRESS>0" \    "id:901165,\    phase:1,\    pass,\    nolog,\    ver:'OWASP_CRS/4.0.0-rc1',\    setvar:'tx.restricted_headers=/accept-charset/ /content-encoding/ /proxy/ /lock-token/ /content-range/ /if/'"SecRule REQUEST_HEADERS_NAMES<EMAIL_ADDRESS>^.*$" \    "id:920450,\    phase:1,\    deny,\    log,auditlog,\    capture,\    t:none,t:lowercase,\    msg:'HTTP header is restricted by policy (%{MATCHED_VAR})',\    logdata:'Restricted header detected: %{MATCHED_VAR}',\    severity:'CRITICAL',\    setvar:'tx.header_name_%{tx.0}=/%{tx.0}/',\    chain"    SecRule TX:/^header_name_/<EMAIL_ADDRESS>%{tx.restricted_headers}" \        "status:437"),
)
if err != nil {
log.Fatal(err)
}
return waf
}
func logError(error types.MatchedRule) {
msg := error.ErrorLog(0)
fmt.Printf("[logError][%s] %s", error.Rule().Severity(), msg)
}
curl the server with restricted header
curl <IP_ADDRESS>:8090 -H "proxy: 1"
Expected result
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (proxy) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (proxy)"] [data "Restricted header detected: proxy"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
Actual result
[logError][critical] [client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (user-agent)"] [data "Restricted header detected: user-agent"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (accept)"] [data "Restricted header detected: accept"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (proxy)"] [data "Restricted header detected: proxy"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg "HTTP header is restricted by policy (host)"] [data "Restricted header detected: host"] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
[client "<IP_ADDRESS>"] Coraza: Warning. HTTP header is restricted by policy (user-agent) [file ""] [line "0"] [id "920450"] [rev ""] [msg ""] [data ""] [severity "critical"] [ver ""] [maturity "0"] [accuracy "0"] [hostname ""] [uri "/"] [unique_id "fmtcIalunsExuoQXkJC"]
—
Reply to this email directly, view it on GitHub
https://github.com/corazawaf/coraza/issues/570, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYAWFQUEC3GTOI5LCO4TWR6Z6XANCNFSM6AAAAAATY52VZ4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

IMHO fix should be in the rule where the msg, logdata should be moved in the chain. Should give that a try.

Ping @fzipi

Well, according to https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)#user-content-chain, metadata actions can be only in the first rule in the chain. 🤷

Well, according to https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)#user-content-chain, metadata actions can be only in the first rule in the chain. 🤷

Also note that disruptive actions, execution phases, metadata actions (id, rev, msg, tag, severity, logdata), skip, and skipAfter actions can be specified only by the chain starter rule.

I think we can change this in coraza without affecting regression. It does make sense to change metadata in different chain stages. It could be allowed for certain actions, we could even add a new group like "conditional actions" or chained actions


Use triple-quote formatting for multiline strings

For strings, []bytes containing text data, Error method output, and
String method output, use the triple-quoted syntax.
This improves readability by presenting the data more naturally
compared to a single-line quoted string with many escaped characters.

\cc @sh0rez


Celani model of chemotaxis

Implement model of chemotaxis based on the experimental chemotactic kernel of E.coli.
The theoretical model is described by Celani, A. & Vergassola, M. Bacterial strategies for chemotaxis response. Proc. Natl. Acad. Sci. USA 107, 1391–1396 (2010).
A simple implementation of the model is also described in Gosztolai, A. & Barahona, M. Cellular memory enhances bacterial chemotactic navigation in rugged environments. Commun. Phys. 3, 47 (2020).

The noisy model is obtained by combining the formulation of the original Celani-Vergassola paper with the classical molecular sensing noise formula by Berg & Purcell (also re-derived in Mora & Wingreen, Phys Rev Lett (2010).
This noise is really the uncertainty on the ligand concentration measured by receptors, so should be biologically meaningful to use it as I did in this implementation.
It could be interesting to check how the resulting noise in the gradient estimate relates to the temporal gradient-sensing noise predicted by Mora & Wingreen.

It should also be tested whether Gaussian noise in the measurements leads to a run time distribution with power-law behavior as describe by Tu & Grinstein, Phys Rev Lett (2005).

Previous comments are stuff for discussions and research; unrelated to the PR.


test upgradeability CI

What does this PR do?
Related ticket
Fixes #
Type of change

[ ] Chore
[ ] Bug fix
[ ] New feature
[ ] Documentation update

Check list

[ ] Unit tests for any smart contract change
[ ] Contracts and functions are documented

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 46.80%. Comparing base (4030bc1) to head (7da2e50).

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #803   +/-   ##
=======================================
  Coverage   46.80%   46.80%
=======================================
  Files          18       18
  Lines         391      391
  Branches       59       59
=======================================
  Hits          183      183
  Misses        205      205
  Partials        3        3

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


chore: replace recover_data with recover_polynomial_coeff

Previously when we were solely recovering cells, we need the reconstructed data/all of the cells.
Now that we only do reconstruction in order to call compute_cells_and_kzg_proofs, we can skip computing the cells and just return the polynomial that when evaluated will give you the extended blob.

Would wait for #3819 as it makes that method even simpler


Add an example sidecar calculator for functional tests

What this PR does / why we need it:
Add an example sidecar calculator for functional tests and API exercise.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cc @vladikr

/cc @iholder101

I added all vendors of the example sidecar to a separate commit, which is the second commit of this PR, so it will be easier to review.

/lgtm
Thank you!

/approve


[Timers] No sound played after the time finish

Extension – Timers
Author:

Describe the feature and the current behavior/state.
Who will benefit with this feature?
Any Other info.

Hi @Jerry080801, thanks for trying out Timers! Several audio options should be available with the extension. Is the "Selected Sound" option set in your extension preferences?

If so, this may be a bug - sorry about that. Can you try running afplay /System/Library/Sounds/Hero.aiff in Terminal, so we can see whether afplay works properly on your computer?


Create JupyterLab server LXC install script

[!NOTE]
We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.

Description
Add JupyterLab server LXC installation script to support to community helper scripts.
Fixes # (issue)
Type of change
Please check the relevant option(s):

[ ] Bug fix (non-breaking change that resolves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
[x] New script (a fully functional and thoroughly tested script or set of scripts.)

Prerequisites
The following efforts must be made for the PR to be considered. Please check when completed:

[x] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
[x] Testing performed (I have tested my changes, ensuring everything works as expected)
[ ] Documentation updated (I have updated any relevant documentation)

Additional Information (optional)
Provide any additional context or screenshots about the feature or fix here.
Related Pull Requests / Discussions
If there are other pull requests or discussions related to this change, please link them here:

Related PR #

Actually, I would have to reject it, as it is not in any of our project pipelines. I'll leave it for now, but there are some rough deviations from our scripts and the json is missing.


scripts

Signed-off-by: Kenneth Reitz<EMAIL_ADDRESS>

that would be a dumb user move :)

i think we can stick with being pretty naive

Yeah, I’m not saying the behavior is wrong, I’m asking if we want documentation a.) showing scripts usage and b.) calling out that scripts takes precedence over virtualenv binaries.


core: docstrings runnables update

Added missed docstrings. Formatted docstrings to the consistent form.

@eyurtsev Thanks! Much appreciated. It was a big review.


Run sort phase in window function execution in parallel

Summary of the changes / Why this improves CrateDB
Checklist

[x] User relevant changes are recorded in CHANGES.txt
[x] Touched code is covered by tests
[x] Documentation has been updated if necessary
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Q: select avg("adRevenue") over (partition by "cCode" order by "visitDate")
                from uservisits
C: 1
| Version |         Mean ±    Stdev |        Min |     Median |         Q3 |        Max |
|   V1    |     9454.300 ± 1228.576 |   8322.953 |   8779.062 |  10559.720 |  11726.378 |
|   V2    |     5556.533 ±  681.633 |   4843.495 |   5234.714 |   6250.360 |   7431.069 |
mean:   -  51.93%
median: -  50.58%

On a otherwise idle single node with 16 cores. With Arrays.parallelSort the speed up was between 80% - 90% on the same machine. I'd like to avoid using that because it doesn't support custom executors.
I guess we could look into adapting the method accordingly. Maybe something to follow up on.


how to use this lib with async await?

I'm only getting Network Error from all responses

@luisrudge Have you resolved this yet? I am trying the same

yeah.. I'm using something like that:
import moxios from 'moxios';

describe('test', () => {
  beforeEach(() => moxios.install(axios));
  afterEach(() => moxios.uninstall(axios));
  it('does http request', (done) => {
    axios.get('https://google.com/'); //don't await this function
    moxios.wait(async() => {
        expect(moxios.requests.count()).toBe(1);
        const request = moxios.requests.mostRecent();
        await request.respondWith({ status: 200 });
        done();
      });
  });
});

@luisrudge and @locnguyen I think this makes more sense. Call moxios.wait before the method that you want to await. Doing it this way allows us to avoid calling done():
import moxios from 'moxios';

describe('test', () => {
  beforeEach(() => moxios.install(axios));
  afterEach(() => moxios.uninstall(axios));
  it('does http request', async () => {
    const data = { whatever: 1 };
    moxios.wait(() => {
      moxios.requests.count().should.eql(1); // sorry, I use shouldjs here
      const request = moxios.requests.mostRecent();
      request.respondWith({
        status: 200,
        response: data,
      });
    });
    let result = await axios.get('https://google.com/'); //make sure this is called after moxios.wait
    result.data.whatever.should.eql(1);
  });
});

Here's how I'm doing it:
beforeEach(() => moxios.install());
afterEach(() => moxios.uninstall());

it('should work with async/await', async () => {
  makeSomeAxiosRequest();

  await respondWith(whatever);
  assert.equal(something, expectation);
});

function respondWith(response) {
  return new Promise((resolve, reject) => {
    moxios.wait(() => {
      moxios.requests.mostRecent().respondWith({
        status: 200,
        response,
      }).then(resolve, reject);
    });
  });
}

I've since switched to axios-mock-adapter. moxios was unreliable creating "Heisenbugs" in my tests that would happen intermittently. It was also quite a bit slower than axios-mock-adapter, which has been very reliable.

This works for me:
 it("axios tests", async function () {
        moxios.stubRequest("/tst/hr", {
            status: 200,
            responseText: "hey",
        });

        let callBack = sandbox.spy();
        axios.get("/tst/hr").then(callBack);

        sinon.assert.notCalled(callBack);

        await moxios.await();

        sinon.assert.calledOnce(callBack);
    });


Suggested Edits to Footer

Under Contact Us, change current text to "Email Support" and add another line with "Visit cuahsi.org"
All GitHub links (and other external links) should probably open in a new window...they currently do not.

@jtpollak Luckily this is all inside the content management system and doesn't require a code change. As such, this has been updated on https://beta.hydroshare.org. If it looks good let me know and I'll make the edits on production as well.

Looks good! thanks @aphelionz

@jtpollak Updates have been made to production. Verify and close, please


Feature/to upper

What does this pull request do?
adds a method to convert any lowercase characters in the string to uppercase
How do I test this?
Test by running
    npm test

Additional Comments / Context

Coverage remained the same at 100.0% when pulling 1046aa518f0f8284eb82ff0a9cdb183c28027a86 on feature/to-upper into fb2f8b03e8c735c1bbbc6cba939eda47bcc7b47a on master.


Support package usage with Vite

Describe the feature
Hey, I'm trying to use this package with nuxt3 but it feels like it doesn't work whenever I'm trying to do this
// nuxt.config.js
modules: [
  '@dargmuesli/nuxt-cookie-control'
],
cookieControl: {
  // typed module options
}

the typing is not recognized in this case
but in this case, it's recognized
// nuxt.config.js
modules: [
  ['@dargmuesli/nuxt-cookie-control', {
    // untyped module options
  }]
]

and in default.vue (my default layout)
<template>
  <CookieControl locale="en" />
</template>

<script setup lang="ts">
const {
  cookiesEnabled,
  cookiesEnabledIds,
  isConsentGiven,
  isModalActive,
  moduleOptions,
} = useCookieControl()
</script>

the component  and the composable is not recognized maybe I'm missing some import ?
Here's my package.json
{
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview"
  },
  "devDependencies": {
    "@dargmuesli/nuxt-cookie-control": "^6.4.5",
    "@nuxt/content": "^2.6.0",
    "@nuxt/image-edge": "^1.0.0-rc.1-28143901.afe4120",
    "@nuxtjs/tailwindcss": "^6.7.2",
    "@tailwindcss/typography": "^0.5.9",
    "@types/rss": "^0.0.30",
    "nuxt-simple-robots": "^3.0.2",
    "nuxt-simple-sitemap": "^3.0.9",
    "prettier": "^2.8.8",
    "rss": "^1.2.2",
    "vue-disqus": "^5.1.0",
    "vue-social-sharing": "^4.0.0-alpha4"
  },
  "dependencies": {
    "@gtm-support/vue-gtm": "^2.2.0",
    "@headlessui/vue": "^1.7.14",
    "@heroicons/vue": "^2.0.18",
    "nuxt": "^3.6.2"
  }
}

I'm using with vite not webback
node: 16.14.0
Any suggestion? Maybe I'm missing something
Additional information

[x] Would you be willing to help implement this feature?

Final checks

[X] Check existing discussions and issues.

Hey, thank you for creating this issue. To verify that there is an actual issue, please use stackblitz.com to recreate the project as you're describing it here so it's done once and not by everyone who tries to debug the issue separately.
Regarding your issue: make sure to run a nuxi upgrade (or delete the lockfile and node_modules and reinstall all dependencies).

no worry, I didn't knew but I discover nuxt prepare who regenerate typescript file so the module is now discovered


have you done experiments on the NYU or KITTI depth completion datasets?

I am very interested in the FCSPN structure you proposed, and want to compare this method with several mainstream depth completion methods. So please tell me if you have done experiments on the NYU or KITTI dataset
我对您提出的FCSPN结构非常感兴趣，想对比一下这个方法和几个主流深度补全方法。所以请教一下您是否在NYU或者KITTI数据集上做过实验

我们由于workshop提供写作论文的时间非常有限，没有能在NYU或者KITTI数据集上做实验，欢迎尝试！


Alignment fine during training, but fails at test

I have been working on TTS for several months now, and my (20+ hour) dataset is driving me crazy.  At training time, keithito/tacotron and Rayhane-mamah/Tacotron2 are able to align fine, but when I switch to pure inference (with of course, no teacher forcing) the alignment of the final utterance becomes wishy washy and the wav is completely unintelligible.
Does anyone else have this problem?  Maybe only for certain models or datasets, or early in the process?
I have made half-hearted attempts to compensate for what I guess is a difficult dataset: VAE, GST, and forced manual alignments at test and train.  Nothing has worked yet, so I mostly just wanted to share my frustration here in case this sounds familiar to anyone.
The most obviously difficult part of my dataset is the prosody -- there are silences of 0.4-4s that cannot be anticipated, hence VAE or GST.  Splitting utts to eliminate these gaps did not clearly solve the problem, but perhaps I should revisit.
Related question, does anyone actually use Teacher-Forcing and let the ratio go down to zero?  Is that a reasonable goal?  I can get down to about 0.8 (from 1.00) by lowering the learning rate, but it fails to train when any lower.

Still working on this.  There is a lot of varied prosody and emotion in my dataset that I am trying to capture.  With a VAE, I can get the teacher_forcing ratio down to 0.25 or so; I think it's possible that with an expanded model and 500k-1M iterations, I could get down to zero.
At tf_ratio=0.25, here is the alignment with 230k steps = 5 days:

And at test (no dropout, tf_ratio=0.0) where audio is basically a feed-forward hum after the first 0.5s:

My dataset surely must be similar to others who have tried e.g. multi-speaker models?  My hunch currently is that the audio output from the model is so bad (or varied) at this stage of training that it is not suitable as a query to the attention model; then, the attention layer is only able to to give a fuzzy answer.
Here are the options I am considering:

Enlarge the VAE, eliminate the extra long pauses in the dataset, and train it for a week.  Maybe it'll work. [Also add a stop token, which is clearly needed]
Expand the attention network with extra layers, or add the location-based version.  Maybe the attention network just needs to be less stressed about what audio it is receiving.
Make a separate network to predict alignment + f0, as in Google's recent "Sample Efficient" paper.  Since prosody seems to be the main stressor for attention, the spectrogram network can just be a stack of LSTM which is fed f0 + upsampled characters.  The current failure mode will then be impossible.

I'm most optimistic about (3), just because everything else that has relied on attention at test has failed on me.  But it seems like major work.

Thanks for sharing your process. If you could share the dataset (at least partially), I could comment better. Without knowing anything, it is hard to guess.
However, if you go dev-tacotron2 branch, there is forward-attention implemented. It is the easiest way to align attention. If it also wouldn't work, then I'd suggest you revise the dataset or go more researchy ideas.


Development

Coverage decreased (-0.5%) to 81.343% when pulling 39360fd36d8d15b9614f70a870975ef9e1ed1dde on development into 0681f2f501ee1a025b2b85525638bd567feac120 on master.

Coverage decreased (-0.5%) to 81.343% when pulling 39360fd36d8d15b9614f70a870975ef9e1ed1dde on development into 0681f2f501ee1a025b2b85525638bd567feac120 on master.

Coverage decreased (-0.5%) to 81.343% when pulling 1b43449d82eb1e4b71c7a6d49604050f09f66a1b on development into 0681f2f501ee1a025b2b85525638bd567feac120 on master.


Line style should be straight by default

The curves can be weird, especially on the bump chart view.

This is in fact the default.


Hide constant statepoint parameters on the statepoint parameters card

Feature description
It would be nice if there was an option to hide the statepoint parameters that are constant across all jobs in the Statepoint Parameters card. This would be especially useful in the exploration stages of a project when you add sp params that you think may change but have only initialized a subset of all possible jobs.
Proposed solution
I'm not sure how all of this works on the back end, but it's just loading a signac project somewhere, so there should be a way to call project.detect_schema(exclude_const=True) and pass that information along to wherever it needs to go.

Here's my best estimation of how this could be implemented in < 30 minutes:

Modify modules/statepoint_list.py so that the __init__ function takes another argument, exclude_const=False.
Set the boolean self.exclude_const = exclude_const and create an empty list self.variable_keys= [] in the __init__ function.
Add a registration method to the StatepointList class, def register(self, dashboard), that accesses the dashboard object, executes dashboard.project.detect_schema(exclude_const=True) and sets self.variable_keys = [...all the keys in the schema...]
Modify def get_cards(self, job) to only include variable keys, or use all keys if len(self.variable_keys) == 0. (This is just my preference -- otherwise projects with one job would have no content, which seems weird to me.)

I'm closing this issue for the same reason I closed #89.


"Highlight occurences after " will reset to 1500ms if opening a new file

From<EMAIL_ADDRESS>on 2015-01-02T02:39:42Z
Spyder Version:  2.3.1
Python Version:  2.7.8
Qt Version    :  4.8.6, PyQt4 (API v2) 4.10.4 on Windows
pyflakes >=0.5.0:  0.8.1 (OK)
pep8 >=0.6      :  1.5.7 (OK)
IPython >=0.13  :  2.2.0 (OK)
pygments >=1.6  :  1.6 (OK)
pandas >=0.13.1 :  0.14.1 (OK)
sphinx >=0.6.6  :  1.2.3 (OK)
rope >=0.9.2    :  0.9.4 (OK)
matplotlib >=1.0:  1.4.0 (OK)
sympy >=0.7.0   :  0.7.5 (OK)
pylint >=0.25   :  1.4.0 (OK)
What steps will reproduce the problem?
1.open a new file 2. 3.
What is the expected output? What do you see instead?
after opening a new file, "Highlight occurences after" will reset to 1500ms, though it still shows 100ms(as I set). If I open the settings and press ok, it will work properly again.
Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=2101

This issue is a duplicate of issue #1366


Support git -c

This would allow people to override settings on a per-command basis.
Example
$ git -c core.diff=renames -c diff.external=vimdiff env                                                                          SHELL=/bin/bash                                                                                GIT_CONFIG_PARAMETERS='core.diff=renames' 'diff.external=vimdiff'
...

We can parse GIT_CONFIG_PARAMETERS and apply the values to our config.
Whether to support git-stack -c is a different matter.

I wonder if libgit2 is reading this on our behalf

Nope, see https://github.com/libgit2/libgit2/issues/3854

delta solved this in a fairly specific way, https://github.com/dandavison/delta/commit/ba0d36cb2de1be6e8c4332d37f796393ccc07b15

Oh, looks like they had to change it again: https://github.com/dandavison/delta/pull/573

https://github.com/crate-ci/git-config-env


Ecs update task definitions import to greatly improve sync speed

See https://github.com/lyft/cartography/issues/1126
This PR accomplishes the following:
Updates the process to only import the actively used task definitions by parsing the tasks list for the taskDefinitionArn instead of ingesting all task definitions. This reduced time required to sync ECS with more than 50 clusters from nearly 2 hours to 1 minute.
Creating a relationship between the task definition and the task that definition is used by
Updates the tests for importing task definitions

Integration tests currently fail with an attribute error if all tests are run. If only test_load_ecs_task_definitions or test_load_ecs_tasks are run independently they pass, but if run sequentially, they fail. Troubleshooting.

@ryan-lane - I think you have context on ECS, can you take a look if you have a chance?

The test failure occurs before the database write, so deleting the nodes isn't going to help. It occurs when trying to parse the task data for the second time. I think the solution we have now is probably the best option given the current configuration as the use case for running a single test on its own is limited.

Are there task definitions that are defined but not used because they're AWS defined tasks or something?

They are previous versions that are no longer being used. When you push a new deployment, with a changed docker tag, for example, it creates a new task definition and changes that to the current one. The previous ones are not removed by default so you can end up with hundreds or more unused definitions.

Ah, gotcha. That makes sense! Seems to good to me.
On Sat, Feb 25, 2023, 2:03 AM tmsteere @.***> wrote:

They are previous versions that are no longer being used. When you push a
new deployment, with a changed docker tag, for example, it creates a new
task definition and changes that to the current one. The previous ones are
not removed by default so you can end up with hundreds or more unused
definitions.
—
Reply to this email directly, view it on GitHub
https://github.com/lyft/cartography/pull/1127#issuecomment-1444035267,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALXSMV4BNNOBPDWDWMVLO3WZDSVVANCNFSM6AAAAAAVEWRE4I
.
You are receiving this because you were mentioned.Message ID:
@.***>


Zeros can be negative in vectors

Godot version:
3.2.3 stable and 3.2.4 beta 2
OS/device including version:
Windows 10
Issue description:
Zeros can be negative in vectors.
(This is probably a non-issue, so feel free to close this if it has no affect on anything)
(However, see #43407 where it apparently did cause a problem)
Steps to reproduce:
	print("0 * -1:", "\n", 0 * -1, "\n")
	print("Vector2.ZERO * -1:", "\n", Vector2.ZERO * -1, "\n")
	print("Vector3.ZERO * -1:", "\n", Vector3.ZERO * -1, "\n")

prints:
0 * -1:
0

Vector2.ZERO * -1:
(-0, -0)

Vector3.ZERO * -1:
(-0, -0, -0)

Minimal reproduction project:
N/A

Negative zeros are normal and part of the IEE 754 standard for floating point representation: https://en.wikipedia.org/wiki/Signed_zero
The difference you see between printing a scalar and a vector is only because your scalar test using integers (in which 0 * -1 == 0, there's no signed zero representation there. Vectors are floating-point, hence the difference.
Try this code:
var zero = 0.0 * -1
print(zero)  # -0
print(1 / zero)  # -inf


update qq-nt

I got a warning of scoop,

WARN  Error parsing JSON at pathto:\Scoop\buckets\scoopet\bucket\qq-nt.json.

comments in the json is not available here


TASK: Apply migrations and raise constraint for Neos 8

@lcherpit @dfeyer Can we get this merged?

@dlubitz  Yes we can, it's on my todo list for this week. Sorry for the long silence

https://packagist.org/packages/ttree/map 5.0.1 just release, thanks @ru3fu5z and @dlubitz for the contributions


add transcribe helper

Adds helpers to make deployment using vm.getCode easier. At some point I would like to add a third overload where you can specify the address that the contract will be deployed at, but I think this will require some extra functionality to make constructors work properly.

also tests are failing - not entirely sure why... if we fix up tests & change name will merge. ty for ur pr ser

It should be good to go. The tests failing must have been a fluke since I just set up the workflow to run on my fork and its working fine now.


'avod' cannot be imported when running setup.py

When running setup.py, the 'import avod' cannot run correctly. I think one more line code like 'sys.path.append(path/to/TLNet)' should be added.

Thank you so much! We'll fix this bug


Chrome - focus outline

I'm getting a focus box after mouse clicking on navigation and item titles. It should only be visible when interacting the site via keyboard tab.

@xinyil This isn't an easy ask. The outline is the active state that is applied after a link or tab press, and that behavior can vary between browsers. Here's a pretty extensive article on the issue: http://kizu.ru/en/blog/keyboard-only-focus/

The blue outline is visible for accessibility reasons. When you click on the element, the keyboard focus will also move to that element.

Yes for accessibility.
Element should have the focus outline when it is TABBED; when it is CLICKED there shouldn't be a focus outline.
But it's one of those not crucial issues, so it's ok if we don't have time to fix. @rlskoeser could weigh in if we'd improve on this?
another possible reference:
https://stackoverflow.com/questions/32046375/why-pseudo-element-focus-on-button-when-using-tab-but-not-click

If I'm understanding correctly, the browser treats these as the same thing (both trigger focus state) and there's no easy or reliable way to differentiate the styles for tabbed focus vs click focus.  (Thanks for the links to help clarify this.)
I don't think we should spend more time on it at this point.


check ledger for rev reg delta evidence of cred revocation

Signed-off-by: sklump<EMAIL_ADDRESS>

Codecov Report

Merging #735 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #735   +/-   ##
=======================================
  Coverage   99.01%   99.01%
=======================================
  Files         256      256
  Lines       13922    13957   +35
=======================================
+ Hits        13785    13820   +35
  Misses        137      137


TOH-6 Examples 'BAD FILENAME:' Problem

In 6th tutorial add, delete, edit section code examples has error like this:
BAD FILENAME: ../../../_fragments/toh-6/ts/app/hero.service-post.ts.md   Current path: docs,ts,latest,tutorial,toh-pt6 PathToDocs: ../../../

closing since this was rewritten with the CLI


"Change" event to subscribe to so extension pages can update each other

I'm interested in migrating over to this from https://github.com/tshaddix/webext-redux but I need something that lets me subscribe to changes to stored data when they are set from other parts of the extension.
Would this be something that can be added, theoretically?

It's already kind of possible but there's no way to find what changed exactly:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/onChanged
chrome.storage.onChanged.addListener(async (changes, area) => {
	if (!changes.options || area !== 'sync') {
		return;
	}

	console.log('the options were updated', await optionsSync.getAll())
});

At a minimum I can export a method that lets you manually parse the zipped changes.options.oldValue string so you can access it and diff it yourself. That would be an easy feature.
Adding a optionsStora.onChange event would be a bit more involved, but I'd accept a PR too, as long as reasonable in size.

Oh actually the decode is already exported:
chrome.storage.onChanged.addListener((changes, area) => {
	if (!changes.options || area !== 'sync') {
		return;
	}

	const old = optionsStorage._decode(changes.options.oldValue);
	const new = optionsStorage._decode(changes.options.newValue);
	// Run your own diffing

});


Typing effect on "Educate to Elevate" ""Each One Feed One" "storynama"

I would like to emphasize the the heading "Educate to Elevate" ""Each One Feed One" "storynama" by adding a typing effect on the word  using javascript. It would enhance the look and feel of the header section.
Please assign me this issue under the label GSSOC'21
I would like to contribute to it.

I have shown a demo of what I will be doing in the above attached GIF
Please assign me @himanshu007-creator , @divyashukla23.

hi @bitaashna , are you still active, this issue can be assigned to you if you say so

not needed. Thanks, please look into other open issues :)


allow for columns to not specify a type

Sqlite3 allows columns to not specify a type. Currently this code
doesn't try to parse out types (as sqlite is dynamicly typed on column
data) so we don't need to handle that.
https://sqlite.org/lang_createtable.html

I haven't isolated an entire blank/empty safari history file (mine has some web history), but I re-created a partial which still exposes this edge case.
$ sqlite3 testdata/safari-partial.sqlite
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> .schema
CREATE TABLE metadata (key TEXT NOT NULL UNIQUE, value);


Refactor namespace token commands to match plugin

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #113

PR #99

PR #102

PR #103

PR #111

PR #147
PR #143

PR #117

PR #118

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #113

PR #99

PR #102

PR #103

PR #111

PR #147
PR #143

PR #117

PR #118

Merge activity

Dec 24, 12:12 AM: @@NathanFlurry started a stack merge that includes this pull request via Graphite.


Grpc error logs contain the entire certificate

And perhaps blobs? This could make problem considerably worse in case of a timeout for another reason.

2024-10-30T13:38:05.406290Z ERROR handle_certificate{nickname="Shard 0 @ <IP_ADDRESS>:19100" chain_id=Some(06902ecacd2d7330) request=Request { metadata: MetadataMap { headers: {"te": "trailers", "content-type": "application/grpc", "user-agent": "tonic/0.11.0"} }, message: HandleCertificateRequest { chain_id: Some(ChainId { bytes: [6, 144, 46, 202, 205, 45, 115, 48, 129, 237, 28, 199, 58, 230, 69, 3, 178, 201, 219, 129, 113, 213, 251, 161, 225, 52, 190, 203, 205, 76, 12, 8] }), wait_for_outgoing_messages: false, blobs: [0, 0, 0, 0, 0, 0, 0, 0], certificate: Some(Certificate { value: [1, 0, 0, 0, 6, 144, 46, 202, 205, 45, 115, 48, 129, 237, 28, 199, 58, 230, 69, 3, 178, 201, 219, 129, 113, 213, 251, 161, 225, 52, 190, 203, 205, 76, 12, 8, 12, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 94, 100, 141, 229, 85, 132, 138, 104, 72, 98, 103, 19, 181, 196, 166, 144, 249, 244, 201, 183, 78, 75, 170, 214, 185, 52, 153, 75, 243, 205, 7, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 91, 255, 96, 200, 177, 37, 6, 0, 110, 174, 200, 166, 11, 185, 147, 242, 160, 5, 142, 62, 88, 201, 123, 151, 102, 59, 152, 238, 143, 44, 241, 85, 95, 98, 10, 224, 189, 159, 70, 149, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 71, 112, 180, 64, 252, 208, 63, 46, 225, 7, 136, 96, 131, 217, 60, 126 ...

Blobs shouldn't print all the bytes https://github.com/linera-io/linera-protocol/blob/main/linera-base/src/data_types.rs#L978
I can take a look at Certificate tomorrow and do something similar

Blobs shouldn't print all the bytes https://github.com/linera-io/linera-protocol/blob/main/linera-base/src/data_types.rs#L978 I can take a look at Certificate tomorrow and do something similar

I believe what's serialized is the GRPC request (data structure generated by protoc)

@andresilva91 The easiest way for now is probably to add something like skip(request) in the #instrument line. This task is about reviewing the GRPC code to make sure we don't have this issue in other places.


Replace deprecated hashicorp/template provider

The hashicorp/template provider is now deprecated - https://github.com/hashicorp/terraform-provider-template/issues/85.
In addition, at version 2.2.0 (latest) there is no pre-compiled version compatible with ARM as used on M1 macs. This makes it difficult to terraform init projects using this EKS provider. 😢
We should replace it with something else, maybe the templatefile terraform function could be a simple alternative (available since tf 0.12 I think?).

I propose this be handled as part of the 1.21 release???

According to the documentation on hashicorp/template provider, the suggestion is to use templatefile: https://registry.terraform.io/providers/hashicorp/template/latest/docs#deprecation


Long text render issues

Hello
I have faced render issues when the long text should be displayed
Instead of showing actual text, the black screen is being rendered (wordWrapWidth was predifined).
Is there a way to fix it ?

@AndriyShpyra What's the size of text block you're mentioning? Can you provide code snippet? Also, what platform are you running Lightning on?

Size of text block   depends on the response from an api, it can be around 600 000 symbols.
class TextDemo extends lng.Application {     _init() {         this.patch({             x: 50,             y: 50,             Text: {                 text: {                     wordWrapWidth: 600,                     textColor: 0xffff00ff,                     fontSize: 36,                     text: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Cursus turpis massa tincidunt dui ut ornare lectus sit amet. Augue ut lectus arcu bibendum at varius vel pharetra vel. Amet mattis vulputate enim nulla aliquet. Ac turpis egestas integer eget aliquet. Potenti nullam ac tortor vitae purus faucibus. Duis ut diam quam nulla. Posuere lorem ipsum dolor sit. Faucibus ornare suspendisse sed nisi. Scelerisque felis imperdiet proin fermentum leo vel orci. Faucibus in ornare quam viverra orci .....and a lot more tex}
}
})
}
}
const options = {stage: {w: window.innerWidth, h: window.innerHeight, useImageWorker: false}};
const app = new TextDemo(options);
document.body.appendChild(app.stage.getCanvas());`

Probably you hit the max texture size and the texture will not be rendered, a valid solution would to split the text up in chunks and use some form of pagination

@AndriyShpyra  Can we close the ticket?

We actually could try solving it on Lightning's end, for example by doing text chunking text into smaller pieces and composing several textures. This could be increasingly a problem, because different platforms have different GL capabilities and code that works on desktop browser or even existing low end platforms would break when hitting target platform.

Good suggestion, but what are we going to do after all the textures are created? We would end up with a batch of textures and only one them would be visible. We then need to offer additional functionality to display one after the other, and the question is if it will match the expectation.

Thanks for help!
It would be cool if such functionality was added to Lightning

I analysed the possibilities and unfortunately creating complex text component would not be a good idea.
For one, many developers are used to current way of representing text via texture and introducing different way (e.g. text element) would introduce unnecessary confusion.
Additionally, it would probably take some time before such element would become stable and bug free and at this point and is good candidate for next major release but not as a feature for current one.
And to answer your initial question, to avoid such bugs from occuring it is recommended to create textures that do not exceed viewport dimensions.


Code outline not work well for golang

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.56.2
OS Version: Darwin x64 19.6.0

Steps to Reproduce:

Create two golang files in a golang pkg, define MyT struct and func1 method in f1.go, and then define func2 method in f2.go.

Focus on f1.go, func2 cannot be seen in the outline.

In fact, whether focus on f1.go or f2.go, MyT struct, func1 and func2 should be visible in the outline.

In fact, whether focus on f1.go or f2.go, MyT struct, func1 and func2 should be visible in the outline.

Outline is designed to work with the currently selected editor, it is not designed to working with multiple editor simultaneously


Add onnx export

This fixes #71
I used this command with InpaintingModel_best_gen.pth weight and config_ZITS_places2.yml file
python single_image_test.py --checkpoints ./checkpoints/ --config_file config_list/config_ZITS_places2.yml --onnx --save_path ./

and placed these weights StructureUpsampling.pth and best_transformer_places2.pth inside ckpt folder
There are some errors in ONNX export function though, can you help me to understand these errors?
BaseInpaintingTrainingModule init called
Loading InpaintingModel StructureUpsampling...
Loading trained transformer...
Loading InpaintingModel generator...
Warnning: There is no previous optimizer found. An initialized optimizer will be used.
Warnning: There is no previous optimizer found. An initialized optimizer will be used.
Traceback (most recent call last):
  File "/home/ZITS_inpainting/single_image_test.py", line 356, in <module>
    export_onnx(model, args.save_path)
  File "/home/ZITS_inpainting/single_image_test.py", line 297, in export_onnx
    torch.onnx.export(model,         # model being run
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 506, in export
    _export(
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 1525, in _export
    with exporter_context(model, training, verbose):
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 178, in exporter_context
    with select_model_mode_for_export(
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 139, in disable_apex_o2_state_d
ict_hook
    for module in model.modules():
AttributeError: 'ZITS' object has no attribute 'modules'

Hi, because 'ZITS' object is not a subclass of 'nn.Module'. All models are defined within 'ZITS.inpaint_model', where you can find our str_encoder, generator, structure_upsample, and transformer. You may need export these as ONNX format. Besides, our forward process of these submodels can be found in 'test' function of  'single_image_test.py'.

This fixes #71
I used this command with InpaintingModel_best_gen.pth weight and config_ZITS_places2.yml file
python single_image_test.py --checkpoints ./checkpoints/ --config_file config_list/config_ZITS_places2.yml --onnx --save_path ./

and placed these weights StructureUpsampling.pth and best_transformer_places2.pth inside ckpt folder
There are some errors in ONNX export function though, can you help me to understand these errors?
BaseInpaintingTrainingModule init called
Loading InpaintingModel StructureUpsampling...
Loading trained transformer...
Loading InpaintingModel generator...
Warnning: There is no previous optimizer found. An initialized optimizer will be used.
Warnning: There is no previous optimizer found. An initialized optimizer will be used.
Traceback (most recent call last):
  File "/home/ZITS_inpainting/single_image_test.py", line 356, in <module>
    export_onnx(model, args.save_path)
  File "/home/ZITS_inpainting/single_image_test.py", line 297, in export_onnx
    torch.onnx.export(model,         # model being run
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 506, in export
    _export(
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 1525, in _export
    with exporter_context(model, training, verbose):
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 178, in exporter_context
    with select_model_mode_for_export(
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/.local/lib/python3.10/site-packages/torch/onnx/utils.py", line 139, in disable_apex_o2_state_d
ict_hook
    for module in model.modules():
AttributeError: 'ZITS' object has no attribute 'modules'

perhaps can't. you succeed in converting the models？somemodule may fail


Provisioning fixes

[x] better logging of responses
[x] maybeCancelProvision used to submit a cancel and wait, but now it'll nav you all the way back
[x] better logging when initial provision call finishes, marking singleton as done
[x] final error page is always layered on top of root and not appended to so clicking back puts you back to the right place
[x] use better cancel method. fixes clicking back on paperkey screen not exiting login flow

@keybase/react-hackers @cjb @patrickxb


contributing-go.md: replace images by just header ?

I dont think the images here are particularly informative:
https://github.com/geneontology/go-docs/blob/master/docs/_docs/contributing-go.md

Never mind I was not looking at the right thing.
The links on this page are broken, I think Suzi mentioned that.
Thanks, Pascale

Nop, they are not, you can test them here: http://test-gosite.s3-website-us-west-1.amazonaws.com/docs/contributing-to-go/
They just appear broken on the GH preview of the page and it's related to my yesterday email on renaming this repo (or copying it) to geneontology.github.io repo. Once we have transfer to that repo, you will be able to see your live modifications on http://geneontology.github.io (which contains an old and unused mockup)

Removed images


Raw bit generator sampling

Description
The issue observed in #568 appears to be because rng.random() (to get a random float) is faster than rng.integers(). It's been suggested that this is because random() is a pure C call while integers() has some Python logic as well. In the test case noted by @cliffckerr the simple model runtime is dominated by the transmission portion of the calculation and this difference is big enough to provide a noticeable difference in runtime.
@daniel-klein had suggested a while ago that maybe we could just use the numpy bit generator directly to get the random integers we need. I've implemented this in a new Dist, rand_uint64,  that calls bitgen.random_raw to get the uint64 array of random integers that is then passed to combine_rands. We're already asking users who want to use combine_rands to create Dist instances with integers even though the final random number is going to be a float, so they have to view the setup as an integrated package (with integer Dists and combine_rands) so I don't think it's too onerous (and in fact, maybe a bit simpler/clearer) to just say rand_uint64 provides inputs for use with combine_rands (could potentially give it a better name).
Performance is a little bit tricky because the current main branch has had other optimizations in the meantime. Running @cliffckerr 's test script from #568 gives

Old main (43249e3): 733 ms ± 3.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
combine_rands (4689698): 10% slower (810 ms ± 6.61 ms per loop (mean ± std. dev. of 7 runs, 1 loop each))
main (4e0bcfc): 12% faster (641 ms ± 15.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each))
test_raw_rng: 20% faster (582 ms ± 4.67 ms per loop (mean ± std. dev. of 7 runs, 1 loop each))

So overall test_raw_rng has higher performance than the old main branch where combine_rands had worse performance. The impact of this issue depends on what proportion of time in a model is spent calculating transmission, so for a complex model like STIsim, it makes almost no difference to the runtime because so much time is spent on other parts of the model).
Not sure about whether it's worth the added complexity of a separate integer generator just for this purpose, but on the other hand, the performance is better and it solves #568, so opening this PR for comment/review
Checklist

[ ] Code commented & docstrings added
[ ] New tests were needed and have been added
[ ] A new version number was needed & changelog has been updated
[ ] A new PyPI version needs to be released

Thanks @RomeshA, this looks amazing. I saw the random_raw as well, but at that point was convinced that we needed signed integers. In response to your comment on the paper, I've done a bit more archeology and no longer see an advantage either way.

Ut oh! Just ran a small test and it seems to produce highly biased results. Need to do some more investigation, but please do not merge yet!

@daniel-klein Weird! It looked fine with Cliff's 2D histogram tests, and a reduced run of explore_tx_correlation.py also seemed OK - what was the script that produced those biased results?

@RomeshA https://github.com/starsimhub/crn_paper/blob/main/explore_erdosrenyinet.py

I'm wondering if it's related to this warning in the random_raw documentation:
This method directly exposes the raw underlying pseudo-random number generator. All values are returned as unsigned 64-bit values irrespective of the number of bits produced by the PRNG.

For the failing test, I'm using the default Mersenne Twister.

Ah yes, that's probably it. From the Mersenne Twister (MT19937) docs:
The [MT19937](https://numpy.org/doc/stable/reference/random/bit_generators/mt19937.html#numpy.random.MT19937) state vector consists of a 624-element array of 32-bit unsigned integers plus a single integer value between 0 and 624 that indexes the current position within the main array.

Let me try with a different Generator

"The PCG64DXSM state vector consists of 2 unsigned 128-bit values, which are represented externally as Python ints."
Not sure how well this will work, might just be inefficient to return as uint64, but running test now.

Yay, all good with PCG64DXSM. I can fix _centralized with something like the following
np.random.mtrand._rand.randint(low=0, high=np.iinfo(np.uint64).max, dtype=np.uint64, size=n)

Great, thanks for looking into that @daniel-klein !


dbeaver/pro#2334 Highlighting, validation, outline for INSERT, UPDATE, DELETE

Now we support INSERT, UPDATE and DELETE in Outline

verified


Did Screen Capture Protection end the preview without being generally available?

In this commit, the description about the preview was deleted, but was the function itself deleted?
https://github.com/MicrosoftDocs/azure-docs/commit/3d595f8bd3bcf23b720c356c79ba25af4e5b250a#diff-1a2e7d8b8d53f6c706f269550872e67aa1f74ca44bc8c711a8e805f1e08c1918

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

ID: e2978f80-ead7-9d5b-3723-6b6011ef6458
Version Independent ID: a881ce9a-2900-7ca4-38a1-73244ecb78c0
Content: Azure Virtual Desktop security best practices - Azure
Content Source: articles/virtual-desktop/security-guide.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@micachi  Thanks for the question! We are investigating and will update you shortly.

https://docs.microsoft.com/en-us/azure/virtual-desktop/screen-capture-protection
I have confirmed that the official version of the documentation is here. I will close the PR.
thank you.


Storage space for intermediate datasets from tutorials on Qhub

Where to store intermediate datasets created by users working through tutorials on Qhub?
What follows is the start of the conversation from MS Teams (select and shortened responses):
@alaws-USGS: Where we were going to have users store intermediate data on the S3 bucket?
@amsnyder: what are the intermediates though? The files I can think of in the pipeline are the two I mentioned, the output scorecard results and maybe some visualizations if we wanted to save them somewhere
@thodson-usgs: users would need write access for the s3 then? maybe the server fs is a better scratch space
@alaws-USGS: Data would be data such as CONUS404 or NWM clipped to an AOI or reference data (vector and raster) clipped to an AOI to be used between notebooks
@thodson-usgs: yeah, use the server fs and we'll explore other options when needed
@amsnyder: if it's really big and that's a problem, then we consider doing the processing for the user (for all spatial units at the needed level) and sticking the output on S3. Being done on HPC?
@alaws-USGS: QHUB
@amsnyder: can you try it out and see if you can write to your filespace there?

I think so long as you write to relative paths you'll be fine, e.g. '~/project_data/'
or else set the appropriate root workspace as an environment variable depending on the server

@thodson-usgs, that would be a good note to add in the notebook but I think we need a definitive spot for those on hytest to use.

specific to tutorial/learning objectives -- I'm doing a quick explainer on re-chunking... would like to have the learner write a (large) re-chunked dataset someplace temporary as part of the learning objectives of the tutorial.
Currently, I am mimicing an NCAR notebook, reading data from s3://noaa-nwm-retrospective-2-1-zarr-pds/chrtout.zarr.  The output dataset will be restricted to about 7k feature_id's, but still sizeable.  Where is the right place for me to write that data... it won't persist 24hours, I expect.

So the hope is that we have some consolidated space for the user to write these files to. Then we would clear that space on some kind of schedule and tell the user they need to download a copy to another space if they want to maintain it long-term. Is this what we are hoping for?

We do not have a good setup for this right now. The S3 space we have requires credentials to write to, and we can't just share the current credentials with every user. We could look into having a publicly writeable space...but perhaps the AWS storage pod that's coming in a few months is our solution? How much of a blocker is it to get the answer to this question now? Can you write locally and we swap out that line of code once we find a location?

specific to tutorial/learning objectives -- I'm doing a quick explainer on re-chunking... would like to have the learner write a (large) re-chunked dataset someplace temporary as part of the learning objectives of the tutorial.
Currently, I am mimicing an NCAR notebook, reading data from s3://noaa-nwm-retrospective-2-1-zarr-pds/chrtout.zarr. The output dataset will be restricted to about 7k feature_id's, but still sizeable. Where is the right place for me to write that data... it won't persist 24hours, I expect.

maybe a separate topic, but would the notebooks on ERA5 rechunking help Gene @gzt5142? These haven't been moved over yet to hytest-org but @rsignell-usgs had some work in here on ERA5 pull and rechunking. Might be helpful for writing tutorial?

Can you write to the space where the notebook is for now and we swap out that line of code once we find a location?

Yes.  Easy.
from a tutorials/learning perspective, it would be ideal (but perhaps not realistic) to mimic what the real-world workflow looks like, in terms of the storage mechanism.... if real-world is to write to S3 somewhere, the tutorial should also (but very likely a different bucket). That can come later... can write to local file system in the mean while.
So... I am taking 'locally' to mean writing to the filesystem on QHub. Is that right?

Right! for now just write to wherever you're running the notebook on QHub. @rsignell-usgs and I can discuss other more permanent solutions when he is back. Maybe it is our storage pod, or maybe we need a publicly-writeable S3 bucket that we wipe on some schedule.

As for options for users, this is a bigger discussion perhaps. Maybe we have :
scratch to intermediate [some name here]: (cleared every week)

viz, scorecards pdfs, or any panel type html exports for sharing with others unable to run notebooks.
AOI clips of data (AOI is more specific to user so maybe its in scratch until user moves it?). If we can direct a user to the 'vetted' clips of data first that might eliminate duplicate AOI clips. This probably needs further thought.

intermediate-longterm [some name here]:

raws (data that needed to be stored in order to rechunk/optimize storage, if needed?)
rechunks (i.e., data that was cloud-optimized using some chunking scheme)
vetted aggregations of rechunked data (i.e., HUC12, Critical basins: DRB, Upper Colorado river basin, Illinois river basin)

@amsnyder and @rsignell-usgs, have you had an opportunity to discuss the publicly writeable S3 bucket as mentioned above? The WIM F&E work could be using the space as of now and will definitely need this in a week or two.
@sfoks, I think your divisions of storage solutions are spot on.

No we have not discussed yet - in my mind this was fairly low priority because it isn't blocking any work from being done (because you can just save files to whatever system you are working on). Am I missing any information that would bump up the priority of this?

@amsnyder, with doing the work on QHub, the intermedia xarray datasets may be too large to write to the ESIP QHub workspace. I will try to and let you know for sure. I will also try the S3 bucket mentioned above.

No we have not discussed yet - in my mind this was fairly low priority because it isn't blocking any work from being done (because you can just save files to whatever system you are working on). Am I missing any information that would bump up the priority of this?

It's not a high priority from my perspective... although it is causing me to table a task that I'm almost done with.  It came up for me this morning as I was working via some dask workers who need to write out data -- and S3 is where kubernetes workers can write (they can't see the local file system on ESIP/QHub).

@gzt5142, would you link to the relevant NCAR notebook here? I'm trying to understand the use case better.

s3://nhgf-development/workspace/ is not publicly writeable. I can share the credentials to write there with @alaws-USGS and @gzt5142 as an intermediate solution, but it is not a solution for our users. Let me know if you would like those credentials for now.
@rsignell-usgs - can the Open Storage Network Pod have a publicly writeable location that our users could write to, and we wipe out on some schedule? Do you have a time estimate of when that comes online? I think it was later this year?

@gzt5142, would you link to the relevant NCAR notebook here? I'm trying to understand the use case better. Or your notebook, whichever you think would be more informative.

https://jupyter.qhub.esipfed.org/hub/user-redirect/lab/tree/shared/users/gzt5142/hytest-workbook/L2/Pre/ReChunkingData_Cloud.ipynb
This is a cloud-focused extension to the re-chunking demo/tutorial at
https://jupyter.qhub.esipfed.org/hub/user-redirect/lab/tree/shared/users/gzt5142/hytest-workbook/L2/Pre/ReChunkingData.ipynb

s3://nhgf-development/workspace/ is not publicly writeable. I can share the credentials to write there with @alaws-USGS and @gzt5142 as an intermediate solution, but it is not a solution for our users. Let me know if you would like those credentials for now.

@rsignell-usgs - can the Open Storage Network Pod have a publicly writeable location that our users could write to, and we wipe out on some schedule? Do you have a time estimate of when that comes online? I think it was later this year?

Yes, we could have a writable bucket for our users on the OSN pod that we could wipe on a schedule, but you still need credentials to write to any bucket.   So I'm not sure why the same approach wouldn't work for our users with s3://nhgf-development/workspace (or some other CHS bucket)
The $$ for the OSN pod arrived at WHOI on Friday, one day after the quote for the OSN pod expired.   So we are getting a new quote.

Ok here's what I'm thinking as a long-term solution:

When the OSN pod arrives, we set up a scratch bucket that will be wiped out on some schedule.
We create a set of keys to share with our users and give them write access to the scratch bucket.
We will set up a USGS QHub and put the public write keys in a location that is accessible to all users and provide instructions for a user to copy these credentials, just like esip-qhub is doing.

This will allow any USGS employee to use our workflows on the cloud. For any external user that wants to use our workflows on the cloud, we expect them to set up their own user credentials and scratch bucket for writing.
In the meantime, we will tell any user that wants to use our workflows to set up their own bucket and credentials using their project funds.
Does this seem reasonable?

@amsnyder, sounds like a good plan to me :)

It's not a high priority from my perspective... although it is causing me to table a task that I'm almost done with. It came up for me this morning as I was working via some dask workers who need to write out data -- and S3 is where kubernetes workers can write (they can't see the local file system on ESIP/QHub).

For writing to QHub, I was going to see if some of the built-in impletentations from fsspec would allow us to interface with it. I'm thinking that either fsspec.implementations.jupyter.JupyterFileSystem or fsspec.implementations.dask.DaskWorkerFileSystem might work documentation

I'm slow, this a Rechunker discussion?
@amsnyder, what region is the source data in? It should be the same as the OSN pod, right?
Also consider:

In general, the demo notebook will clean up the intermediate bucket after rechuncker executes.
chron job that wipes old files from the bucket

2 alone is safe and sufficient, but consider 1 as "best practice " for teaching purposes.

I think this is really a "how can users write to object storage" discussion, which is a key part of cloud-native workflows.
We need it for rechunking workflows, including the intermediate files.
I think Amelia's proposal is sound.

For writing to QHub, I was going to see if some of the built-in implementations from fsspec would allow us to interface with it. I'm thinking that either fsspec.implementations.jupyter.JupyterFileSystem or fsspec.implementations.dask.DaskWorkerFileSystem might work documentation

I might be misunderstanding, but I don't think we need this.   We can write to any bucket (CHS, ESIP, OSN) from anywhere as long as we have the credentials.

Good question Tim - maybe we are getting our wires crossed here. Dataset pre-processing (rechunking) which uses dask is done by HyTEST and we already have a space to write that data. A user does not need to write that data. The outputs of the model eval analysis and visualization notebooks don't need dask, so we can't we write in QHub if they are on the cloud?
There may be a very small use case for a user who is using dask and needs to write out data if they are doing a tutorial of how to rechunk data, but that is the only think I can think of. Or maybe if a user is trying to recreate our whole pipeline for a new dataset (and they are rechunking the data with dask to get it ready). Is this what we are talking about @gzt5142 and @alaws-USGS?
I think our data is in us-west-2 on AWS. @rsignell-usgs would need to answer any questions about the pod because I don't know too much about it.
And I was also thinking of a cron job to clean the bucket - so glad we are thinking the same thing!

Right, I thought the "Storage space for intermediate datasets" was primarily for the rechunking demo use case. I think we agree though, that most workflows won't require this.

The OSN pod will be physically located in western mass.    But it's on a 100GbE+ network.    And so is AWS.   So access from us-west-2 compute (ESIP qhub, USGS pangeo/qhub on AWS) is actually very speedy (at least it was in the initial testing I did to see if this was viable).
If it lives for 5 years, the OSN pod will be 5x cheaper for storage (compared to AWS S3), requires no credentials to read, and has no egress costs.   And it supports the same S3 API.

I think this is really a "how can users write to object storage" discussion, which is a key part of cloud-native workflows. Rechunking is just one example that needs it.

This is how I am thinking of it.  The original use-case in my mind is to provide a temporary space where tutorials can write data (or read sample datasets)... to emulate workflows used in 'production'.  Rechunking is one example.  I suppose it would be just as useful to run these tutorials onprem, and write to a temporary space on a filesystem -- but that would remove the cloud/hub platform as a workspace.

Success in writing to the OSN object storage in testing with NWS pre-processing workflows / tutorials.
I will refactor all of my big-data writes to this space to demo the process... I understand that we may not want tutorial readers to replicate by writing to this same space -- still a TBD decision.

Based on @gzt5142 success with writing to OSN and the outcome of previous conversations with using OSN for storing the tutorial intermediate datasets, this issue can be closed as it has been resolved.


Negative Code Embeddings

Hello Ed,
In the Med2Vec code , you have mentioned the weights as (-0.01,0.01) ,which is generating negative code embeddings.
params['W_emb'] = np.random.uniform(-0.01, 0.01,
however in the paper you have mentioned that "all medical codes C to non-negative real-valued vectors of dimension m"
Can you please help me in understanding that?
Thanks,
Ankit

Hi Ankit,
Medical codes are derived by ReLU(W_emb x_t + b_emb), which makes the codes non-negative.
(That is the equation (1) in the paper).
Best,
Ed

OKay ...thanks.

Thanks Ed!!


Auto close help thread(s) on inactivity

This PR implements a background task that every 5 minutes checks all active threads on activity. Here is how it works:
if not list_of_message_sent_by_the_author_in_15_minutes:
    # await close thread.
elif last_message_is_over_one_day:
    # await send a message in thread mentioning the author.
elif last_message_is_over_two_days
    # await close thread.

This has not been tested but it should technically work.

@TAG-Epic


https://bootstrap.zcoin.io/ is down again

Actual behaviour
https://bootstrap.zcoin.io/ is down now
Desired behaviour
Steps to reproduce

ReplaceMe: Step 1
ReplaceMe: Step 2

We keep on being DDoSed so just use these two:
http://zcoinbootstrap.moranilabs.org/
https://files.privex.io/blockchains/zcoin/snapshot.tar.lz4

Thanks.

thanks


Version string with letter v?

Hey,
you really intended to use v2.3.0 as version string, i.e. including letter 'v' as prefix? I was very surprised by that and would have expected 2.3.0 without that prefix. Does that has any advantages I don't know?
Best regards
Jan

It is not mandatory for the upcoming versions.

This is a larger discussion in the standard itself, continue there: https://github.com/semver/semver/issues/204#issuecomment-1386618567


StrSubstitutor cannot parse nested braces

As reported in #2666,
<PatternLayout pattern="${env:TZ:-%d{yyyy-MM-dd HH:mm:ss}{GMT+00}}"/>

leaves behind a trailing } while formatting date. That is, StrSubstitutor doesn't correctly parse nested braces.

To be more precise, the StrLookup parses the string ${env:TZ:-%d{yyyy-MM-dd HH:mm:ss}{GMT+00}} as:

A lookup expression (${env:TZ:-%d{yyyy-MM-dd HH:mm:ss}), where env:TZ is the key used for the lookup and %d{yyyy-MM-dd HH:mm:ss} is the default value.
The literal {GMT+00}}.

The main problem here is to have a coherent set of escape rules for lookup expressions and pattern expressions.
Right now we have the following escaping rules:

the special sequence ${ can be escaped as $${. This only works for the first level of lookups. If ${foo} expands to bar, then $${foo} is not expanded, but ${$${foo}} returns the expansion of ${$bar}.
the special sequence :- can be escaped as :\-, but if \- appears anywhere else, it will give two characters.
the pattern sequence %d can be escaped as %%d.
there is no way to escape a closing brace } neither in a lookup nor in the options of a pattern expression.

This resembles more the way cmd.exe parses a command line than the simpler bash expansion.

Hi @vy , @ppkarwasz
I have a PR but I think this has more edge case. Please take a look and tell me if I miss something
https://github.com/apache/logging-log4j2/pull/2712

Looking at bash parameter expansion, I would propose to just introduce a simple escape mechanism that allows users to escape the closing } as \}.
The initial example would then need to be written as:
<PatternLayout pattern="${env:TZ:-%d{yyyy-MM-dd HH:mm:ss\}{GMT+00\}}"/>

This does not make the escaping rules coherent, but at least they are simpler:

the sequence ${ is escaped as $${,
the sequence :- is escaped as :\-,
the sequence } is escaped as \}.

Using \ as a generic escaping mechanism is not possible for backward compatibility, since the default replacement could be a Windows path.
Note: Currently StrLookup allows nested lookups anywhere between ${ and the closing }. I would prefer to limit them to the default value part.
So ${foo:-${bar}} would be allowed, but ${${foo}${bar}} wouldn't. I really don't see a reason why the names to lookup should be compose by other lookups.

After discussing in with @vy on Slack, I believe we should coherently use $ as escape character, with the following rules:

The escape character $ only applies to the $, :, - and } characters.
An escaped character loses its special meaning. So:

$${...} is not expanded,
${sys$:-foo} and ${sys:$-foo} are replaced with the value of the system property -foo,
${foo:-$}} is expanded as } if foo is not defined.

I am looking forward to log4j2 new version, so many things have to done :D