text:
🛑 ITBM WebSite is down

In d133471, ITBM WebSite (https://itbm.mx) was down:

HTTP code: 502
Response time: 4798 ms

Resolved: ITBM WebSite is back up in dda3d55 after 1 hour, 20 minutes.

repo: itbm-services/projects


text:
Remove unused_must_use allow

This is no longer needed because all event messages now return ()!

bors r+

bors r-

bors r+

bors r+

source: gharchive/pull-request

repo: itchysats/itchysats

license: MIT

license_type: permissive

license_source: github-api


text:
Sidenav: remove sidenav button

This change removes the PharosSidenavButton and automatic sliding behavior of the sidenav. Before, the PharosSidenavButton and the PharosSidenav controlled its visibility automatically, making it difficult for consumers to control its state.
Now, users can control...

the visibility of the sidenav via the open property
the visibility of the close button via the hasCloseButton property
assign the data-sidenav-id attribute on trigger elements to open the sidenav when clicked

This change: (check at least one)

[x] Adds a new feature
[ ] Fixes a bug
[x] Improves maintainability
[x] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[x] Yes
[ ] No

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[ ] Test suite(s) passing?
[ ] Code coverage maximal?
[x] Changeset added?
[ ] Component status page up to date?

What does this change address?
Resolves #417
How does this change work?
Removes PharosSidenavButton and it's references. Previously the button was being used to maintain the state of the SideNav. This change moves that responsibility to the consumer where it can pass slide = [true/false] in order to control the visibility of the PharosSideNav.

🤔  not sure pharos-site is failing to build...
it's as if it's trying to build with pharos version 13 event though it's package.json lists 12.6.0

I think this one's good to go

repo: ithaka/pharos


text:
Use :focus-visible for most interactive elements

This change: (check at least one)

[x] Adds a new feature
[ ] Fixes a bug
[ ] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[x] No (strictly speaking no API change, but perhaps warrants putting into v13?)

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[x] Code coverage maximal?
[x] Changeset added?
[ ] Component status page up to date?

What does this change address?
Resolves #175
How does this change work?
This change uses :focus-visible instead of :focus for most interactive elements. Notably, it leaves form controls alone, because the focus styling for those feels quite natural as compared to others.
Where buttons, tabs, and links used to have intrusive boxes placed around them on focus for all users, they will now only display those focus outlines when navigating with keyboards or other input devices. Direct mouse pointer input does not create the outline.
The expectation is that this increases accessibility for the set of users using mouse pointers, creating less visual noise and motion, while maintaining accessibility for all other users. MDN does call out that there may be cognition
considerations for the disparity between navigation modes, which I'm not sure how we might best understand more.
This change also provides a fallback for those browsers that don't yet support :focus-visible (Safari < 15 at all, and Safari < 15.4 by default) which is to maintain the current behavior of focus outlines all the time.

@fswlee @sirrah-tam please have a look at the Storybook for this change and see if this feels ballpark.

This looks good to me! I've been trying to find any places where it may cause issues but am coming up short 😃 Also, took a look at the issues around cognition and consistency, but I feel like in our case the change isn't drastic enough to cause concern. Thank you for putting this forward, I think its a great enhancement!

authors: daneah sirrah-tam


text:
大佬请教几个问题

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

@itinycheng

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

您好，

Operator分发策略是flink端的逻辑，sink端能操作的是设置并行度：sink.parallelism；另外，如果设置写本地表，一个sink operator实例会持有该distributed表下所有本地表的connection。

当前不支持，写本地表的分片选择是写死的，取的好像是shard_num=1，具体可以看下这个类：ClickHouseConnectionProvider

您好，
1. 按照你的说法，假如我有 100 并行度， 100 个本地表。一个本地表，每次都有 100 个并行度往这个本地表写？也就是会生成 100 个文件？合并的压力就比较大。我这样理解的对不对？（之前我还想改造成按照并行度写，但是写入策略是根据某个 key的话就行不通了）
2. 我发现实时写 ck 会遇到很多问题，你们写入的时候，批量写间隔/写大小一般设置多大？

@itinycheng 您好， 1. 按照你的说法，假如我有 100 并行度， 100 个本地表。一个本地表，每次都有 100 个并行度往这个本地表写？也就是会生成 100 个文件？合并的压力就比较大。我这样理解的对不对？（之前我还想改造成按照并行度写，但是写入策略是根据某个 key的话就行不通了） 2. 我发现实时写 ck 会遇到很多问题，你们写入的时候，批量写间隔/写大小一般设置多大？

您好：

首先100个并行度对应100个sinkOperator实例，每个sinkOperator实例会初始化100个connection（对应100个local table），一个connection会写一台机器的本地表；数据如果提前keyBy的可以将数据提前分片下，sink端文件生成会减少；sink并行度设置小一点也会减少文件生成数；自己测试下就明白了，只是说可能不太好理解；
我生产批量写时间配置一般在5s～60s之间，batch-size根据实际情况，在千～百万之间不等；

@itinycheng
您好：
对于第一个问题，假如sink并行度减少，数据处理不过来，会造成反压。是不是可以优化成，我查询到 100 个本地表。我并行度是1连第一个节点。并行度是2写第二个节点，以此类推呢？这种方案有什么缺陷？

@itinycheng 您好： 对于第一个问题，假如sink并行度减少，数据处理不过来，会造成反压。是不是可以优化成，我查询到 100 个本地表。我并行度是1连第一个节点。并行度是2写第二个节点，以此类推呢？这种方案有什么缺陷？ 对于 ck 集群的某个节点重启的时候。写入失败。我再去重新连接重启这个节点的副本。这种改动有意义？因为目前遇到的问题是，ck经常有增加减少字段的需求。当执行 DDL 的时候，经常卡主。需要重启 ck 节点。重启的时候实时任务就会报错，重启。重启之后任务有一段时间的延迟。

并行度问题：写本地表都是通过 key % parallelism来计算sink到哪个本地表的哈，你这个意义不大吧，你用keyBy函数把所有key提前hash到一个sinker上不也是同样的效果？
切换sink的replica问题：DDL时候应该是不允许写入操作的吧，connector在这段时间可操作空间不大；支持切换replica是有价值的，有合理方案就行，或是你可以根据实际业务需求定制一个job recovery/fallover的策略；

@itinycheng 好的。非常感谢。
最近我用批任务运行。两个sink。一个是kafka 。一个是clickhouse。任务结束之后。kafka有数据。clickhouse 没有任何数据。任务也没有任何报错。大佬有遇到过吗？

@itinycheng  batch 任务报错了。异常没抛出

@itinycheng batch 任务报错了。异常没抛出

更新到最新代码，如果还有BUG，欢迎提Issue或PR；

@itinycheng 您好： 对于第一个问题，假如sink并行度减少，数据处理不过来，会造成反压。是不是可以优化成，我查询到 100 个本地表。我并行度是1连第一个节点。并行度是2写第二个节点，以此类推呢？这种方案有什么缺陷？ 对于 ck 集群的某个节点重启的时候。写入失败。我再去重新连接重启这个节点的副本。这种改动有意义？因为目前遇到的问题是，ck经常有增加减少字段的需求。当执行 DDL 的时候，经常卡主。需要重启 ck 节点。重启的时候实时任务就会报错，重启。重启之后任务有一段时间的延迟。

并行度问题：sink并行度和上游不同情况下，记得好像是必须有primary key的，数据分发是通过 hash(primary key value) % parallelism 来确定写哪个sinker的，可以关注下：CommonExecSink.createSinkTransformation，具体效果自己测试下看；另外你说这个感觉不太合理，写入哪个local表必须要根据分片的key来确定，不然数据不就乱了，另外你可以直接写分布式表use-local=false，让分布式表帮分发数据；
切换sink的replica问题：DDL时候应该是不允许写入操作的吧，connector在这段时间可操作空间不大；支持切换replica是有价值的，有合理方案就行，或是你可以根据实际业务需求定制一个job recovery/fallover的策略；

@itinycheng 您好： 对于第一个问题，假如sink并行度减少，数据处理不过来，会造成反压。是不是可以优化成，我查询到 100 个本地表。我并行度是1连第一个节点。并行度是2写第二个节点，以此类推呢？这种方案有什么缺陷？ 对于 ck 集群的某个节点重启的时候。写入失败。我再去重新连接重启这个节点的副本。这种改动有意义？因为目前遇到的问题是，ck经常有增加减少字段的需求。当执行 DDL 的时候，经常卡主。需要重启 ck 节点。重启的时候实时任务就会报错，重启。重启之后任务有一段时间的延迟。

并行度问题：sink并行度和上游不同情况下，记得好像是必须有primary key的，数据分发是通过 hash(primary key value) % parallelism 来确定写哪个sinker的，可以关注下：CommonExecSink.createSinkTransformation，具体效果自己测试下看；另外你说这个感觉不太合理，写入哪个local表必须要根据分片的key来确定，不然数据不就乱了，另外你可以直接写分布式表use-local=false，让分布式表帮分发数据；
切换sink的replica问题：DDL时候应该是不允许写入操作的吧，connector在这段时间可操作空间不大；支持切换replica是有价值的，有合理方案就行，或是你可以根据实际业务需求定制一个job recovery/fallover的策略；

大佬, 您好, 请教个问题 :我把 'use-local' = 'false' 的时候程序会有报错-- Table engine Distributed doesn't support mutations. (NOT_IMPLEMENTED) (version 22.2.2.1) , 设置为 true的时候明显丢了很多数据 ,    'sink.partition-strategy' = 'hash',
'sink.partition-key' = 'xx' . 参数是指分布式表中第四个参数, 还是指代本地表中的partition?

@Leijingwen
这个参数命名不太好，应该叫 sharding key，是用来计算一条数据写入的具体分片；

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

您好，

Operator分发策略是flink端的逻辑，sink端能操作的是设置并行度：sink.parallelism；另外，如果设置写本地表，一个sink operator实例会持有该distributed表下所有本地表的connection。
当前不支持，写本地表的分片选择是写死的，取的好像是shard_num=1，具体可以看下这个类：ClickHouseConnectionProvider ，如果分片挂啦，重启job没办法恢复。

您好,大佬 :当有shard_num=1的机器挂掉机器以后,flink-任务就报错了, 这个有什么好的方式解决吗? clickhouse集群的高可用感觉用不上了.

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

您好，

Operator分发策略是flink端的逻辑，sink端能操作的是设置并行度：sink.parallelism；另外，如果设置写本地表，一个sink operator实例会持有该distributed表下所有本地表的connection。
当前不支持，写本地表的分片选择是写死的，取的好像是shard_num=1，具体可以看下这个类：ClickHouseConnectionProvider ，如果分片挂啦，重启job没办法恢复。

您好,大佬 :当有shard_num=1的机器挂掉机器以后,flink-任务就报错了, 这个有什么好的方式解决吗? clickhouse集群的高可用感觉用不上了. 设置'use-local' = 'false'?

@Leijingwen

connector 1.15版本以后使用的BalancedClickhouseDataSource来创建connection，会随机connect一个可用的replica；机器挂掉应该会导致Job restart，这时应该会有些高可用的效果，https://github.com/itinycheng/flink-connector-clickhouse/commit/da116e4a7ffd4479842ef130279cc7545a91d5e6 。
use-local 作用只是为了直接读写local表用的，没有高可用的效果；

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

您好，

Operator分发策略是flink端的逻辑，sink端能操作的是设置并行度：sink.parallelism；另外，如果设置写本地表，一个sink operator实例会持有该distributed表下所有本地表的connection。
当前不支持，写本地表的分片选择是写死的，取的好像是shard_num=1，具体可以看下这个类：ClickHouseConnectionProvider ，如果分片挂啦，重启job没办法恢复。

您好,大佬 :当有shard_num=1的机器挂掉机器以后,flink-任务就报错了, 这个有什么好的方式解决吗? clickhouse集群的高可用感觉用不上了. 设置'use-local' = 'false'?

@Leijingwen

connector 1.15版本以后使用的BalancedClickhouseDataSource来创建connection，Job start/restart会随机connect一个可用的replica，这时应该会有些高可用的效果；git commit: da116e4 。
use-local 作用只是为了直接读写local表用的，没有高可用的效果；

好的,谢谢, 我试试

假如 10 个并行度去写本地表。本地表有3个，一个并行度是去写一个表，还是轮询写这三个表？
假如服务端重启了，可以重试连副本节点继续写入？

您好，

Operator分发策略是flink端的逻辑，sink端能操作的是设置并行度：sink.parallelism；另外，如果设置写本地表，一个sink operator实例会持有该distributed表下所有本地表的connection。
当前不支持，写本地表的分片选择是写死的，取的好像是shard_num=1，具体可以看下这个类：ClickHouseConnectionProvider ，如果分片挂啦，重启job没办法恢复。

您好,大佬 :当有shard_num=1的机器挂掉机器以后,flink-任务就报错了, 这个有什么好的方式解决吗? clickhouse集群的高可用感觉用不上了. 设置'use-local' = 'false'?

@Leijingwen

connector 1.15版本以后使用的BalancedClickhouseDataSource来创建connection，Job start/restart会随机connect一个可用的replica，这时应该会有些高可用的效果；git commit: da116e4 。
use-local 作用只是为了直接读写local表用的，没有高可用的效果；

@itinycheng 大佬，这里只是随机选一个连接，是指首次连接吗。就是整个任务起来，也只会选择一个连接，后续持续运行过程中也只会往这个地址发送请求吗？
请问这里能实现为与es连接器类似方式，支持多url地址，当发送请求时当使用多集群地址时例如（jdbc:clickhouse://host1:8123,host2:8123,host3:8123），job start时创建jdbc串所有ip地址连接池。后续发送请求时能实现随机（轮询）选择一个地址发送，同时维护连接是否有效，剔除无效得连接吗，实现高可用得同时负载均衡，现在我们数据量较大得场景下，会导致连接的节点压力格外大，同时无法负载均衡，同时存在单点问题

source: gharchive/issue

authors: Leijingwen itinycheng lucklymore v-qiunan

repo: itinycheng/flink-connector-clickhouse


text:
flink插入集群数据异常问题

hi，我想请教几个问题
1）、flink同步到ck集群是插本地表还是分布式表合适，我这里是选择的插入本地表，配置的hash算法分发数据，但是这导致了flink全量同步mysql表数据到ck集群过程中，对mysql表做insert操作，会在ck中执行两次；例如在mysql表中插入了’aaaaa‘这条数据，ck中会存在两条‘aaaaa’（sink.batch-size已经设置为1）。如果是ck单点同步则没有出现这样的问题
请问flink连接ck集群配置有问题吗，配置如下：
CREATE TABLE supplier_order_out_info_sink (
.........
) with (
'connector' = 'clickhouse',
'url' = 'clickhouse://111:8123,222:8123,333:8123',
'database-name' = 'db',
'table-name' = 'local_tb',
'use-local' = 'true',
'sink.flush-interval' = '5s',
'sink.batch-size' = '1',
'sink.max-retries' = '20',
'sink.partition-strategy' = 'hash',
'sink.partition-key' = 'id',
'sink.ignore-delete' = 'false',
'sink.parallelism' = '1',
'sink.update-strategy' = 'insert',
'catalog.ignore-primary-key' = 'false',
'username' = 'xxx',
'password' = 'xxxx'
);
2）、flink插入ck单点和插入ck集群有什么需要注意的地方吗？
期待您的解答🙏

@jieshier
'sink.update-strategy' = 'insert'的作用是将update_after数据解析为insert语句，这个配置一般配合MergeTree使用；你的问题可以和这个有关系；
ck单点同步不太清楚指什么；
不太清楚你的使用场景，connector只是接收上游数据，然后写clickhouse，并没有重复插入的代码逻辑，可以先确认下source端到底下发了几条数据；

@itinycheng
您好，我了解了并测试了'sink.update-strategy' = 'insert'这个参数的作用，加与不加这个参数我都存在上面👆说的问题；所以应该跟这个参数没多大关系。
sink.batch-size已经设置为1前提下：
我现在的使用场景是 mysql -- flink -- ck集群，在往ck集群全量同步数据过程中如果有insert语句、则会在ck集群里执行两遍（就是说在ck中会存在两条一摸一样的数据）。
还有，请问一下：
'table-name' = 'local_tb' 这个配置我填分布式表，'use-local' = 'true' 这个配置我填true；是不是实际上还是写的本地表。

@itinycheng 您好，我了解了并测试了'sink.update-strategy' = 'insert'这个参数的作用，加与不加这个参数我都存在上面👆说的问题；所以应该跟这个参数没多大关系。 sink.batch-size已经设置为1前提下： 我现在的使用场景是 mysql -- flink -- ck集群，在往ck集群全量同步数据过程中如果有insert语句、则会在ck集群里执行两遍（就是说在ck中会存在两条一摸一样的数据）。 还有，请问一下： 'table-name' = 'local_tb' 这个配置我填分布式表，'use-local' = 'true' 这个配置我填true；是不是实际上还是写的本地表。

将FlinkSQL改为Select语句，打印查询结果，看是否有重复数据问题，clickhouse connector不应该有你说的将数据写两遍的问题；
正确的使用方法就是 table-name 配置为分布式表，use-local = true会将分布式表转为本地表，后续操作都是针对本地表进行的；
README.md里有ClickHouseCatalog的使用说明，可以直接create catalog，然后FlinkSQL直接用catalog.database.table即可；

authors: itinycheng jieshier


text:
Функции для вывода моделей instance-segmentation из Instance Segmentation и single-image-super-resolution из Image Processing

Добавлена функция instance_segmentation, которая обрабатывает выход для моделей:

instance-segmentation-security-0010

instance-segmentation-security-0050

instance-segmentation-security-0083

Добавлена функция single_image_super_resolution, которая обрабатывает выход для моделей:

single-image-super-resolution-1032

single-image-super-resolution-1033

@AlibekovMurad5202, посмотрела, замечаний по коду нет. Надо переносить на объектно-ориентированный подход.
@KchnKchn, посмотрите, пожалуйста.

@AlibekovMurad5202, исправляйте обработку, потом переходите на ооп

Исправил обработку и переписал функции как объекты от наследника класса io_adapter

@AlibekovMurad5202, исправляйте замечания. После нужно дописать добавленные задачи в argparse скриптов синхронного и асинхронного вывода опенвино. Там есть функция build_argparse. Находите в ней добавление ключа -t, --task и в параметр choises добавляете имена ваших новых задач.

@KchnKchn, исправил замечания и дописал добавленные задачи в argparse скриптов синхронного и асинхронного вывода.

@KchnKchn, исправил замечания.

@AlibekovMurad5202, удалите ненужные переменные. Больше замечаний нет, как поправите - замержу

repo: itlab-vision/openvino-dl-benchmark


text:
Render flex overflow on bottom

Getting RederFlex overflow on bottom while playing the video in landscape mode with full screen and opening the menu tapping on the gear icon.

i have solution play from youtybe and solution also for get all quality for youtube contact me on whatsapp :971557474526


text:
Increment Version

@JuliaRegistrator register() ACTRModels v0.4.0

Registration pull request created: JuliaRegistries/General/21369
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.0 -m "<description of version>" c0ae84a5fc1c559a7a5ff3d7a6920fd654dc6c63
git push origin v0.4.0

authors: JuliaRegistrator itsdfish


text:
possible solution to deploy to both dockerhub and ghcr

I am not able to test this AFAIK because of permissions and such, but this should log in to both dockerhub and ghcr, and add image tags for both dockerhub and ghcr.
Closes #1444 and #2009

...oh, I remember now. The build triggers inlcude branches that start with test/.

As far as you testing it, I think it'll work for a non-PR'ed branch that starts with test/ as long as you have the Docker hub credentials declared in your repo actions secrets.

I will see if i can get it to test when I take lunch.

i see in the build-multiarch a reference to MODS_FORGEAPI_KEY. can you point me to where I can request a key? I am creating a test/ branch to make sure this all works.

Ok, i was going to try my CF Key. thanks.

...and now that I rediscovered that, makes me realize I could be re-enabling the build time test for auto CurseForge by re-mapping that variable

If you want to include that with your PR it would be a copy of this line
https://github.com/itzg/docker-minecraft-server/blob/0d5e44a3387bfd5462342e5729351b719c357178/.github/workflows/build-multiarch.yml#L152
but with CF_API_KEY being the resulting variable.

ive got a test/ branch running now with those changes, since this PR is open on the non-test branch, if it is successful, I will merge those changes back in to this branch, and will reference the test branch action runs.

https://github.com/camalot/docker-minecraft-server/actions/runs/4576294508 current run

Login for GHCR was successful for all platforms. as was the build. the build and push was also successful, but doesn't actually push (so it isn't fully tested with the github.token) since it isn't running from a PR to master.

I have a feeling that using github.token isn't going to have access to push to GHCR. I haven't tested this feeling yet though.

I'm sorry that I forgot about this PR. Later today I'll either do a quick test branch build or just merge and tweak configs from there if needed.

Pushed some fixes to the build to handle test/* branches. Apparently I broke it was back when I switched to matrix builds.

I see that the push to ghcr.io is failing with a 500. i may modify the job that pushes to have it push to my docker hub and ghcr. see if i can reproduce it.

That would be great. Using the github.token way it was mostly 500's:
https://github.com/itzg/docker-minecraft-server/actions/runs/4600691357
Using secrets.GITHUB_TOKEN, which I just pushed, it was a mix of success and 403's
https://github.com/itzg/docker-minecraft-server/actions/runs/4603497390/jobs/8133557812
I'm suspecting there is a rate limit on GHCR publish operations, where 14 concurrent ones probably exceeds that.

https://github.com/camalot/docker-minecraft-server/pkgs/container/minecraft-server
I changed the action settings to read/write and it pushed to ghcr for my fork, and my docker hub

https://github.com/camalot/docker-minecraft-server/tree/test/ghcr-publish
this is the branch that pushed.

Obviously i had to change the build-publish workflow to push to on a less restrictive criteria. but that is the only thing that should have been changed compared to what i pushed to this branch.

i had to change the build-publish workflow to push to on a less restrictive criteria

Hmm, I had the workflow settings like you screenshot'ed above, so I'm wondering what you mean by these workflow changes?
The mix of success and 403's (and 500s) was very odd though. It's like the permissions are right, but something sporadically fails.

This is what i changed in my test/ branch to force it to push for me. everything else in my branch should be in-line with the rest of the changes in this PR.

Actually, im not 100% that I pulled in all the changes you pushed to this branch. Let me do that and run it again.

Can you point me to the latest build that went through for you? I'll put my test branch back to github.token and see how it is now.

the run https://github.com/camalot/docker-minecraft-server/actions/runs/4613328275
the branch https://github.com/camalot/docker-minecraft-server/tree/test/ghcr-publish

authors: camalot itzg

repo: itzg/docker-minecraft-server


text:
Question about mariadb104* packages

I really just have a question and I wasn't sure where to ask it.
If we have mariadb101u-server installed is it safe to just do this:
dnf --allowerasing install mariadb104-server
To upgrade it?
I used a similar process to upgrade to php 7.4 and it worked alright, but I don't want to do anything crazy.
Thanks.

Yes, that should work fine from the package perspective.  I just tested that upgrade in a container and it resolved.  That's also what we recommend in this wiki page for upgrading to mariadb102, and it still applies.  Make sure to also follow the recommended steps from MariaDB.

authors: carlwgeorge zerocarbthirty


text:
Add second slide

Adding a second slide to this presentation

Testing

Testing

Testing

repo: ivan-stoyanov-lab/github-slideshow


text:
Release estimate

Hi, and thanks for all your work around Pixi.js.
I'm interested by this course due to the lack of tutorials for Pixijs v5.
The project seems to be on hold at the moment. Do you plan to work again on it? In which case, when can we expect this course to be available ?

Yo! Actually, I made it much further, the problem is that i cant organize all that i wrote to english chapters yet :)

Thanks for the reply! It's good that you haven't given up on the tutorial then :) I understand that you do not have an estimate to give at the time, so I'll just watch the repository for further updates, thanks!

authors: AdrienLemaire ivanpopelyshev

repo: ivanpopelyshev/pixi-starfighter


text:
Вопросы для обсуждения

Решено 1. Относительные пути для картинок (данные разрешаются относительно машины с запущенным фронтом).
2. Что делать в случае не заполненных полей. Некоторые поля критичны для рендеринга приложения.
Решено 3. Набор данных для /main и /events отличается, в частности нет bool значения booked.

Решено 4. В данных событий отказались от поля takenSeats теперь опираемся на одно значение?

В запросе профиле пользователя город теперь получаем объектом, в запросе на апдейт города из профиля ,в ответе нужно сделать так же :
{
"id": 1,
"user": 1,
"city": {
"id": 2,
"name": "Астрахань",
"isPrimary": true
}
}

Решено!

authors: Some-0ne-Else nkiryanov tanett

repo: ivartm/bbbs


text:
issue: error in Array schemas don't surface

Version Number
1.8.0
Codesandbox/Expo snack
https://codesandbox.io/s/react-ts-form-example-forked-38ykmt?file=/src/App.tsx
Steps to reproduce

Click submit without checking a checkbox
Data is being logged
Check a checkbox, no error is still visible although the validation should fail (due to uuid())
Click submit, data is not being logged

The issue is that errors coming from zod don't seem to surface into the error coming from useTsController(). The submit is disabled correctly but no error can be shown.
If you remove the uuid() part the submit works fine.
Expected behaviour
Array schema validation errors should also surface when using useTsController inside a field component.
Maybe I'm just doing something wrong but the codesandbox and my local solution provide just the same output where the error is never changed on actual falsy inputs.
Relevant log output
No response

PS: The errors returned from the RHF useForm is correct


text:
🛑 Takagi is down

In 1cabe69, Takagi (https://lixingyong.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Takagi is back up in 3bf9619.

repo: iwyang/check


text:
🛑 21Eurkon is down

In d1e83a4, 21Eurkon (https://blog.eurkon.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 21Eurkon is back up in 0e3d2eb after 9 minutes.


text:
🛑 06IILeeのBlog is down

In fac15ca, 06IILeeのBlog (https://www.iilee.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 06IILeeのBlog is back up in 2cf48ec after 1 hour, 59 minutes.


text:
🛑 21Eurkon is down

In 5a3ed2e, 21Eurkon (https://blog.eurkon.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 21Eurkon is back up in 4896f32 after 9 minutes.


text:
🛑 Akilarの糖果屋 is down

In b723f2f, Akilarの糖果屋 (https://akilar.top) was down:

HTTP code: 403
Response time: 2566 ms

Resolved: Akilarの糖果屋 is back up in aa7c83d.


text:
🛑 Takagi is down

In 1d54e70, Takagi (https://lixingyong.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Takagi is back up in dee47cc.


text:
🛑 05Takagi is down

In 033625e, 05Takagi (https://lixingyong.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 05Takagi is back up in 398115d after 9 minutes.


text:
Failed to load plugin 'tailwindcss' declared in '.eslintrc#overrides[0]': Unexpected token '?'

Hi!
I've experienced a problem while bootstrapping this project.
The way to reproduce this error is to bootstrap a fresh version from this repo by using git clone. Install npm dependencies and try to execute npm run lint.
This occurs in such error:
Failed to load plugin 'tailwindcss' declared in '.eslintrc#overrides[0]': Unexpected token '?'

Do you have any clues on how to resolve this problem?

Hi @szygendaborys,
Thank you for sharing your issue.
I've made a clean and fresh clone of the project using git clone and I'm not able to reproduce your issue.
Here is the step I have followed:

git clone git@github.com:ixartz/Next-js-Boilerplate.git
npm install
npm run install

Here is the result:
npm run lint

> next-js-boilerplate@1.1.0 lint
> next lint

✔ No ESLint warnings or errors

So on my computer, everything is working fine.

@ixartz , you're right. I was using node on version 12. This was apparently causing an issue. I'm closing this subject as resolved :)

@szygendaborys Thank you for letting me know.

authors: ixartz szygendab szygendaborys

repo: ixartz/Next-js-Boilerplate


text:
🛑 Purificadora Ixtatan is down

In 7b78e05, Purificadora Ixtatan ($WEB_PURIFICADORA_IXTATAN) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Purificadora Ixtatan is back up in afbd37b after 3 minutes.

repo: ixtanet/upptime


text:
Fix templates

WHY
WHAT
REF

Codecov Report

Merging #16 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           master     #16   +/-   ##
======================================
  Coverage    13.4%   13.4%
======================================
  Files          31      31
  Lines         873     873
======================================
  Hits          117     117
  Misses        750     750
  Partials        6       6

Impacted Files
Coverage Δ

...picmd/internal/usecase/generate_service_usecase.go
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


text:
問題と画像ファイルをお送りします

宜しくお願いします

問題が更新された

authors: Maro-san koichii

repo: j-code-org/quiz


text:
Using BabelJS to convert Obfuscated JS to AST, then AST to JS

steakenthusiast made a guide for using BabelJS for deobfuscating any type of obfuscation: https://steakenthusiast.github.io/
This method is pretty absolute, they make use of BabelJS to AST the code, then convert back to the readable JS code.
Not sure if this can be implemented as a feature of webcrack.

that's already how it works ^^


text:
Add ability to shift rapidity and azimuth of MomentumArray

Functionality will allow the shifts to MomentumArray in rapidity and azimuth. That is, methods will be added that update the x, y, z, e coordinates, such that the particles will be shifted in the corresponding rapidity and azimuth will have shifted by the input amount.
Pseudorapidity should also be added, but this will be saved for a future issue.

Implemented, and used this equation to bootstrap rapidity shift to provide a pseudorapidity shift.

Need to add docstrings.

Numerical stability of shift_pseudorapdity() is poor. The corresponding rapidity shifts are being calculated element-wise for each particle, but for a scalar shift perhaps this could be done by taking the sum of the four-momentum, to get a scalar value for the rapidity shift.

repo: jacanchaplais/graphicle


text:
all thing about Move

Move 是一门DSL语言（domain specific language），可以作为合约开发语言，其语言特性很多借鉴了Rust

Move内置数据类型：integer，boolean，address，Vec
没有如下内置类型：浮点数和字符串（看起来Move的确是DSL，地址作为内置类型）
跟rust好像......(因为是合约语言，所以unreachable不支持，未使用变量声明会被编译为error)
expression, script, module.... use fun instead of func  ?
Generics
Abilities （Rust中的trait，但Abilities没有那么多特性和功能）
Resource，Signer (开始进入合约/区块链的特有范围)

Move只是开发语言，区块链合约开发需要一整套的工具链，如账户，token，VM等等。
现在一些基于Move的区块链项目正在崛起：

Pontem
Sui
Starcoin

References:

move-book.com (有中文版)
diem.github.io/move

Aptos Chain and Move (all)
Diem项目最终结束时，与之相关的工程师中，有几位离开Facebook，出去创办了Mysten Labs，后来就有了SUI；
另一拨人离开Facebook，成立了Aptos Lab。
无论是SUI还是Aptos，都依赖着以前在Diem的MOVE虚拟机和基本语法，基础的设计思想等遗产。
现在MOVE虚拟机的部分，有一些停滞不前；无论是Aptos还是SUI，都不愿继续在Diem MOVE上添砖加瓦，而是添加各自的小特性。
从结果上来说，发展结果并不突出，就拿我目前接触的Aptos来说，合约的开发，代码格式化工具才刚有；vscode上的Move analyzer差强人意，总体上来说，工程师写合约代码的爽度非常差（跟写Rust代码的爽度完全是天地之别）
无论怎么说，我还是列一些资源：

Move fmt  合约代码格式化： movefmt
VScode Aptos Move Analyzer （move 的LSP）https://movebit.xyz/AptosMoveAnalyzer
Diem MOVE https://move-language.github.io/move/
Aptos Move  https://aptos.dev/move/book/SUMMARY

System Account Address of Aptos Move
@vm_reserved  == 0x0
@aptos_framework == 0x1
@core_resources == 0xA550C18
0x2 ---- 0xA区间的地址都是系统保留地址

系统信息获取的另一个途径
想看当前网络的id是多少，想看系统合约的代码，想知道当前网络的validator有哪一些？...
都可以打开浏览器，从0x1账户（即aptos_framework）的信息(resources，module)中看到。

list public functions in move contract
Aptos framework系统中有很多系统合约，而且每一个合约中包含public, public entry，friend在内的函数也很多。
有时候需要list出来并做比较和审视
但是如何来list这些函数？是人工copy，还是动用正则表达式？
我的回答是使用nom来书写DSL parser，用程序把这些给摘出来，同时还可以进一步做加工（比如排版美化一下）
如下是程序：
use nom::{
    branch::alt,
    bytes::complete::{is_not, tag, take, take_till, take_until},
    character::complete::multispace1,
    combinator::eof,
    error::{Error, ErrorKind, ParseError},
    multi::many0,
    sequence::{delimited, preceded, tuple},
    Err, IResult, Parser,
};
use std::{fs::File, io::Read, path::Path};

const DEBUG: bool = false;

fn main() {
    let base_dir =
        Path::new("YOUR_MOVE_CONTRACT_BASE_DIR");
    let mut f = File::open(base_dir.join("YOUR_CONTRACT.move")).unwrap();
    let mut buffer = String::new();

    f.read_to_string(&mut buffer).unwrap();
    let mut input = buffer.as_str();
    let mut pub_functions = vec![];
    let mut entry_functions = vec![];

    loop {
        let result = alt((mod_decl, eat_comment))(input);

        if let Ok((rest, token)) = result {
            if let Token::ModuleDecl(_module_name) = token {
                handle_module_contents(rest, &mut pub_functions, &mut entry_functions);
                break;
            }
            input = rest;
        }
    }

    if !pub_functions.is_empty() {
        println!("pub function:");
        for pub_function in pub_functions {
            println!("{}", to_single_line(pub_function));
        }
    }

    if !entry_functions.is_empty() {
        println!("pub entry function:");
        for entry_function in entry_functions {
            println!("{}", to_single_line(entry_function));
        }
    }
}

fn handle_module_contents(
    mut input: &str,
    pub_functions: &mut Vec<String>,
    entry_functions: &mut Vec<String>,
) {
    //mark of skip following function if fn_test_decl is found
    let mut skip_function = false;

    loop {
        let result = alt((
            use_mod,
            const_decl,
            friend_module_decl,
            native_fn_decl,
            fn_view_decl,
            fn_test_decl,
            fn_test_attribute,
            struct_delcl,
            public_funcs,
            public_entry_funcs,
            friend_funcs,
            private_funcs,
            private_inline_funcs,
            end_of_module,
            eat_spaces,
            eat_comment,
        ))(input);
        match result {
            Err(e) => {
                println!("err:{}", e);
                break;
            }
            Ok((rest, token)) => {
                match token {
                    Token::Eof => {
                        break;
                    }
                    Token::TestOnlyDecl => {
                        skip_function = true;
                    }
                    Token::PubFunc(s) => {
                        if skip_function {
                            skip_function = false;
                        } else {
                            pub_functions.push(s.to_string());
                        }
                    }
                    Token::PubEntryFunc(s) => {
                        if skip_function {
                            skip_function = false;
                        } else {
                            entry_functions.push(s.to_string());
                        }
                    }
                    _ => {}
                }
                input = rest;

                // turn it on if encoutered infinite loop
                // print the 1st line that cannot be parsed
                if DEBUG {
                    println!("rest:{}", rest.lines().next().unwrap());
                }
            }
        }
    }
}

#[derive(Debug, PartialEq, Eq)]
enum Token<'a> {
    Comments,
    Spaces,
    ModuleDecl(&'a str),
    UseMods,
    ConstDecl,
    FriendModuleDecl,
    NativeFnDecl,
    ViewDecl,
    TestOnlyDecl,
    TestAttribute,
    StructDecl,
    PubFunc(&'a str),
    PubEntryFunc(&'a str),
    FriendFun(&'a str),
    PriFunc(&'a str),
    PriInlineFunc(&'a str),
    Eof,
}

fn end_of_module(input: &str) -> IResult<&str, Token> {
    eof(input).map(|_| ("", Token::Eof))
}

/// eat "///abc\n" and "///\n"
/// or "//"
fn eat_comment(input: &str) -> IResult<&str, Token> {
    many0(alt((
        delimited(
            tag::<&str, &str, Error<&str>>("///"),
            take_until("\n"),
            take(1_usize),
        ),
        delimited(tag("//"), take_until("\n"), take(1_usize)),
    )))(input)
    .map(|(r, _)| (r, Token::Comments))
}

// eat "zero or more spaces, tabs, carriage returns and line feeds"
fn eat_spaces(input: &str) -> IResult<&str, Token> {
    multispace1(input).map(|(s, _)| (s, Token::Spaces))
}

/// grab "module A {
///    contents
/// }" and return contents
fn mod_decl(input: &str) -> IResult<&str, Token> {
    tuple((
        tag("module"),
        take_until("{"),
        tag("{"),
        take_until_unmatched('{', '}'),
    ))(input)
    .map(|(_, capture)| (capture.3, Token::ModuleDecl(capture.2)))
}

fn use_mod(input: &str) -> IResult<&str, Token> {
    delimited(tag("use "), is_not(";"), tag(";\n"))(input).map(|s| (s.0, Token::UseMods))
}
fn const_decl(input: &str) -> IResult<&str, Token> {
    delimited(tag("const "), is_not(";"), tag(";\n"))(input).map(|s| (s.0, Token::ConstDecl))
}
fn friend_module_decl(input: &str) -> IResult<&str, Token> {
    delimited(tag("friend"), is_not(";\n"), tag(";\n"))(input)
        .map(|s| (s.0, Token::FriendModuleDecl))
}
fn native_fn_decl(input: &str) -> IResult<&str, Token> {
    delimited(
        alt((
            tag("public(friend) native fun"),
            tag("public native fun"),
            tag("native fun"),
        )),
        is_not(";\n"),
        tag(";\n"),
    )(input)
    .map(|s| (s.0, Token::NativeFnDecl))
}
fn fn_view_decl(input: &str) -> IResult<&str, Token> {
    tag("#[view]\n")(input).map(|(r, _)| (r, Token::ViewDecl))
}

/// #[test_only], #[verify_only] or #[test(aptos_framework = @0x1)] alike
fn fn_test_decl(input: &str) -> IResult<&str, Token> {
    alt((
        tag("#[test_only]\n"),
        tag("#[verify_only]\n"),
        delimited(tag("#[test("), is_not(")]"), tag(")]\n")),
    ))(input)
    .map(|(r, _)| (r, Token::TestOnlyDecl))
}

/// like "#[expected_failure(abort_code=0x5000a, location = aptos_framework::voting)]"
/// Note: be sure to place under view_decl and test_decl when used with alt()
fn fn_test_attribute(input: &str) -> IResult<&str, Token> {
    delimited(tag("#["), is_not(")]"), tag(")]\n"))(input).map(|(r, _)| (r, Token::TestAttribute))
}

fn struct_delcl(input: &str) -> IResult<&str, Token> {
    preceded(
        delimited(
            tag::<&str, &str, Error<&str>>("struct"),
            take_till(|c| c == '{'),
            take_till(|c| c == '}'),
        ),
        take(1_usize),
    )(input)
    .map(|s| (s.0, Token::StructDecl))
}

fn public_funcs(input: &str) -> IResult<&str, Token> {
    funcs_match("public fun", input)
}
fn public_entry_funcs(input: &str) -> IResult<&str, Token> {
    funcs_match("public entry fun", input)
}

fn friend_funcs(input: &str) -> IResult<&str, Token> {
    funcs_match("public(friend) fun", input)
}

fn private_funcs(input: &str) -> IResult<&str, Token> {
    funcs_match("fun", input)
}

fn private_inline_funcs(input: &str) -> IResult<&str, Token> {
    funcs_match("inline fun", input)
}

fn funcs_match<'a>(fn_visable: &'static str, input: &'a str) -> IResult<&'a str, Token<'a>> {
    delimited(
        tag(fn_visable),
        is_not("{").and(take(1_u32)),
        take_until_unmatched('{', '}').and(take(1_u32)),
    )(input)
    .map(|(r, (fn_body, _brace))| {
        let func_token = match fn_visable {
            "public entry fun" => Token::PubEntryFunc(fn_body),
            "public fun" => Token::PubFunc(fn_body),
            "public(friend) fun" => Token::FriendFun(fn_body),
            "fun" => Token::PriFunc(fn_body),
            "inline fun" => Token::PriInlineFunc(fn_body),
            _ => panic!("unexpected function visibility"),
        };

        (r, func_token)
    })
}

/// This parser is designed to work inside the `nom::sequence::delimited` parser, e.g.:
/// `nom::sequence::delimited(tag("("), take_until_unmatched('(', ')'), tag(")"))(i)`
/// It skips nested brackets until it finds an extra closing bracket.
/// This function is very similar to `nom::bytes::complete::take_until(")")`, except
/// it also takes nested brackets.
/// Escaped brackets e.g. `\(` and `\)` are not considered as brackets and are taken by
/// default.
pub fn take_until_unmatched(
    opening_bracket: char,
    closing_bracket: char,
) -> impl Fn(&str) -> IResult<&str, &str> {
    move |i: &str| {
        let mut index = 0;
        let mut bracket_counter = 0;
        while let Some(n) = &i[index..].find(&[opening_bracket, closing_bracket, '\\'][..]) {
            index += n;
            let mut it = i[index..].chars();
            match it.next().unwrap_or_default() {
                '\\' => {
                    // Skip the escape char `\`.
                    index += '\\'.len_utf8();
                    // Skip also the following char.
                    let c = it.next().unwrap_or_default();
                    index += c.len_utf8();
                }
                c if c == opening_bracket => {
                    bracket_counter += 1;
                    index += opening_bracket.len_utf8();
                }
                c if c == closing_bracket => {
                    // Closing bracket.
                    bracket_counter -= 1;
                    index += closing_bracket.len_utf8();
                }
                // Can not happen.
                _ => unreachable!(),
            };
            // We found the unmatched closing bracket.
            if bracket_counter == -1 {
                // We do not consume it.
                index -= closing_bracket.len_utf8();
                return Ok((&i[index..], &i[0..index]));
            };
        }

        if bracket_counter == 0 {
            Ok(("", i))
        } else {
            Err(Err::Error(Error::from_error_kind(i, ErrorKind::TakeUntil)))
        }
    }
}

fn to_single_line(input: String) -> String {
    input
        .lines()
        .map(|line| line.trim_start())
        .collect::<Vec<_>>()
        .join("")
}

最近的工作进展
把Aptos的AptosCoin都换成了FungibleAsset，并pass了所有testcase。

单从技术上来看，MOVE语言和整体设计，确实比EVM要好
第一代chain是BTC
第二代chain是Ethereum，伴随着合约编程EVM
第三代chain是？？？？，不过我相信第三代合约编程可能是MOVE

Aptos上的Gas Fee设计
对于用户提交的交易而言，用户可以设置的数据域就两个：

Gas (unit) Price：单价，即price per unit； 这里的unit是指度量交易操作的单位。
Gas Limit：unit上限

在VM眼中，交易只是包含一组组vm operation的语句，而我们为这些语句都标了价，例如一个branch操作对应294，单位就是unit。
我们把交易对应的所有操作加总得到该交易的total gas unit，它应当小于用户设定的gas limit（如果超过的话，交易会失败）；
total gas unit 乘以 gas price，就得到了该交易的gas fee
有人可能要问，在Aptos上，有地方设置小费吗？
答案是没有。
在BTC或者Ethereum上，设置小费的作用是为了保障交易的优先级，小费给的高，矿工就会优先打包你的交易；
在Aptos上，用户可以通过设置较高的gas (unit) price，同样的，验证者也会更优先打包你的交易。

sponsored fun +  faucet 合约也无法抹去 faucet 服务
faucet服务
在Apotos testnet，devnet上，都有faucet服务（aptos项目中的faucet service）。

如果在run-local-testnet 本地测试网时，faucet服务会被node节点给bringup起来；
如果在testnet, devnet下，如果在节点上提供faucet服务，还需要起一个单独的faucet进程

faucet功能是由root 账户掌管的，root账户的地址为0xa550c18；节点启动目录里面的mint.key，其内容就是该账户的私钥（bcs序列化）
该账户不同于系统账户（0x1,0x2等等），Root账户有私钥，也有mint 本币的权限 （0x1等系统账户没有mint本币的权限），另外，governance功能中，如果创建提案选择RootSign模式，Root账户还有执行提案的权力。
sponsor fun
回到我们的案例，我们的Move添加了一个关键字sponsored，用来修饰函数，我们称之为sponsored 函数；
如果sponsoeded函数被调用，则该函数调用所在的交易transaction，其交易gas fee由sponsored函数所在的合约所对应的账户来支付。举一个例子：
我的账户0xabc，部署了一个合约，合约中有一个sponsored函数， 我同时有设置该函数为entry函数，则代表任何账户都可以在script中或者交易中调用我的这个sponsored函数； script所在的交易，其交易费用，由我账户0xabc来支付。
这个功能，是不是这个听着有点让人觉得不安全；我也是这样觉得。不过我们在这里不讨论这个，先以此作为已知事实继续讨论。
sponsor func + faucet move
我们是否可以设计一个faucet move，作为合约，来代替faucet服务，这样就减少了一个不必要启动的进程？
设计如下：

书写sponsored entry fund函数，输入参数为需要领水的账户地址，和领水的金额
函数中已知root账户地址，使用create_signer()得到root账户的signer
转钱的部分可以：

调用本币的mint()，传入(&signer, 领水账户地址，金额)
或者调用transfer(&signer, 领水账户地址，金额)

但是这笔交易的gas费用由谁出？ 合约部署在哪一个账户下，gas费用就由该账户出，所以该笔gas费用由0x1出。
但问题是： 0x1的账户上根本就没有钱，也无法支付gas费用。
解决方法是：

事先转足够的钱给0x1，以支付gas费用。
或者让0x1有mint 本币的能力，让0x1自己mint，来支付gas费用

要说明的是，0x1 mint的能力，早在genesis的时候就已经被剥夺了。给添加回去，需要重新创世纪。
你也许想到了，是不是可以把这个合约部署在root账户下？
但是create_signer()这种权限函数，是不可能开放给除0x1之外的账户的，所以合约部署在root账户下，我们就无法调用create_signer()了，在函数中也无法调用本币的mint()和transfer()了.

RPC调用方无法得到更详细的错误结果
cli，调用rpc，发送交易；交易会调用合约的方法；当合约方法执行中出错退出时，cli只能得到一些模糊的报错信息，类似：
Simulation failed with status: Transaction Executed and Committed with Error XXX
XXX是定义在vm中的错误状态码，显然它是无法覆盖系统合约或者第三方合约中的各种客制化的错误码。

Move生态系中比较糟糕的部分
无法理解一个move语言中的code formatter到现在还处于“半成品”的状态

https://aptos.dev/en/build/cli/formatting-move-contracts
现在官方推荐的movefmt，结果非常糟糕；而且代码格式化工具，居然官方也没有考虑做
Move生态中存在两大山头，Aptos和Sui，两方都不可能贡献共享型结果到Move生态，因为对方会无偿获得，可能的手段就是差异化，各自做出不同于其他人的，结果就是Move生态会被撕裂

formatter的两难
就算是Rustfmt，也有困难的地方：

代码格式化本身就是一件困难，繁琐的事情

It’s fussy, painful and one of those things nobody wants to do full time. rustfmt

Rustfmt从设计上选择了一条更困难的实现（但可能实现效果更好？）

Rustfmt不会格式化代码，如果代码无法通过编译limitation
Prettier Rust Plugin

类似Rustfmt这样的工程，需要基金会给予更多支持，但现实中基金会做不到
最近的高天在B站的视频，讲述了作为Python Core Dev人员在Mata的会议的所见所闻，开玩笑的称自己为"摘棉花的黑奴"； 是的，社区的开发者不是人，是驴

repo: jackalchenxu/jackalchenxu


text:
Feature Request: Include the parsed value in the returned objects

In the addresses portion, return the full value captured by the parser.
ex.
> addrs.parseAddressList('jack@fogcreek.com, Bob <bob@example.com>')
[
  {
    parts: {
      name: null,
      address: [Object],
      local: [Object],
      domain: [Object],
    },
    name: null,
    address: "jack@fogcreek.com",
    local: "jack",
    domain: "fogcreek.com",
    full: "jack@fogcreek.com",
  },
  {
    parts: {
      name: [Object],
      address: [Object],
      local: [Object],
      domain: [Object],
    },
    name: "Bob",
    address: "bob@example.com",
    local: "bob",
    domain: "example.com",
    full: "Bob <bob@example.com>",
  },
];

Though is this gettable by trimming the object's node.tokens?

repo: jackbearheart/email-addresses


text:
Delete before creating new snaps

according to the docs https://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots#deleting_snapshot this would be slightly more correct since instead of gcp handling the magic of references, we can allow the newly created snapshot to reference the right parent

@dvdliao Wouldn't the newly created snapshot always reference the right parent anyway? The snapshot immediately before this one. Given we delete the oldest snapshot, it's actually the 2nd oldest snapshot that has it's reference updated, not the newest one (which still points to the 2nd newest).
Deleting before we snapshot means that an issue that prevents a new snapshot from being created, could over time lead to all snapshots being deleted. Where as, if we correctly handle snapshot creation errors, before we delete, we can never end up deleting all snapshots before a new one is created.
"Snapshots aren't backups" is true, however when using them as a rolling restore point, it feels like a 'bad thing' to delete before we have new ones. I'm considering adding a flag to ensure a minimum of X snapshots are retained, regardless of age, but not sure if that's useful for everyone or just our specific use case. This would help prevent a situation where inability to create new snapshots doesn't result in all snapshots slowly being deleted as they age out.

We've actually had issues restoring from some snapshots (we regularly create a staging environment from production snaps), to google's documentation it states that order shouldn't be a problem but we've definitely seen some random cases where its not all magic and unexplainable errors for why we cannot recover.

authors: dvdliao timwsuqld

repo: jacksegal/google-compute-snapshot


text:
fix sink-man.ts 在read上游时的重入问题

Type of Change

[ ] New feature
[x] Bug fix
[ ] Documentation
[ ] Refactor
[ ] Chore

Resolves

Fixes #2

Describe Changes

Describe what this Pull Request does

Reject it because of a better solution comes from my next commit.

repo: jacobbubu/pull-mesh


text:
Making available on NPM?

Since this replaces and is inspired by maidfile, it would be great if the binaries were available on NPM for ease of installation in JS projects.
swc is an example of a Rust project with binaries available on NPM.
Could also be made available as WASM on NPM too

Although I do understand this would be more convenient in node-only environments, at this point in time I don't feel like maintaining an npm package for mask. It adds a lot of complexity to the release process and it requires precompiling binaries for many targets in order to download them post-install, as far as I know.

it requires precompiling binaries for many targets in order to download them post-install, as far as I know.

More or less, yes. https://github.com/evanw/esbuild/pull/1621 is a good reference.
But the current release process already precompiles binaries for GH releases and Brew, no?
The simpler alternative that I mentioned is a WASM build, which is a single binary

repo: jacobdeichert/mask


text:
PUT variables

How to get the put variables?
This is my curl request:
 curl -i -H "Accept: application/json" -X PUT -d description=test http://..../100
My code:
    /**
     * Update a link
     * @url PUT /$id
     */
    public function updateLink($id = null, $data)
    {
        var_dump($data);
    }

I thought that the $data variable is the requested variables but it doesn't work (returns NULL)

I can use:
parse_str(file_get_contents("php://input"),$data);

It should be, at either https://github.com/jacwright/RestServer/blob/master/source/Jacwright/RestServer/RestServer.php#L260 or https://github.com/jacwright/RestServer/blob/master/source/Jacwright/RestServer/RestServer.php#L274
I am not sure why it wouldn't be in your particular situation or setup without debugging.

You might try deleting the urlMap.cache file. This is often a source of problems when it isn't updated.

authors: Wikunia jacwright

repo: jacwright/RestServer

license: mit

license_source: bigquery


text:
npm install error

Hi,
I want to install the latest version but after run command npm install, i got 9 vulnerabilities. And then if i complete the instructions, i got blank page after run command php artisan serve.
Please help me :)

Hey @mrizkiph
Thanks for opening an issue!
Considering that Angular 1.x is not getting any new updates and same thing for laravel5-angular-material-starter, it's probably better to not use this starter anymore
Have you thought about using the latest angular?

authors: jadjoubran mrizkiph


text:
What I get from the default is very different from what you showed. Is it because of the code update?

I didn't get a good model

i am sorry, I do not mean that the epoch setting is the best.
The model is not yet converged after 10 epoch. You could try with 300 epochs.

i am sorry, I do not mean that the epoch setting is the best.
The model is not yet converged after 10 epoch. You could try with 300 epochs.

I have tried to increase the value of echop to 100, but the system reported CUDA error, your echop parameter seems to affect the CUDA occupation size, my GPU is 1080

In this case, you have to reduce the size of your batch.

在这种情况下，您必须减小批次的大小。

The effect of the model has been greatly improved. Thank you for your help

No problem, feel free to open another issue if there is anything wrong.
Best,
Yu-Hsiang


text:
Fix archive default values reported for ES and Cassandra

Describe the bug
Noticed when @mehta-ankit_gitlab raised the following question in Gitter:

Question regarding Archive option for Jaeger using Elasticsearch backend.
--es-archive.max-doc-count is set to 0 and --es-archive.max-span-age is set to 0s as default.
Does someone know, if these defaults mean age of the span (inside the archive index) is ignored when querying it.

When checking the --help docs, the default values are missing or incorrect for the *-archive* flags.
I confirmed the defaults should be the same as the non-archive equivalents as these are the values used for archive flags internally if unset; i.e. this bug only impacts --help documentation.
This also impacts the jaeger documentation: https://www.jaegertracing.io/docs/latest/cli/
To Reproduce
Steps to reproduce the behavior:

docker run -e SPAN_STORAGE_TYPE=elasticsearch jaegertracing/jaeger-query --help .
Same problem when changing storage type to cassandra.
Same problem with jaeger-collector as well.

Expected behavior
Got:
      --es-archive.max-doc-count int                       The maximum document count to return from an Elasticsearch query. This will also apply to aggregations.
      --es-archive.max-span-age duration                   The maximum lookback for spans in Elasticsearch (default 0s)
      --es-archive.num-replicas int                        The number of replicas per index in Elasticsearch
      --es-archive.num-shards int                          The number of shards per index in Elasticsearch

Want:
      --es-archive.max-doc-count int                       The maximum document count to return from an Elasticsearch query. This will also apply to aggregations. (default 10000)
      --es-archive.max-span-age duration                   The maximum lookback for spans in Elasticsearch (default 72h0m0s)
      --es-archive.num-replicas int                        The number of replicas per index in Elasticsearch (default 1)
      --es-archive.num-shards int                          The number of shards per index in Elasticsearch (default 5)

Version (please complete the following information):

OS: Linux & MacOS
Jaeger version: latest
Deployment: Dev

Additional Context
I propose the fix should be to share the primary (e.g. non-archive) default configs with all other additional namespaces like archive.

Thanks for creating this issue @albertteoh

Wanted to add a couple of other things to this issue:

It does not sound right, but if someone wants archive option, how would they decide on the --es-archive.max-span-age value. Any value they set would mean that once past that value they cannot query the archived span. Doesn't it defeat the purpose of archiving a span ?? 🤔
Since I was confused about the default values, i did a test. I manually updated data in the Elasticsearch index (updated the startTime value for a document to be 20 days old) and then tried to view the archived span on the Jaeger Query (using the url i had saved). It did work  for me. If default value of max-span-age was 72h for archived spans, query should not have been able to retrieve that span.

Fair questions, @mehta-ankit. Short answer is, --es-archive.max-span-age is not used when fetching archived traces.
Here's what jaeger-query does when fetching a specific trace by ID:

Try to find it in the current index (e.g. jaeger-span-2021-02-26):

{
  "size": ${es.max-doc-count},
  "terminate_after": ${es.max-doc-count},
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "traceID": {
              "value": "${traceid-to-search}",
              "boost": 2
            }
          }
        },
      ...
  "search_after": [
    ${now - es.max-span-age}
  ]
}

If not found, search in the jaeger-span-archive index. Note: search_after is omitted from the query, so --es-archive.max-span-age is not used:

{
  "size": ${es-archive.max-doc-count},
  "terminate_after": ${es-archive.max-doc-count},
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "traceID": {
              "value": "${traceid-to-search}",
              "boost": 2
            }
          }
        },
        ...
}

Thanks for answering my question @albertteoh .
Based on your own answer, don't you think this (what you said in the issue description) is not the correct solution then ?
I confirmed the defaults should be the same as the non-archive equivalents as these are the values used for archive flags internally if unset; i.e. this bug only impacts --help documentation.
I feel if --es-archive.max-span-age is not used when querying archived spans, then documentation should just say that, and it should not share primary default configs.
What do you think ?

@mehta-ankit another option is to default --es-archive.max-span-age to the maximum allowable duration in Go (290 years) which is effectively the same as omitting the "lookback" time filter in the ES query. I think this is better than 0s and the default 72h which I think are both misleading, even in the presence of updating the documentation to indicate it is not used.
What do you think?

I feel ideal solution is to not show the flag that is not used in code (as overwriting it has no impact).
But if we cannot do it (if it's not trivial) I agree that a large enough values makes it clear what time limit would be used for search and hence what spans might be returned. (which is all 😄 ). So i agree this is better than showing 0s or 72h

authors: albertteoh mehta-ankit

repo: jaegertracing/jaeger


text:
Use Elasticsearch 6 in xdock

This has been discussed during bi-weekly call. The motivation is to get more reliable and faster xdock tests.
Signed-off-by: Pavol Loffay ploffay@redhat.com

We have a green build. The run time is almost the same. I will restart it to see whether it is stable or not.


text:
Fix typo in CHANGELOG.md

#2902 Fix typo in CHANGELOG.md

Thanks!


text:
Mutation query needs POST

Hey, as far as I can tell mutations are implemented but query always does a GET when mutations are expected to be POST. Am I doing something wrong?

You're right. Mutations are new so please do report any further issues. Fixed in 9bb8837bc9c017340182d7036997b1e13a400bc0.

oh wow already fixed! thank you @jahewson 👍

authors: jahewson patrickdet

repo: jahewson/elm-graphql


text:
It's called hereby, don't use it, thanks -- Why?

In the talk-ts-congress-2023 slides, there is a line:

It's called hereby, don't use it, thanks 😅

Could I ask why? TypeDoc's build system has become somewhat messy, and I liked the way this looked last time I looked at the TS compiler's build setup...

This package was intended for use in TypeScript's build system, and that's basically it. It has all of the features it needs, and it's unlikely I'm going to add any more. If you're happy with those warnings, then feel free to use it!
That line was more of a joke; I'm not one to advertise my projects, so at best I can try to be funny about it.

repo: jakebailey/hereby


text:
Added a view

Thought a view might be handy

A view is an HTML document, and looking up Google > Is it necessary to write doctype in HTML?

"All HTML need to have a DOCTYPE declared. The DOCTYPE is not actually an element or HTML tag. It lets the browser know how the document should be interpreted, by indicating what version or standard of HTML (or other markup languages) is being used."

I had the same idea of having a drop-down to choose if you want a view with or without a template.  Maybe we chat about on Skype.  I don't think it makes the extension more complicated if anything it makes you faster with a boilerplate at your finger tips.

Sounds good, but was thinking you were right about using a template with
the view. Do you think we could implement a template with the currently
selected CSS framework or one of ours, keeping it simple?
On Sun, 25 Oct 2020, 8:08 pm jakecastelli, notifications@github.com wrote:

@jakecastelli approved this pull request.
I will merge this with the additional popup (maybe implementing next week).
Also, thinking when the user presses enter button, we directly open the
controller file.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/jakecastelli/trongate-vscode/pull/9#pullrequestreview-516338262,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3TRDS5QDH4KMDDVVZT72TSMPTHHANCNFSM4S22AEIQ
.

Good idea, we could have a simple template of ours.

repo: jakecastelli/trongate-vscode


text:
Bulk

Hi,
Your boilerplate works fine when I followed the steps in your readme.
But, unfortunately I can't use your boilerplat as is. So, I am just trying to get the browserify part of this work in my existing code base. I am getting a weird error in the _index.js file.
Uncaught TypeError: fs.readdirSync is not a functionGlob._readdir @ glob.js:662Glob._process @ glob.js:446iterator @ glob.js:181Glob @ glob.js:179glob @ glob.js:57globSync @ glob.js:76(anonymous function) @ index.js:23module.exports @ index.js:17(anonymous function) @ _index.js:83._process @ _index.js:9s @ _prelude.js:1(anonymous function) @ _prelude.js:1(anonymous function) @ app.js:101../controller.dashboard @ app.js:59s @ _prelude.js:1e @ _prelude.js:1(anonymous function) @ _prelude.js:1
I beleive this is from the bulk-require package. Is there any other dependencies that I need to install to get buld-require working?
Can I use https://github.com/aseemk/requireDir instead of bulk-require?

I managed to fix this by using bulkify and brfs. Couldn't delete or close this issue ticket.


text:
Start importing metadata

This code actually seems to work! It is a good start anyway.
The "mdls" tool is handy for looking at the data indexed for a given filename.

Excellent - this looks really good.

authors: chrisridd jaketmp

repo: jaketmp/ePub-quicklook


text:
CI: Add lint check on Github Actions

This commit adds a new check on the Github Action, where a lint is
passed on all code to make sure that there  is no mistakes.
Signed-off-by: Eloy Coto eloy.coto@acalustra.com

yeah!


text:
[Bug] Permission Control

Version 6.5.0
17 April 2019
Normal user can add himself with an admin role.
It can be reproduced with below sequence

Set a normal user as admin. We call it User1
Login with Uer1
Change role of User1, disable the admi role with another Admin account (It can be done with chrome incognito feature / Or user another browser)
Refresh the User1 web page. The respositories are OK. But the User button is still available for User1. He can add admin role to himself. <--- This is the point

Thanks for this - this type of problem is very common with the kind of cookie auth which ASP.NET (and Core) applications use.  The issue is that User1 has a cookie which says he's an admin, and there's nothing about revoking his admin rights (via another session) which can directly reach out to his browser and revoke the cookie.
The only solution is to re-validate the cookie against the database on every access, which isn't usually considered to be very good for performance.
However, I'd say that Bonobo is not usually used in very high-volume environments, and it would probably make sense to make sure that the cookie is revalidated more often.

@willdean
To my opinion, it's a minor bug that that 'normal' user can edit user profie at the fronend.
But the backend side accepts the 'set as admin' request. It's the major issue.

authors: BetterYan willdean

repo: jakubgarfield/Bonobo-Git-Server