text:
ModuleNotFoundError: No module named 'damo'

请大神帮忙看看，我这个问题确实有蒙蔽，在pycharm上都能正常导入引用，但是训练时候就会报错。
python -m torch.distributed.launch --nproc_per_node=1 tools/train.py -f configs/damoyolo_tinynasL20_T_fire_smoke_xy_calling_body.py
/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launch.py:178: FutureWarning: The module torch.distributed.launch is deprecated
and will be removed in future. Use torchrun.
Note that --use_env is set by default in torchrun.
If your script expects --local_rank argument to be set, please
change it to read from os.environ['LOCAL_RANK'] instead. See
https://pytorch.org/docs/stable/distributed.html#launch-utility for
further instructions
warnings.warn(
Traceback (most recent call last):
File "tools/train.py", line 13, in
from damo.apis import Trainer
ModuleNotFoundError: No module named 'damo'
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 46733) of binary: /media/extend/anaconda3/envs/yolov5_2.0/bin/python
Traceback (most recent call last):
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launch.py", line 193, in
main()
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launch.py", line 189, in main
launch(args)
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launch.py", line 174, in launch
run(args)
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/run.py", line 710, in run
elastic_launch(
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
tools/train.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2022-12-01_17:44:43
host      : bova
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 46733)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

去掉 多余跑单机也是这个错误
python  tools/train.py -f configs/damoyolo_tinynasL20_T_fire_smoke_xy_calling_body.py
Traceback (most recent call last):
File "tools/train.py", line 13, in
from damo.apis import Trainer
ModuleNotFoundError: No module named 'damo'

添加完路径后出现分布式问题，我是单卡测试。请问有yolov5版模块吗？方便部署运行
export PYTHONPATH=/media/extend/DAMO-YOLO
(yolov5_2.0) :/media/extend/DAMO-YOLO$ python  tools/train.py -f configs/damoyolo_tinynasL20_T_fire_smoke_xy_calling_body.py
2022-12-02 09:42:50.622 | ERROR    | main::67 - An error has been caught in function '', process 'MainProcess' (54751), thread 'MainThread' (140447848367936):
Traceback (most recent call last):

File "tools/train.py", line 67, in
main()
└ <function main at 0x7fbc23326c10>

File "tools/train.py", line 51, in main
torch.distributed.init_process_group(backend='nccl', init_method='env://')
│     │           └ <function init_process_group at 0x7fbc25e17790>
│     └ <module 'torch.distributed' from '/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/...
└ <module 'torch' from '/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/init.py'>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 576, in init_process_group
store, rank, world_size = next(rendezvous_iterator)
│      │                       └ <generator object _env_rendezvous_handler at 0x7fbc186017b0>
│      └ -1
└ None
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/rendezvous.py", line 219, in _env_rendezvous_handler
rank = int(_get_env_or_raise("RANK"))
└ <function _env_rendezvous_handler.._get_env_or_raise at 0x7fbc185d0160>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/distributed/rendezvous.py", line 203, in _get_env_or_raise
raise _env_error(env_var)
│          └ 'RANK'
└ <function _env_rendezvous_handler.._env_error at 0x7fbc185d01f0>
ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable RANK expected, but not set

需要指定torch分布式以及nproc_per_node，尝试以下命令进行训练：
python -m torch.distributed.launch --nproc_per_node=1 tools/train.py -f configs/damoyolo_tinynasL20_T_fire_smoke_xy_calling_body.py

执行export PYTHONPATH=当前项目路径，试试是否能够成功运行。

worked for me!
Thanks!

谢谢，我发现是torch版本问题。目前来看torch1.7.0会正常到下一步，不过接着又出现空标背景图片读取问题，真是一部一坑阿，求大神指点。报错如下：
2022-12-03 15:37:13 | INFO     | damo.apis.detector_trainer:149 - Start Training...
2022-12-03 15:37:13 | INFO     | damo.apis.detector_trainer:152 - Enable ema model! Ema model will be evaluated and saved.
data_dir:/home/Documents/data_yu   attrs:{'img_dir': 'fire_smoke_xy_calling_body_coco/images/20221118/train2014', 'ann_file': 'fire_smoke_xy_calling_body_coco/annotations/instances_train2014.json'}
2022-12-03 15:37:13 | INFO     | torchvision.datasets.coco:113 - loading annotations into memory...
2022-12-03 15:37:13 | INFO     | torchvision.datasets.coco:113 - Done (t=0.24s)
2022-12-03 15:37:13 | INFO     | pycocotools.coco:89 - creating index...
2022-12-03 15:37:13 | INFO     | pycocotools.coco:89 - index created!
data_dir:/home/Documents/data_yu   attrs:{'img_dir': 'fire_smoke_xy_calling_body_coco/images/20221118/val2014', 'ann_file': 'fire_smoke_xy_calling_body_coco/annotations/instances_val2014.json'}
2022-12-03 15:37:13 | INFO     | torchvision.datasets.coco:113 - loading annotations into memory...
2022-12-03 15:37:14 | INFO     | torchvision.datasets.coco:113 - Done (t=0.02s)
2022-12-03 15:37:14 | INFO     | pycocotools.coco:89 - creating index...
2022-12-03 15:37:14 | INFO     | pycocotools.coco:89 - index created!
2022-12-03 15:37:22 | INFO     | damo.apis.detector_trainer:260 - Model Summary: backbone's params(M): 2.36, flops(G): 8.66, latency(ms): 7.389
neck's params(M): 5.92, flops(G): 8.53, latency(ms): 8.019
head's params(M): 0.60, flops(G): 1.92, latency(ms): 1.636
total latency(ms): 15.685, total flops(G): 19.11
2022-12-03 15:37:22 | INFO     | damo.apis.detector_trainer:266 - Training start...
2022-12-03 15:37:22 | ERROR    | main:67 - An error has been caught in function '', process 'MainProcess' (62878), thread 'MainThread' (139690254944064):
Traceback (most recent call last):

File "tools/train.py", line 67, in
main()
└ <function main at 0x7f0bcff579d0>

File "tools/train.py", line 63, in main
trainer.train(args.local_rank)
│       │     │    └ 0
│       │     └ Namespace(config_file='configs/damoyolo_tinynasL20_T_fire_smoke_xy_calling_body.py', local_rank=0, opts=[], tea_ckpt=None, te...
│       └ <function Trainer.train at 0x7f0bc66a6790>
└ <damo.apis.detector_trainer.Trainer object at 0x7f0c2befba60>
File "/media/extend/DAMO-YOLO/damo/apis/detector_trainer.py", line 272, in train
for data_iter, (inps, targets, ids) in enumerate(self.train_loader):
│    └ <torch.utils.data.dataloader.DataLoader object at 0x7f0b8d1f4880>
└ <damo.apis.detector_trainer.Trainer object at 0x7f0c2befba60>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 435, in next
data = self._next_data()
│    └ <function _MultiProcessingDataLoaderIter._next_data at 0x7f0bcff3e1f0>
└ <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7f0bbc2bc550>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1085, in _next_data
return self._process_data(data)
│    │             └ <torch._utils.ExceptionWrapper object at 0x7f0b84e593a0>
│    └ <function _MultiProcessingDataLoaderIter._process_data at 0x7f0bcff3e310>
└ <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7f0bbc2bc550>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1111, in _process_data
data.reraise()
│    └ <function ExceptionWrapper.reraise at 0x7f0c2bc14dc0>
└ <torch._utils.ExceptionWrapper object at 0x7f0b84e593a0>
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/_utils.py", line 428, in reraise
raise self.exc_type(msg)
│    │        └ 'Caught ValueError in DataLoader worker process 0.\nOriginal Traceback (most recent call last):\n  File "/media/bova/extend/a...
│    └ <class 'ValueError'>
└ <torch._utils.ExceptionWrapper object at 0x7f0b84e593a0>
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 198, in _worker_loop
data = fetcher.fetch(index)
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/media/extend/DAMO-YOLO/damo/dataset/datasets/mosaic_wrapper.py", line 300, in getitem
img, labels = random_affine(
File "/media/extend/DAMO-YOLO/damo/dataset/datasets/mosaic_wrapper.py", line 142, in random_affine
segments = resample_segments(segments)  # upsample
File "/media/extend/DAMO-YOLO/damo/dataset/datasets/mosaic_wrapper.py", line 28, in resample_segments
segments[i] = np.concatenate([
File "/media/extend/DAMO-YOLO/damo/dataset/datasets/mosaic_wrapper.py", line 29, in
np.interp(x, xp, s[:, i]) for i in range(2)
File "<array_function internals>", line 180, in interp
File "/media/extend/anaconda3/envs/yolov5_2.0/lib/python3.8/site-packages/numpy/lib/function_base.py", line 1570, in interp
return interp_func(x, xp, fp, left, right)
ValueError: array of sample points is empty

?

My GPU is NVIDIA 3090, and this version of CUDA must be greater than 11.0. So I cannot install and use Torch1.7.0.How can I solve this problem

authors: funnymean gf-zhong jyqi yutao007

repo: tinyvision/DAMO-YOLO


text:
[review] 웹에서도 리뷰 더보기 버튼을 통해 리뷰 상세 페이지에 접근할 수 있도록 수정합니다.

PR 설명
WATF-42 웹에서도 리뷰 더보기 버튼을 통해 리뷰 상세 페이지에 접근할 수 있도록 수정합니다.

변경 내역

기존 더보기 버튼에 있는 useAppCallback을 제거합니다.
navigate하는 인링크 주소를 웹 주소로 변경합니다.
routelist에 리뷰 리스트 페이지를 추가합니다.

체크리스트

[x] 기획자/디자이너에게 확인을 받았나요? 혹은 확인이 필요없는 이슈인가요?

스크린샷 & URL

release-canary

제 기억상 웹에서 리뷰 상세 페이지 접근을 막았던 이유가 앱 전환 때문이 였던거 같은데, 이제는 접근을 허용하나보군요?

네네 맞습니다! 이제 웹 활성화를 위해 웹에서 제한되었던 기능들을 하나씩 풀어나갈 예정입니다.

🙇♂

source: gharchive/pull-request

repo: titicacadev/triple-frontend

license: MIT

license_type: permissive

license_source: github-api


text:
Audit object adders/setters

In some classes, when an object is added or set by a key, it is done in 1 of 2 ways.

The key is passed to the setter and then set on the object.

$foo->addObject('key', new Object());

The key is passed to the object and then retrieved by the setter using a getter method on the object.

$foo->addObject(new Object('key'));

Consolidate a single way to handle this.

The 1st option should be used.

source: gharchive/issue

repo: titon/framework

license_source: bigquery


text:
Add files via upload

DESCRIPTION
Nombre: Juan Luis Alvarez Morales
Email: luis.alvarez@uicui.edu.mx
WhatsApp: (+52) 720 249 2600
Ciudad: Toluca
Pais: México
¿Como explicarias el proposito de este proyecto? (opcional)
El propósito de este proyecto es implementar una solución eficiente para el problema de "Combination Sum". Este problema requiere encontrar todas las combinaciones únicas de números de una lista dada que sumen a un objetivo específico.
¿Cuál es tu stack tecnológico preferido? ¿Por qué? (opcional)

Hola Juan Luis,
Funcionalidad: La función resuelve correctamente el problema propuesto.
Algoritmo: Utiliza backtracking de manera efectiva.
Pruebas: No se mencionan ni incluyen pruebas en el PR.
Calidad del Código: El código es limpio y bien estructurado.
Documentación y Estructura: La documentación es básica, se podría ampliar.
Sugerencia
Agregar un archivo de pruebas unitarias para garantizar la funcionalidad y el .gitignore
Saludos,
Alejandro

repo: tiui-fulfillment/tiui-combination-sum-


text:
🛑 home.tjo.space is down

In dd44ae5, home.tjo.space (https://home.tjo.space) was down:

HTTP code: 404
Response time: 825 ms

Resolved: home.tjo.space is back up in 5ce7e54.

repo: tjo-space/status


text:
Spark applications using the Loki appender hang at shutdown

I am using the Loki log appender in an Apache Spark application deployed with spark-submit. The Spark application hangs indefinitely at shutdown. When running the application from the command line I have to explicitly kill the task using CTRL-C in order to terminate the program.
This is the Scala code of my application:
object TestApplication {

  def main(args: Array[String]) = {
    val session = SparkSession.builder.getOrCreate()
    import session.implicits._
    val logger = LogManager.getLogger("TestApplicationLogger")
    logger.info("starting application ")
    val data = Seq.fill[Int](100)(1)
    val count = data
      .toDS()
      .map(x => {
        val message = String.format(
          "process on node %s %s",
          java.net.InetAddress.getLocalHost().getHostName(),
          TaskContext.getPartitionId().toString())
        val l = LogManager.getLogger("TestApplicationLogger")
        l.info(message)
        x
      })
      .count
    logger.info(String.format("Processed %s elements", count.toString()))
  }
}

And here are the last lines of the command line output:
22/12/07 15:57:52 INFO TaskSchedulerImpl: Killing all running tasks in stage 2: Stage finished
22/12/07 15:57:52 INFO DAGScheduler: Job 1 finished: count at TestApplication.scala:19, took 0.368057 s
2022-12-07 15:57:52,364 main TRACE Log4jLoggerFactory.getContext() found anchor interface org.apache.spark.internal.Logging
22/12/07 15:57:52 INFO TestApplicationLogger: Processed 100 elements

- HERE THE PROGRAM STOPS AND CONTINUES ONLY AFTER MANUALLY TERMINATING IT WITH CTRL-C -

22/12/07 15:59:09 INFO SparkContext: Invoking stop() from shutdown hook
2022-12-07 15:59:09,128 SparkUI-71 TRACE Log4jLoggerFactory.getContext() found anchor class org.sparkproject.jetty.util.log.Slf4jLog
2022-12-07 15:59:09,131 shutdown-hook-0 TRACE Log4jLoggerFactory.getContext() found anchor interface org.apache.spark.internal.Logging
22/12/07 15:59:09 INFO SparkUI: Stopped Spark web UI at http://192.168.88.194:4040
22/12/07 15:59:09 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
22/12/07 15:59:09 INFO MemoryStore: MemoryStore cleared
22/12/07 15:59:09 INFO BlockManager: BlockManager stopped
22/12/07 15:59:09 INFO BlockManagerMaster: BlockManagerMaster stopped
22/12/07 15:59:09 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
22/12/07 15:59:09 INFO SparkContext: Successfully stopped SparkContext
22/12/07 15:59:09 INFO ShutdownHookManager: Shutdown hook called
22/12/07 15:59:09 INFO ShutdownHookManager: Deleting directory /tmp/spark-ae372578-3098-4051-b54b-64444a536497
22/12/07 15:59:09 INFO ShutdownHookManager: Deleting directory /tmp/spark-37b54d5b-12bd-42e5-a828-daa55179b647

As you can see, the program stops after the last line in the Scala code and waits there indefinitely until I press CTRL-C.
Is this a known problem?

Hi, sorry for late reply. This should not happen. Can you do thread dump (jstack) of the app so we could see which threads are keeping it from closing?

Hello, I think the same issue is happening on Spring Boot as well. It seems that thread hangs at ReadingLogBufferAndSendingHttp in SleepingMillisIdleStrategy.

Sorry for my very, very, very late reply. I did not follow this issue since it seems that this is an issue specific to spark-submit. When I run the Spark job on a platform like Databricks everything works as expected. However, since this seems to show up at Spring Boot too, I guess some further investigation is a good idea. Do you still need a thread dump? In this case I somehow have to resurrect the old code in order to reproduce the error.

Hi, yes please. If you can provide any more data I would greatly appreciate that. I was recently looking into this. @theaob  mentioned ReadingLogBufferAndSendingHttp class which is from older version of Tjahzi. Now it's LogShipper so please also include the version of Tjahzi you are using. Thanks!

Hi, yes please. If you can provide any more data I would greatly appreciate that. I was recently looking into this. @theaob mentioned ReadingLogBufferAndSendingHttp class which is from older version of Tjahzi. Now it's LogShipper so please also include the version of Tjahzi you are using. Thanks!

I think i meet the same problem, it hang my spring boot application at shutdown.

The test project has only 3 files.

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.lanyuanxiaoyao.micro.service</groupId>
        <artifactId>center</artifactId>
        <version>1.0.0</version>
    </parent>

    <artifactId>test</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>2.6.13</version>
        </dependency>
        <dependency>
            <groupId>pl.tkowalcz.tjahzi</groupId>
            <artifactId>logback-appender</artifactId>
            <version>0.9.26</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.13</version>
            </plugin>
        </plugins>
    </build>

</project>

TestApplication.java
package com.lanyuanxiaoyao.micro.service.test;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author lanyuanxiaoyao
 * @date 2023-02-02
 */
@SpringBootApplication
public class TestApplication implements ApplicationRunner {
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }

    @Override
    public void run(ApplicationArguments args) {
        System.out.println("hello world");
    }
}

logback-spring.xml
<configuration>
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />

    <appender name="Loki" class="pl.tkowalcz.tjahzi.logback.LokiAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <url>http://localhost/loki/api/v1/push</url>
        <encoder>
            <pattern>${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} [${HOSTNAME}] ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}</pattern>
        </encoder>
        <label>
            <name>app</name>
            <value>test</value>
        </label>
        <label>
            <name>host</name>
            <value>${HOSTNAME}</value>
        </label>
        <logLevelLabel>level</logLevelLabel>
    </appender>

    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="Console"/>
    </root>

</configuration>

If i remove the LokiAppender from logback-spring.xml, it will exit without hang.

Thank you for providing reproducer.

I have reproduced this issue. I am not very familiar with Spring app lifecycle but looks like logging system (LogbackLoggingSystem) provides a shutdown handler (getShutdownHandler) but these are only called by SpringApplicationShutdownHook which is called only when JVM exits. But JVM does not exit because Tjahzi has some non daemon threads. I am surprised that there is no explicit lifecycle phase here and Spring relies on JVM to invoke the cleanup.
I have intentionally used non-daemon threads so that exiting application must stop the logging system so all buffers are flushed and all messages sent.
Should I provide a configuration option to use no daemon threads? I don't see any other option currently and are open for ideas.

Hi @lanyuanxiaoyao, @eugenwintersberger, @theaob!
I have released a new version of Tjahzi for Logback and Log4j2 that has option to use daemon threads. This should fix your problem but may cause messages to be lost during shutdown. Alternatively you can manyally shutdown the Spring logging system.
See: https://github.com/tkowalcz/tjahzi/tree/master/log4j2-appender#usedaemonthreads-optional-default--false

authors: eugenwintersberger lanyuanxiaoyao theaob tkowalcz

repo: tkowalcz/tjahzi


text:
Add sort markdown list pre-commit hook to sort items

Project name:
Project website/repository:
License:
Submission type:

Checklist for all pull requests:

[ ] Project is certified awesome

[ ] The project is open-source and accessible.
[ ] Searched the existing entries to make sure this is not a duplicate.
[ ] Contains only a single addition (make separate PRs if adding more than one).
[ ] Added the link to the bottom of the relevant category.
[ ] Created a new category only if necessary.

[ ] Add icon from the media/icon/ folder if applicable (e.g., ![Python](media/icon/python.png) ).
[ ] Checked spelling and grammar.
[ ] Removed trailing whitespace and periods.
[ ] Confirm the dash – is not a minus -.
[ ] Used title-casing (AP style) for project name.

Checklist for new software projects:

[ ] Link the code repository rather than the website/documentation
[ ] Installation instructions present
[ ] Documentation looks great
[ ] Examples or Tutorials to follow
[ ] Tests and Travis CI running

Checklist for new Data Repositories, Tutorials and Cheat Sheets, and Miscellaneous:

[ ] Easily accessible
[ ] Comprehensive and widely appealing

@all-contributors please add @tkoyama010 for code


text:
Provide environment variables without env. prefix

If environment variables were injected directly into the data model (${JAVA_HOME}) rather than being accessed underneath the env variable (${env.JAVA_HOME}), the functionality defined in this package would become a superset of Dropwizard's built-in EnvironmentVariableSubstitutor. This would allow an easy "upgrade path" from Dropwizard's substitutor to this bundle as a project's needs get more complex.
@tkrille - What do you think of adding this? Could we potentially make this a default behavior? Or would you want to make users turn it on explicitly through a new option, say a boolean flattenEnvironment?

the functionality defined in this package would become a superset of Dropwizard's built-in EnvironmentVariableSubstitutor

I just realized the above statement was overly strong, as the EnvironmentVariableSubstitutor has a syntax for defaults which differs from freemarker (:- vs. !), but transitioning between the two would still be easier if it were possible to skip the env. prefix.

I really like the idea. I always felt, that the syntax for accessing variables is overly verbose, too. The issue with this is, that this bundle not only support environment variables, but system properties, too. One possible solution would be to flatten and merge both system properties and environment variables with system properties having a higher or lower precedence. I think the details just have to be figured out, but the idea is very good und we should pursue it.

What do you think? What should have higher precedence? I think we can make this change backwards compatible, which should work as long as no one defines variables named env, or sys.

If we come up with a working solutions quick, this might be included in 1.3.0 too.

What do you think? What should have higher precedence?

I've never had a need to inject a system property into a config, so I'd certainly be biased to give environment variables higher precedence.
I believe that implementing that precedence would be quite straightforward, loading items into the data model in increasing order of precendence, letting later additions overwrite any earlier definitions:
dataModel.putAll(systemPropertiesProvider.getSystemProperties());
dataModel.putAll(environmentProvider.getEnvironment());
dataModel.put("sys", systemPropertiesProvider.getSystemProperties());
dataModel.put("env", environmentProvider.getEnvironment());

This looks really good. Do you want to implement it? :)

I agree with you about system properties.

Closed with #17

authors: jklukas tkrille

repo: tkrille/dropwizard-template-config


text:
Menus too long for page

Hi guys
I am using the material theme and find that the menu is too long for the screen... whereas the bootswatch ones are ok.
Thanks in advance
Kriss :)

That's a bit unfortunate, I'd even call it a style bug, sort of. But the menu scrolls together with the rest of the page, so functionality is still there, right?

It is yes but wondering if it could be shortened... or is that something that someone else would do?
Kriss :)

You could use custom CSS, like
.navbar.navbar-default .dropdown-menu li>a {
￼    font-size: 16px;
￼    padding: 5px 16px;
}

Default padding: 13px 16px;
So, play with the first value (top/bottom).

Thanks!

Woohoo! thanks!

This should be improved in upcoming 2.0.6

I had noticed something happen on an update :)
Kriss :)
Kriss :)
Krissmania http://krissharmsworth.rocks/blog/
On 19 October 2017 at 16:01, Thomas Kuther notifications@github.com wrote:

This should be improved in upcoming 2.0.6
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tkuther/piwigo-bootstrap-darkroom/issues/99#issuecomment-337936012,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Adn3TjjQFUtBabLeVR4ufC-BaQSH8hm3ks5st2QsgaJpZM4O4jDf
.

authors: SciFiKriss tkuther

repo: tkuther/piwigo-bootstrap-darkroom


text:
I8 get course published date

Fixes #8

This PR is working but I opened as draft PR I just want to check a few things before I open it up. I just want all have a peek of what I have been doing and going back and forth in slack with my questions.

I think I'm about ready to approve this. @pushyamig, can you add the new environment variables to the table in the README?

I think I'm about ready to approve this. @pushyamig, can you add the new environment variables to the table in the README?

Done

authors: pushyamig ssciolla

repo: tl-its-umich-edu/course-inventory


text:
Is there a way to look at the generated programs?

Is there a way to look at the generated programs/subgraphs? For example, if there is some CUDA/Python code that's generated and measured, is it possible to look at that code file?
Apologies, if the answer to this is obvious. Really new to TVM.
Thanks,
Akash

https://github.com/tlc-pack/tenset#inspect-tasks-and-programs-in-the-dataset

authors: akash-isu merrymercy

repo: tlc-pack/tenset


text:
How to finetune model with a new knowledge?

Sorry for my probably newbie questions.
As I understand with current finetuning we teach how model should answer to our questions based on already present knowledge from basic training.
But what If I want to include new knowledge to the model and be able to ask different questions about it?
For example: make model learn the whole novel/specific town latest news/specific scientific paper etc. Then ask it to summarize or analyze something within that new knowledge. In other words, if I want to ask a model questions based on huge input text (which is 100-1000 times bigger than the max input tokens).
How can I achieve this? Or where I can learn how to do it?

It should be possible to train it on new data. You can run finetune.py after you prepare your dataset.
You can use the Standord Alpaca method for data generation: Data Generation Using OpenAI APIs
So basically, you collect some news papers here and there, you use OpenAI to generate Question/Answer pairs (A lot). And then, you just run the finetune.py on the prepared jsonl dataset.
If you want to automate all of this, it should be possible, but you won't get the answer in real time (at least 5 hours training on RTX 4090).
There is also soft fine tuning, where you give GPT-4 the latest news in the prompt and ask about it, which should be possible to do in real time and you can automate it as well.
The main reason why Alpaca-lora it is not real time yet, is the context length (how much information can you provide in the prompt). I have no information about Alpaca-lora context length at the moment.
Also, OpenAI have a fine tuning API that works in less than 10mn. They should be using something like LORA as well. In near term you should be able to crawl breaking news about a town and update your fine tuned model every 1 hour.
Another method, is to do what Bing does, you query a search engine in real time, it gives you a snippet, you put that snippet into the prompt and append the user question to it.

@collant Thank you for reply! But there is a problem with mentioned approach. Current finetuning is based on input->output pairs which makes model to learn how to behave (and for sure can add some new knowledge from dataset answers). But when I want to teach the model about some new scientific paper for example, I don't know what type of questions I want to ask in the future and what type of answer I want to get from that specific paper. In other words I don't have that input/output pairs for current finetuning.
What I need is to throw the whole huge paper/book into the model so It memorize it. Then use models analytic abilities to extract the right facts from memorized huge (so I can't just include it to input cause it 100 times bigger then input tokens limitation) text  and give me answers.

But when I want to teach the model about some new scientific paper for example, I don't know what type of questions I want to ask in the future

You don't need to actually come up with all the questions, you just give it some questions and answers about a specific paper that's who it will be able to construct a sort of knowledge and it will be able to answer others using its analytic abilities.
So you will need a pipeline that will automate question generation. Here is an example:

You provide GPT-4 with one page of the scientific paper + abstract + conclusion and ask it to generate questions.
You ask it to answer those questions.
You do this in a loop for all the pages you want.
With the collected dataset you fine tune the model with the question/answers generated from a list of papers.
When the the model is fine tuned, you can ask it other questions that are not in the dataset.

You can augment the GPT-4 questions with a hidden prompt that you do not need to provide to the fine tuned model.
For example, the first line in the prompt asks it to cite the current paper or other papers for each sentence in the answer.

Isn't there a way to train embeddings? Not sure how well it translates, but in stable diffusion, if you want it to draw an object it hasn't yet seen, you feed it a couple of images of said object and train an embedding. After that, when you add it to the prompt, it knows what you're talking about.

Isn't there a way to train embeddings? Not sure how well it translates, but in stable diffusion, if you want it to draw an object it hasn't yet seen, you feed it a couple of images of said object and train an embedding. After that, when you add it to the prompt, it knows what you're talking about.

Yes, that also should work. I think Lora model behaves as an embeddings NN.
See this example where they use Lora in Stable diffusion with pretty good results:
https://huggingface.co/spaces/smangrul/peft-lora-sd-dreambooth

I might have missed the point, because they use this approach to mostly direct the model in a certain style; and not to give it some new knowledge. But after all, the model memorizes things by being trained on them.

@collant Thank you for clarification! This is definitely a good option to try and see if it get the desired results.
Will check Hugging Face Lora training as well. It wold be better not to use GPT-4 every time for such kind of tasks if this method works good.

You can also use Alpaca-lora (this repo) to generate questions and answer them:

But I don't  think the 7B model quality would be good enough for this kind of tasks. Someone needs to try with the 65B + Human supervision.

I can even see one small empirical evidence of new knowledge with the alpaca_data.json from Stanford.
{
        "instruction": "Discuss the causes of the Great Depression",
        "input": "",
        "output": "The Great Depression was a severe global economic downturn that lasted from 1929 to 1939. It was caused by several factors, including the stock market crash of 1929, structural weaknesses in the economy, low consumer spending, high unemployment, and a lack of confidence in the banking system. Other contributing factors included overproduction of commodities, reliance on borrowing to finance investments, agricultural overproduction, and a decrease in international trade."
    }

After all the model is fine tuned to provide those answers.

@collant were the screenshots from a custom gradio? looks neat.
Sadly I agree that 7b (and 13b) are nowhere near sufficient for anything too serious.

@collant were the screenshots from a custom gradio? looks neat. Sadly I agree that 7b (and 13b) are nowhere near sufficient for anything too serious.

These are from gradio, run by the generate.py file in this repo.

I can even see one small empirical evidence of new knowledge with the alpaca_data.json from Stanford.
{
        "instruction": "Discuss the causes of the Great Depression",
        "input": "",
        "output": "The Great Depression was a severe global economic downturn that lasted from 1929 to 1939. It was caused by several factors, including the stock market crash of 1929, structural weaknesses in the economy, low consumer spending, high unemployment, and a lack of confidence in the banking system. Other contributing factors included overproduction of commodities, reliance on borrowing to finance investments, agricultural overproduction, and a decrease in international trade."
    }

After all the model is fine tuned to provide those answers.

You only finetune on new data or also on old data

Is there a way to train from general purpose articles/stories without using the question-answer format?
I'd like to train a model for general-purpose writing.

Is there a way to train from long-form text/articles/stories without using the question-answer format?
Can I just feed in 1 full article text at a time through the generate_prompt function in finetune.py (without the ### Instruction and ### Response and such) to train?
I'd like to train a model for general-purpose writing (fiction and non fiction).

Yes, that's actually the main thing LLMs are used for, you can just provide the text, truncated each time, maybe overlapping.
You can modify the generate_prompt method to put your dataset as is.
I wouldn't go too much on general puprose writing, maybe just fine tune it on one story + different endings. So the user can steer the story on inference time to their likings.

Hi,
I'm trying to fine tune some other data. For these data, I believe I need a larger CUTOFF_LEN, so I set them to 1024 or 2048. However I see a CUDA out of memory error if I do that.

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 512.00 MiB (GPU 0; 23.65 GiB total capacity; 21.58 GiB already allocated; 433.69 MiB free; 22.04 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

I tried all the parameters like MICRO_BATCH_SIZE, BATCH_SIZE , EPOCH, but none seems help. I wonder what else I can do  if I want to do this on 4090?

I tried to tune down all of the parameters like MICRO_BATCH_SIZE, BATCH_SIZE , EPOCH, but none seems help. I wonder what else I can do if I want to do this on 4090?

@collant I completed a full fine tuning with default settings with my own data (micro batch = 4, token cutoff = 256) earlier today. Thanks for the help and suggestions!
@suing I tried to go to higher cutoff lengths but it’s difficult with only 24GB of vram - best I could manage was 512 token length by dropping micro batch size to 2. Dropping batch size also multiplies the training time so I think 256 is the best we’ll have till 4-bit/GPTQ training is available.

I tried to tune down all of the parameters like MICRO_BATCH_SIZE, BATCH_SIZE , EPOCH, but none seems help. I wonder what else I can do if I want to do this on 4090?

@collant I completed a full fine tuning with default settings with my own data (micro batch = 4, token cutoff = 256) earlier today. Thanks for the help and suggestions!
@suing I tried to go to higher cutoff lengths but it’s difficult with only 24GB of vram - best I could manage was 512 token length by dropping micro batch size to 2. Dropping batch size also multiplies the training time so I think 256 is the best we’ll have till 4-bit/GPTQ training is available.

Hey @LoopControl , I have noticed a strange phenomenon. I trained using the same training data on both V100 32G and 4090, with the same training parameters as follows.
MICRO_BATCH_SIZE = 4  # this could actually be 5 but i like powers of 2
BATCH_SIZE = 128
GRADIENT_ACCUMULATION_STEPS = BATCH_SIZE // MICRO_BATCH_SIZE
EPOCHS = 3  # we don't always need 3 tbh
LEARNING_RATE = 3e-4  # the Karpathy constant
CUTOFF_LEN = 512  # 256 accounts for about 96% of the data
LORA_R = 8
LORA_ALPHA = 16
LORA_DROPOUT = 0.05

However, I found that this setting consumes almost all VRAM on V100 (32411/32510 MB), while only using about half (12273/23028 MB) on 4090. I am curious about what causes this situation. I noticed this UserWarning on V100: WARNING: Compute capability <7.5 detected! Only slow 8-bit matmul is supported for your GPU! Does it have anything to do with it? And if I want to maximize the use of 4090's VRAM, can I simply increase MICRO_BATCH_SIZE? Because I tried to increase BATCH_SIZE on V100, but it didn't affect VRAM usage.

@olihough86 I basically just did exactly what @collant suggested above. I used the lengths.ipnb file to generate snippets of the training data (I just took around 1600 character snippets randomly from each file). I then loaded that dataset in the finetune.py file and ran the training (and modify the generate_prompt to just return the text by itself without all the ### Input and such.
@T-Atlas Assuming context-length and such were the same for both cards, looks like the 8-bit mode failed somehow on the V100? I've ran the finetune on both a 3090 and on an old Tesla P40 (which is older than your V100; the P40 has only 6.0 compute capability vs your 7.0 compute capability on the V100). Training with default finetune.py settings on the P40 took around 18-20GB so I don't see why it would use upwards of 30GB on yours.

@LoopControl Could you tell about the results of such snippets training? How yor finetuned model behave now and what it actually knows? Do you happy with results?

@LoopControl after fine tuning and getting a new adapter_config.json and adapter_model.bin in lora-alpaca how did you use that with generate.py? Did you just point LORA_WEIGHTS = to lora-alpaca dir? Similar to @voltioDS3 in their link I am just trying to understand how to get the updated model running in generate.py after running finetune.py!

@olihough86我基本上只是做了什么@collant上面建议。我使用该lengths.ipnb文件生成训练数据的片段（我只是从每个文件中随机抽取了大约 1600 个字符片段）。然后我将该数据集加载到finetune.py文件中并运行训练（并修改它generate_prompt以仅返回文本本身而没有所有### Input等等）。
@T-Atlas我在 3090 和旧的 Tesla P40（比您的 V100 更旧；P40 的计算能力只有 6.1，而 V100 的计算能力为 7.0）上运行了微调，但只有 256 个上下文长度。P40 在 256 上下文中占用了大约 18-20GB。由于 VRAM 限制，我无法在 P40 上运行 512 上下文长度而不将微批量大小降低到 2。
我的猜测是，因为 V100 和我的 P40 一样，对于完全支持 8 位的计算能力低于 7.5，所以 8 位模式（bitsandbytespython 模块）使用的 VRAM 比完全支持它的卡上使用的要多得多（如 3090/4090）。
bitsandbytes repo ( https://github.com/TimDettmers/bitsandbytes ) 在“硬件要求”下列出了这个：
* LLM.int8(): NVIDIA Turing (RTX 20xx; T4) or Ampere GPU (RTX 30xx; A4-A100); (a GPU from 2018 or older).
* 8-bit optimizers and quantization: NVIDIA Kepler GPU or newer (>=GTX 78X).

P40 和 V100 有第二行项目但没有第一行（llm.int8支持）。

@olihough86我基本上只是做了什么@collant上面建议。我使用该lengths.ipnb文件生成训练数据的片段（我只是从每个文件中随机抽取了大约 1600 个字符片段）。然后我将该数据集加载到finetune.py文件中并运行训练（并修改它generate_prompt以仅返回文本本身而没有所有### Input等等）。
@T-Atlas我在 3090 和旧的 Tesla P40（比您的 V100 更旧；P40 的计算能力只有 6.1，而 V100 的计算能力为 7.0）上运行了微调，但只有 256 个上下文长度。P40 在 256 上下文中占用了大约 18-20GB。由于 VRAM 限制，我无法在 P40 上运行 512 上下文长度而不将微批量大小降低到 2。
我的猜测是，因为 V100 和我的 P40 一样，对于完全支持 8 位的计算能力低于 7.5，所以 8 位模式（bitsandbytespython 模块）使用的 VRAM 比完全支持它的卡上使用的要多得多（如 3090/4090）。
bitsandbytes repo ( https://github.com/TimDettmers/bitsandbytes ) 在“硬件要求”下列出了这个：
* LLM.int8(): NVIDIA Turing (RTX 20xx; T4) or Ampere GPU (RTX 30xx; A4-A100); (a GPU from 2018 or older).
* 8-bit optimizers and quantization: NVIDIA Kepler GPU or newer (>=GTX 78X).

P40 和 V100 有第二行项目但没有第一行（llm.int8支持）。

Training with default finetune.py settings on the P40 took around 18-20GB so I don't see why it would use upwards of 30GB on yours.
I think your explanation makes sense because I used my own dataset, which is basically twice the length of the original repo. Additionally, I used MICRO_BATCH_SIZE = 4 and CUTOFF_LEN = 512, which works perfectly on my V100 with 32GB of VRAM.

@ HideLord

Isn't there a way to train embeddings? Not sure how well it translates, but in stable diffusion, if you want it to draw an object it hasn't yet seen, you feed it a couple of images of said object and train an embedding. After that, when you add it to the prompt, it knows what you're talking about.

The direct equivalent of an SD Textual Inversion Embedding would be a SoftPrompt: https://github.com/KoboldAI/KoboldAI-Client/wiki/Soft-Prompts
A LoRA in an LLM is, uh, equivalent to a LoRA in SD lol.

I have a question regarding the the finetuning on a custom dataset , so i have a dataset with 2 columns Questions and Answers, I am trying to train a llama 13b on this dataset, so i can later ask questions on the inference notebook and get an answer similar to the answer in the second column, i know its a noob question and im just starting in the world of llms, so i would really be thankful to any1 who can give me a basic idea on how to do that, i was inspired by the alpaca lora project from stanford, but im not sure if its related to my problem since their dataset was 3 colunms instruction input and output

@LoopControl Could you tell about the results of such snippets training? How your finetuned model behave now and what it actually knows? Do you happy with results?

Curious to hear the results as well.

repo: tloen/alpaca-lora


text:
Chess: Move F1 to D3

Please do not change the title. Just click "Submit new issue".

@LuccasBracci done! Successfully played move f1d3 for current game.
Thanks for playing!

authors: LuccasBracci tmchuynh

repo: tmchuynh/tmchuynh


text:
Clarify instructions for compiling from source.

For some environments (eg fresh install of Go on Gentoo/RPi) the listed go install instruction will throw messages about missing packages. Instead, setting GOPATH and using go get github.com/tmrts/boilr will fetch and build the dependencies and result in the boilr binary in GOPATH/bin/.

@oneirosFade thanks for the information! I updated the wiki, please take a look at  Installation and let me know if I've missed anything.
Note that wiki is open to edits by everyone, in case you didn't see it :+1:

authors: oneirosFade tmrts

repo: tmrts/boilr


text:
chore: croc-hunter-jenkinsx to 0.0.76

chore: Promote croc-hunter-jenkinsx to version 0.0.76

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

repo: tmx-bji/environment-jx-rocks-staging


text:
Fix BI_FPN, augmentation, retinaHead, out memory

Fix Bi_FPN
Change Augmentation
Change RetinaHead
Fix Out Memory in loss function
Support EfficientDet-D0->D7

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

In the file datasets/augmentation.py:

Line 15:80: E501 line too long (80 > 79 characters)

In the file datasets/visual_aug.py:

Line 48:15: W291 trailing whitespace
Line 50:1: E305 expected 2 blank lines after class or function definition, found 1
Line 54:1: E302 expected 2 blank lines, found 0
Line 62:1: E305 expected 2 blank lines after class or function definition, found 0
Line 63:50: W292 no newline at end of file

In the file models/bifpn.py:

Line 63:80: E501 line too long (102 > 79 characters)
Line 101:1: W293 blank line contains whitespace
Line 137:21: E251 unexpected spaces around keyword / parameter equals
Line 137:23: E251 unexpected spaces around keyword / parameter equals
Line 140:23: W291 trailing whitespace
Line 177:46: E261 at least two spaces before inline comment
Line 177:58: W291 trailing whitespace
Line 184:1: W293 blank line contains whitespace
Line 186:80: E501 line too long (161 > 79 characters)
Line 191:80: E501 line too long (183 > 79 characters)
Line 195:80: E501 line too long (182 > 79 characters)

In the file models/conv_module.py:

Line 237:1: E305 expected 2 blank lines after class or function definition, found 1
Line 237:1: E402 module level import not at top of file
Line 238:1: E402 module level import not at top of file
Line 282:21: W292 no newline at end of file

In the file models/efficientdet.py:

Line 37:48: E251 unexpected spaces around keyword / parameter equals
Line 37:50: E251 unexpected spaces around keyword / parameter equals
Line 38:48: E251 unexpected spaces around keyword / parameter equals
Line 38:50: E251 unexpected spaces around keyword / parameter equals
Line 85:5: E301 expected 1 blank line, found 0
Line 91:17: W292 no newline at end of file

In the file models/losses.py:

Line 50:80: E501 line too long (84 > 79 characters)
Line 51:80: E501 line too long (88 > 79 characters)
Line 90:80: E501 line too long (117 > 79 characters)
Line 121:80: E501 line too long (89 > 79 characters)
Line 135:80: E501 line too long (84 > 79 characters)

In the file models/module.py:

Line 153:80: E501 line too long (80 > 79 characters)

In the file models/retinahead.py:

Line 7:1: E302 expected 2 blank lines, found 1
Line 12:1: E302 expected 2 blank lines, found 1
Line 32:17: E128 continuation line under-indented for visual indent
Line 62:5: E301 expected 1 blank line, found 0
Line 111:1: W293 blank line contains whitespace
Line 117:80: E501 line too long (97 > 79 characters)
Line 118:80: E501 line too long (80 > 79 characters)
Line 121:9: E303 too many blank lines (2)
Line 125:5: E301 expected 1 blank line, found 0
Line 126:55: W292 no newline at end of file

In the file test.py:

Line 11:24: W292 no newline at end of file


text:
configurable robots settings

problem:
an unlisted homepage gets a meta name="robots" content="none" tag.
possible solution:
configurable robots settings to impede this behavior.

added in 9191998f1bb6736d30af69ac492613388b601dc3, coming next release

authors: felixferdinand tobimori

repo: tobimori/kirby-seo


text:
不支持$queue模式

@MqttSubscribe(value = "$queue/online/+", qos = 1)
这种共享订阅加了$queue后， topicPair好像没有办法match到

需服务端支持，比如用emqx-v3.x，emqx-v4.x，在emqx新版本（v5.x）就没这种写法了，如果拿不准可以用注解里的参数，在注解源码里有描述
---原始邮件---
发件人: @.>
发送时间: 2024年6月10日(周一) 下午3:56
收件人: @.>;
抄送: @.***>;
主题: [tocrhz/mqtt-spring-boot-starter] 不支持$queue模式 (Issue #24)
@MqttSubscribe(value = "$queue/online/+", qos = 1)
这种共享订阅加了$queue后， topicPair好像没有办法match到
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

authors: tocrhz xiaochonzi

repo: tocrhz/mqtt-spring-boot-starter


text:
🛑 Wave Money Pre Production is down

In 4392d79, Wave Money Pre Production (https://preprodpayments.wavemoney.io:8107) was down:

HTTP code: 503
Response time: 1089 ms

Resolved: Wave Money Pre Production is back up in 5a18fe1 after 12 hours, 18 minutes.

repo: today-mm/upptime


text:
Update README.md

Added QRtag.net API
Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Hi @Scribilicious , thanks for the PR. Small nit- please change + in the Description to and.

Fixed! Thx :)

Thanks!

authors: Scribilicious davemachado

repo: toddmotto/public-apis


text:
can't get several command_aliases to work

Hi,
i love your bot, but i'm having an issue setting it up.
no matter what i do or try, i cant get sonarr_series_command_aliases and readarr_book_command_aliases to work with several values.
as soon as i put several values for sonarr, the docker container (toddrob/searcharr:latest) just loops with a python error.
setting several values for radarr works fine.
and setting any value for readarr_book_command_aliases never works, not even with a single one, and reverts to its default.
2023-05-16 18:58:50,731 -     INFO - searcharr(139795833956160):66 - Searcharr v3.2.1 - Logging started!
2023-05-16 18:58:51,895 -  WARNING - searcharr(139795833956160):362 - No readarr_book_command_aliases setting found. Please add readarr_book_command_aliases to settings.py (e.g. readarr_book_command_aliases=["book", "bk"]. Defaulting to ["book"].
i attached the settings.py with the lines i tried.
settings.py.txt
maybe someone has a hint what i'm doing wrong?

wops.. had an alias with a space in sonarr_series_command_aliases .. that fixed the reboot-loop..
readarr_book_command_aliases still does not get recognized though..

sorry that i keep adding notes to this, but.. if i just use readarr_book_command_aliases, it does not get recognized and defaults to book, but runs.
if i replace it with readarr_movie_command_aliases, the app crashes and bootloops.
but if i use both, it works just the way i hoped it would.
the configuration-help (https://github.com/toddrob99/searcharr/wiki/Configuration-::-settings.py) states under readarr_book_command_aliases -> Example: readarr_movie_command_aliases = ["book", "b"]
thats why i thought it would be worth a shot..
so, i got it working now, though it looks quite weird in the config.
thanks :*

Thanks for posting. There is actually a bug in the searcharr code that it's looking for readarr_movie_command_aliases instead of readarr_book_command_aliases, and if the movie version isn't in the settings file, it will set the book version (the actual setting) to the default value. I'm sure this was a copy/paste mistake. I will be fixing this in v3.2.2 shortly. I also corrected the wiki.
https://github.com/toddrob99/searcharr/blame/main/searcharr.py#L360


text:
Update Keyboard Shortcuts article to reflect Lessons shortcuts

I included the Lessons related shortcuts alongside the most recent changes we made to the Hotkeys pop-up (for Lessons).

Should we not add more that just 'W A S D Slide Navigation` ?  Could we can a context sentence otherwise this just repeats what is already available in the app.  Suggestion (note you can't use this image but I feel like having one would help):

Think of the wasd keys like the arrow keys but for your other hand.  A will move you left (aka previous slide) and D will move you right (aka forward one slide). For vocabulary lessons that have Common Word Combinations / Patterns of Use  the W key will move up through the different patterns of use, while S will move you down.

Should we not add more than just 'W A S D Slide Navigation` ? Could we add a context sentence? Otherwise this just repeats what is already available in the app. Suggestion (note you can't use this image but I feel like having one would help):
 Think of the wasd keys like the arrow keys but for your other hand. A will move you left (aka previous slide) and D will move you right (aka forward one slide). For vocabulary lessons that have Common Word Combinations / Patterns of Use  the W key will move up through the different patterns of use, while S will move you down.

Interesting, I agree "Slide Navigation" might not give the full picture specially when you're not in the actual lessons page to try it out. I think your suggestion reads nicely, so I added it to the article. What do you think?

Not sure if I have to tag the team manually, but @tofugu/wanikani-knowledgebase-editors - this is ready for review 😄

Hey @edmilsonrobson , didn't even know there was a team called Knowledgebase editors, to be honest. Usually it's just @rachelcgrant and I updating the Guide so feel free to tag me directly next time, or ping me on Slack too and then assign it to me on the PR! If I'm away, then you can reach out to Rachel :)
I'll take a look and get back to you tomorrow.

@edmilsonrobson Will there be a new screenshot at the bottom of the page? The current one just shows the old shortcuts.
And I'm a bit confused between
W A S D Slide Navigation (see below)
← → Previous/Next Slide
Is there a difference between using ←  vs W or it's the same?

Hey @edmilsonrobson , didn't even know there was a team called Knowledgebase editors, to be honest. Usually it's just @rachelcgrant and I updating the Guide so feel free to tag me directly next time, or ping me on Slack too and then assign it to me on the PR! If I'm away, then you can reach out to Rachel :)
I'll take a look and get back to you tomorrow.

Ahh, got it! I followed this repository's README, maybe we should update the knowledgebase editor teams to be you and Rachel only?

@edmilsonrobson Will there be a new screenshot at the bottom of the page? The current one just shows the old shortcuts. And I'm a bit confused between W A S D Slide Navigation (see below) ← → Previous/Next Slide
Is there a difference between using ← vs W or it's the same?

Regarding the screenshot, the shortcuts displayed there are for Reviews, which were not changed. We could have another screenshot showing the Lessons shortcuts, but since the gif is there mainly to give the users direction on where to find the shortcut list (at the bottom-right of the screen), having another gif displaying the same thing for Lessons felt a bit redundant to me. Or do you think there's value in having another gif showcasing both the Lessons and the Reviews shortcut list button?
Regarding arrow keys vs WASD, using the left/right arrows is equivalent to using the A and D keys. W and S are for vertical selections, which currently only happens for vocabularies with Patterns of Use. Scott suggested the text below the Lessons shortcut list to better communicate what WASD really does. Do you have any suggestions on how to bring more clarity to the article?
Thanks :)

Regarding arrow keys vs WASD, using the left/right arrows is equivalent to using the A and D keys. W and S are for vertical selections, which currently only happens for vocabularies with Patterns of Use. S

Ah yes, that's what I meant, hah, A for the left arrow. That's why I was confused at first since these two kinda do the same thing, other than adding the new vertical options:

I think Scott's text is fine!
To be honest, I've never read that README because this repo's been around for a while before I joined and the only people really working on the Knowledge Guide is just Support anyway (Javi also used to sometimes update). I don't think I can edit that editors team group anyway so feel free to just tag me if you have any future KG-related questions or PRs. I list my vacation on the company calendar though so you might want to check that before tagging if you need a quick response!  You can tag Rachel if I'm away.

authors: JenKay edmilsonrobson scottnicolson

repo: tofugu/wanikani-knowledge-guide


text:
Stop commute retroactively

Closes #123
Notes:

This code does not take into account overnight behaviour of the app. This might not be needed and might need testing.
In general, it seems to me that the tracking algorithm should be responsible for overnight behaviour in either case, which would make this a lot more predictable (and better unify concerns).
The new behaviour has no tests since it needs #160.
We should also add tests to over-night behaviour.

I'm not happy with that last change. We should have a better way of ensuring that the data is valid on first startup. I propose a method we can call at the beginning of each method that will ensure this. The same method could also create the very first time entry ever.

repo: toggl/superday


text:
Time tracker starts automatically whe 2 accounts in 2 Fiferox profiles used

Environment details

Operation system: LINUX (Kubuntu 16.04)
Extension version: 1.10.3

Expected behavior
I use 2 separate Firefox windows with 2 different profiles. In both of them I use the same button. Under each profile I'm logged in to toggle under different account.
When notification regarding "Don't forget to track your time" appears, it should be dismissible (or just left to fade out) without any resultant (automatic) action.
Actual behavior
When notification regarding "Don't forget to track your time" appears, I dismiss it or let it fade out, it runs time tracker automatically - mostly in the second window (under completely different toggl account).
Steps to reproduce the behavior
Use 2 profiles in 2 different FF profiles.
Additional details
This is very probably not a bug, possibly just an annoying design issue. But should be mentioned.

screenshots or screencapture

Hi @NORDCOMPCZ, we've since fixed some issues related to timers starting automatically. The latest version from the Firefox store includes these fixes.
I was wondering if you're still experiencing the same problem when using 2 different profiles, or is this fixed now as well?

Hi @tcrammond, I've not experienced same behaviour last couple of weeks, therefore I think this issue was resolved (to be fair, I've moved most of browser-based work to Chrome and there is this issue not at all).

authors: NORDCOMPCZ tcrammond

repo: toggl/toggl-button


text:
Implement Google Login for the Linux app

📒 Description
This PR enables Google Login in the Linux app.
It also fixes some issues in the OAuth code, namely:

The dialog no longer closes if you press Enter/Return while writing your email or password (this drove me insane while testing this)
The OAuth dialog no longer remembers your account with repeated Login/Signup attempts

🕶 Types of changes

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)

🤯 List of changes

Linux app now supports Google Login
Google Login/Signup dialog on Linux is now more user-friendly

👫 Relationships
Closes #3279 #3095
🔎 Review hints
Probably similar as with other platforms: Check if Google Login works the same as before and the Google Signup functionality is consistent.

The very signing up happens only after you click the Sign up button. It felt more natural to let the user log into their google Account first and THEN select their country and agree to the terms. This is intended behavior (except for the part where the "You're signing up.." string stays there even when trying to log in).

Thank for quick address @MartinBriza. Reviewing in second round now 🌮

Improvement ticket for the Sign-up with Google at https://github.com/toggl/toggldesktop/issues/3425

authors: MartinBriza NghiaTranUIT

repo: toggl/toggldesktop


text:
[Code review: Contract Bugs]: No need to run transfer transaction when randomPackFees is 0

Describe the bug
No need to run when randomPackFees is 0.
https://github.com/tokamak-network/gem-nft-contract/blob/b31e833a38901bee6287b869d34c523bfe13dea2/src/L2/RandomPack.sol#L87
Impact
No response
Exploit Scenario
No response
Recommendation
if (randomPackFees != 0) IERC20(ton).safeTransferFrom(msg.sender, address(this), randomPackFees);

check this issue

I understand, thanks.

authors: Zena-park mehdi-defiesta

repo: tokamak-network/gem-nft-contract


text:
Allow setting a sort on tokens in Settings

Some users would prefer their tokens to always be ordered alphabetically. This would remove the need to reorder anything, and would lead to predicable outcome.
Definition of done:

Introduce an option in Settings: Order alphabetically with a description When enabled, your tokens, token sets, and token groups will be ordered alphabetically automatically.
When this setting is disabled, do what we do today
When this setting is enabled, keep tokens automatically sorted alphabetically
When this setting is enabled, keep token sets automatically sorted alphabetically.

@LukeFinch and another one for your future planning.

This request has been moved to our new feedback tool. Go check out https://tokensstudio.featurebase.app/ to create a free account. You can upvote and comment on existing posts, make a new request, and subscribe to be notified when requests move into our roadmap.

Added to Featurebase Roadmap : 🪙 Token organization enhancements

repo: tokens-studio/figma-plugin


text:
tokio-line does not compile

Here's the error I get on aa6948e14cd497dc0f4f9cbe2805390bc45e106d:
cargo run --example echo
   Compiling tokio-line v0.1.0 (file:///Users/nbigaouette/tokio-line.git)
src/low_level_transport.rs:2:5: 2:20 error: unresolved import `proto::pipeline`. There is no `pipeline` in `proto` [E0432]
src/low_level_transport.rs:2 use proto::pipeline;
                                 ^~~~~~~~~~~~~~~
src/low_level_transport.rs:2:5: 2:20 help: run `rustc --explain E0432` to see a detailed explanation
src/framed_transport.rs:6:5: 6:20 error: unresolved import `proto::pipeline`. There is no `pipeline` in `proto` [E0432]
src/framed_transport.rs:6 use proto::pipeline;
                              ^~~~~~~~~~~~~~~
src/framed_transport.rs:6:5: 6:20 help: run `rustc --explain E0432` to see a detailed explanation
src/service.rs:2:5: 2:20 error: unresolved import `proto::pipeline`. There is no `pipeline` in `proto` [E0432]
src/service.rs:2 use proto::pipeline;
                     ^~~~~~~~~~~~~~~
src/service.rs:2:5: 2:20 help: run `rustc --explain E0432` to see a detailed explanation
src/service.rs:6:5: 6:27 error: unresolved import `futures::stream::Empty`. There is no `Empty` in `futures::stream` [E0432]
src/service.rs:6 use futures::stream::Empty;
                     ^~~~~~~~~~~~~~~~~~~~~~
src/service.rs:6:5: 6:27 help: run `rustc --explain E0432` to see a detailed explanation
src/client.rs:5:5: 5:20 error: unresolved import `proto::pipeline`. There is no `pipeline` in `proto` [E0432]
src/client.rs:5 use proto::pipeline;
                    ^~~~~~~~~~~~~~~
src/client.rs:5:5: 5:20 help: run `rustc --explain E0432` to see a detailed explanation
src/client.rs:8:5: 8:27 error: unresolved import `futures::stream::Empty`. There is no `Empty` in `futures::stream` [E0432]
src/client.rs:8 use futures::stream::Empty;
                    ^~~~~~~~~~~~~~~~~~~~~~
src/client.rs:8:5: 8:27 help: run `rustc --explain E0432` to see a detailed explanation
src/service.rs:45:25: 45:30 error: no method named `spawn` found for type `tokio::LoopHandle` in the current scope
src/service.rs:45     loop_handle.clone().spawn(move |_| {
                                          ^~~~~
error: aborting due to previous error
error: Could not compile `tokio-line`.

To learn more, run the command again with --verbose.

That's unfortunate as this repo should be, if I understand correctly, be a good entry point to learn how to use your own protocol with tokio (am I wrong?)
Could a travis ci be added to catch does out-of-sync api?

I wrongly assumed tokio-line was using a Cargo.lock file so when futures-rs, tokio-core, tokio-proto and tokio-service changes this one will break.
Until everything stabilize, I'm not sure there's an easy fix. Sorry for the noise!

repo: tokio-rs/tokio-line


text:
flowページのSP版HTMLにh4見出しを立てる

改善詳細 / Details of Improvement

スクリーンリーダーでflowページを利用する際はSP版が読み上げられるが、h4見出しに相当する部分がp.heading_**やdiv.heading_**としてマークアップされているため、情報の区切りを理解しにくい。
結果、条件分岐するコンテンツとして上手く活用できなくなっている。

スクリーンショット / Screenshot

期待する見せ方・挙動 / Expected behavior

p.heading_**やdiv.heading_**をh4要素にする
※ただし https://github.com/tokyo-metropolitan-gov/covid19/issues/2357 でflowページのデザインが変更になる予定が示唆されているため、すぐに直せそうであれば、という但し書きつき。

動作環境・ブラウザ / Environment
すべて

こちら、やります〜


text:
トップページの time 要素に datetime 属性がない、または datetime 属性値がISO8601形式になっていない

改善詳細 / Improve details

トップページの「都内の最新感染動向」の最新更新日時の time 要素に datetime 属性がない
トップページの「最新のお知らせ」の日付の time 要素に datetime 属性がない
トップページの各グラフの更新日時の time 要素の datetime 属性値がISO8601形式になっていない

スクリーンショット / Screenshot

期待する見せ方・挙動 / Expected behavior

日時を扱う time 要素ではISO8601形式の datetime 属性値をつける
time要素内のテキストも読み上げを意識して 2020年3月5日8時 などの漢字表記に変換する

datetime属性値で許容できる書式には / がありませんので、例えば 2020/03/05 8:00 は 2020-03-05T08:00:00 などとする必要があります。参考: <time> - HTML: HyperText Markup Language | MDN
また、time 要素内のテキストについても、スラッシュ区切りの日付表示はスクリーンリーダーの読み上げであまりヒューマンリスナブルにならないので、できれば年月日と時分が漢字で書かれていた方が優しいです。
time 要素内のテキストはそのままで、 aria-label 属性を用いてスクリーンリーダー向けに専用のテキストを提供する方法もあります。i18n対応のしやすい方法を選択すると良いと思います。
動作環境・ブラウザ / Environment

macOS / Windows / Linux / iOS / Android
Chrome / Safari / Firefox / Edge / Internet Explorer

やってみます

@af12066 お願いします！


text:
In new version 2.3.0 have error with triggers functions

PGSync version: 2.3.0
Postgres version: 14.1
Elasticsearch version: 8.3
Redis version:
Python version: 3.7
Problem Description:
In new version have error
In old versions all work fine
I am find problem in function drop_function (base.py)
Please, fix it

Error Message (if any):
e, statement, parameters, cursor, context File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2044, in _handle_dbapi_exception sqlalchemy_exception, with_traceback.exc_info[2], from_=e File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 208, in raise_ raise exception File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1820, in _execute_context cursor, statement, parameters, context File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.InternalError: (psycopg2.errors.DependentObjectsStillExist) cannot drop function table_notify() because other objects depend on it DETAIL: trigger mnn_notify on table mnn depends on function table_notify() trigger mnn_truncate on table mnn depends on function table_notify() trigger country_notify on table country depends on function table_notify() trigger country_truncate on table country depends on function table_notify() trigger producer_notify on table producer depends on function table_notify() trigger producer_truncate on table producer depends on function table_notify() trigger popular_product_count_notify on table popular_product_count depends on function table_notify() trigger popular_product_count_truncate on table popular_product_count depends on function table_notify() trigger promoter_notify on table promoter depends on function table_notify() trigger promoter_truncate on table promoter depends on function table_notify() trigger grouping_notify on table "grouping" depends on function table_notify() trigger grouping_truncate on table "grouping" depends on function table_notify() trigger product_mnn_notify on table product_mnn depends on function table_notify() trigger product_mnn_truncate on table product_mnn depends on function table_notify() trigger category_notify on table category depends on function table_notify() trigger category_truncate on table category depends on function table_notify() trigger product_image_notify on table product_image depends on function table_notify() trigger product_image_truncate on table product_image depends on function table_notify() trigger product_offers_notify on table product_offers depends on function table_notify() trigger product_offers_truncate on table product_offers depends on function table_notify() trigger brand_notify on table brand depends on function table_notify() trigger brand_truncate on table brand depends on function table_notify() trigger dosage_notify on table dosage depends on function table_notify() trigger dosage_truncate on table dosage depends on function table_notify() trigger product_category_notify on table product_category depends on function table_notify() trigger product_category_truncate on table product_category depends on function table_notify() trigger product_notify on table product depends on function table_notify() trigger product_truncate on table product depends on function table_notify() trigger offers_notify on table offers depends on function table_notify() trigger offers_truncate on table offers depends on function table_notify() trigger product_cluster_notify on table product_cluster depends on function table_notify() trigger product_cluster_truncate on table product_cluster depends on function table_notify() trigger cluster_notify on table cluster depends on function table_notify() trigger cluster_truncate on table cluster depends on function table_notify() HINT: Use DROP ... CASCADE to drop the dependent objects too.
[SQL: DROP FUNCTION IF EXISTS "public".table_notify()] [parameters: (None,)] (Background on this error at: https://sqlalche.me/e/14/2j85) root@io:/home/dv#

Did you by any chance add/remove to/from the schema.json ?
It seems your schema.json is out of sync with what is actually in your database.
Normally you'd need re-run bootstrap if you edit schema.json
In any case, you should be able to resolve this by running

bootstrap -c schema.json -t
bootstrap -c schema.json

After run bootstrap -c schema.json -t  or bootstrap -c schema.json  I get same error
Than I run "DROP FUNCTION table_notify() CASCADE;" in sql terminal, but it didn't help too
I am drop all replication slots in pgsql from sql terminal  pg_drop_replication_slot, but it didn't help again
All worked fine only after downgrade version to 2.2.1
I suppose  problem in drop_function and if add to it CASCADE all will work correct
Maybe I am wrong but I haven't any other idea

i have same error when i have two index

it still doesn't seem to work in my case,i removed the table_notify() trigger manually, and restarted my db, but it still doesn't work

Can you try now. just published with that change.

right,above case i try in version 2.3.1

thank you all. Closing this as resolved.

authors: Victor1995fed huytxx toluaina

repo: toluaina/pgsync


text:
Allow for top-level Elasticsearch mapping to be defined

It would be nice to define an explicit Elasticsearch mapping (minus any _meta fields` at the top of the schema. Something akin to what is in the Elasticsearch documentation:
PUT /my-index-000001
{
  "mappings": {
    "properties": {
      "age":    { "type": "integer" },
      "email":  { "type": "keyword"  },
      "name":   { "type": "text"  }
    }
  }
}

I believe you can do this by setting any mapping you want inside transform.mapping: {} in the schema.json file. We use this to create abstract mappings that apply to some downstream transforms - working well so far.

@nowfred The problem is that we use custom plugins to shape the schema into a custom format before indexing. Our mappings don't necessarily align with PGSync's schema output.
We need a way to define a custom Elasticsearch mappings without referencing columns.

I have added support for this in the master branch. Please give it a try. Here is a schema example

@toluaina That's exciting! I will give it a shot 👍🏻

@toluaina Unfortunately, this does not seem to work for me. I added the following field:
[
  {
    ...
    "mappings": {
      "properties": {
        "name": {
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        }
      }
    }
  }
]

I receive the following error:
elasticsearch.BadRequestError: BadRequestError(400, 'mapper_parsing_exception', 'Root mapping definition has unsupported parameters:  [index : {properties={collection={type=text, fields={raw={ignore_above=256, type=keyword}}}}}]')

authors: jvanderen1 nowfred toluaina


text:
[Help Wanted] What does Inventory Proxy block do? Why would I ever need it?

I failed to understant this design... What did I miss?

It lets you have filtered chests, think like a sorting system.  Point the proxy at the destination chest (where you want to store stuff).  The poxy block will have a black square on the face where it expects to have the destination chest.  on a different face tap it with a diamond (it won't consume it).  Add storage touching that face and then fill the slots with 1 of each item you want in the destination.  If you leave an empty slot then that is considered open and anything can fill that space.  Use an inventory connector on the proxy block to connect it to the system.
From what I can tell the proxies have a higher priority than the storage connector so it will try to fill the proxy storages before adding items to the generic storage

.

So just by using chests as the "filter" inventory, they don't actually seem to work. I've filled the chest with the items I want to filter, but other items are still able to enter into the "destination" chest. Anyone have any advice on this? Is there a specific storage block I need to use?


text:
Window creation fails on Arch Linux with nvidia drivers

I installed the nvidia and nvidia-libgl packages on Arch Linux, and made a simple cargo project (glutin 0.6.2):
extern crate glutin;

fn main() {
    let window = glutin::WindowBuilder::new().build();
}

When running it I get these errors:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
If there is any additional info I should provide let me know.

The errors you mention come from your driver and not from glutin.
Therefore my guess is that you have a bad installation.

repo: tomaka/glutin


text:
Support sending ws pings manually

In the case where you are talking to a browser, the browser-side has no API for sending pings to the server, but will usually send pongs in reply to pings it receives. It would be nice to be able to send a ping from rouille, for the sake of quickly detecting a broken connection when there is no other traffic needed.

@CamJN,
after reading the current code, it seems like a Ping is automatically answered by a Pong with the payload maintained identical. To me this is what the RFC specifies

authors: CamJN gwbres

repo: tomaka/rouille


text:
Remove Sync and Clone from EventsLoop. Add EventsLoopProxy.

This commit only updates the top-level API to get some early feedback.
None of the platform-specific code has been updated yet. I'm hoping to
get around to this over the next couple days however if someone more
familiar with the windows backend would like to do a PR against this
fork that would be a great help.
Closes #187.

The wayland backend is now implemented and the x11 implementation is halfway there.

OK I believe all backends have been implemented now!
windows, android and iOS are still using the gen_api_transition! macro, so I updated the macro for those backends.
This should now be ready for review.

General design question, as the eventsloop is no longer intended to be shared and we have a proxy, wouldn't it make sense to:

move the interrupt method to the proxy too ?
make dispatch_events and run_forever take &mut self as argument, rather than &self ?

Doing both of this could simplify greatly the internal implementation (it'd possibly remove a few synchronisation/locking primitives in the wayland backend, for example), while not really changing the ergonomics of the eventsloop.
Given this PR is a breaking change any way...

@vberger the ability to interrupt should only really be needed by the EventsLoop itself. See #187 for the discussion around the semantic difference between interrupt() and wakeup().
Now that you mention it though, I agree that both run_forever and poll_events should take &mut self instead. However, this would mean that self.interrupt() could not be called within the given user callback to cause run_forever to break (which is its only purpose after this PR). Perhaps instead of having an interrupt method, the run_forever user callback should return whether or not the loop should continue, e.g.
pub enum ControlFlow {
    Continue,
    Complete,
}

Or something along these lines? That way run_forever and poll_events should be able to take &mut self.

@tomaka what are your thoughts on my previous comment ^ ? I'm happy to go ahead and make the change, but it would be nice to get some feedback before going ahead as the change will take a bit of time to implement across all backends.

+1 for &mut self; that would make the X11 backend noticably simpler.

OK I had some time tonight and went ahead with the extra changes. The general gist is:

Change poll_events and run_forever to take &mut self
Remove EventsLoop::interrupt in favour of having the EventsLoop::run_forever user callback return a new ControlFlow type.

I'm happy to roll this back to 38856b1 if folks would prefer to make this change in a future PR, however I think it makes sense to include it along with the removal of Sync. I personally think the change looks pretty nice, though I'm open to any suggestions/tweaks/feedback - e.g. there might be a better name than ControlFlow.
All backends have been updated and seem to work fine, though there is probably room for simplification in some backends (certainly in x11 as you mention @Ralith).
This is ready for review.

@jwilm you were right wrt root not working as the target for the wakeup event. To fix this, I created a dummy, InputOnly window with the sole purpose of receiving the wakeup events and it seems to work nicely! Tested on Arch+Gnome+X11.

@tomaka would you mind sharing your thoughts on this?

@mitchmindtree Have you considered making the wakeup method accept a WindowId? This makes it possible to know specifically which window is being woken up, and it removes the need for a phantom window for wake ups. This was previously supported before EventsLoop became a thing.

I'm personally not sure that it should be winit's job to do anything beyond waking up the event loop for a few reasons:

In its simplest form, the functionality that we need from winit (that users cannot implement efficiently in a cross-platform way otherwise) is a way to stop blocking on run_forever.
Often the act of waking the EventsLoop has nothing to do with a particular WindowId. E.g. In my own code, I imagine having to specify a WindowId will feel more like a hinderance, as I normally just want to awaken the events loop to complete the program or to render some pending graphics that I just pushed to a channel that is already associated with the window(s) I want to draw to.
When they are needed, associating WindowIds with wakeups is trivial to implement in user code.

This was previously supported before EventsLoop became a thing.

Before EventsLoop, having multiple windows was a total mess on most platforms and there was no over-arching concept of a single stream of events. The only way to block on all events was by producing a WaitEvents iterator from each Window one at a time, and the only way to wake up these loops was by producing a WindowProxy for each Window. There was no way around waking up a specific window, as the only way to receive events was by producing iterators from each individual window. This is no longer the case, we do now have a single stream of events in the form of an EventsLoop, of which WindowEvents are a subset of all Events that might occur.
What are your thoughts on this @jwilm?

Thanks for the perspective @mitchmindtree. Sounds like you've done the right thing!

I really like this change set. Would love to see it land soon :)

R+, thanks!

authors: Ralith jwilm mitchmindtree tomaka vberger

repo: tomaka/winit


text:
Access query parameter that contain square brackets using handlebars template

Hi, there is a need to get query parameter that contain square brackets in template eg:
localhost:8080/some_url/?filter[order_id]=123
I need to get value of filter[order_id], valid handlebars template for it is:
"{{ request.query.[filter[order_id\]] }}"
checked here http://tryhandlebarsjs.com/
my JSON API request:
{"request": {"urlPath": "/some_url/", "method": "GET"}, "response": {"body": "{{ request.query.[filter[order_id\\]] }}", "status": 200, "transformers": ["response-template"]}}
but get 500 on request accessing this stub:
 wiremock.com.github.jknack.handlebars.HandlebarsException: inline@7c8b8743:1:17: found: '[filter[order_id\' {{ request.query.[filter[order_id\]] }}
how can I get this query parameter?

No news ?
Seems to be still there  :(

Is this issue still exist?

I am also experiencing this, nearly 3 years later

Any news on this?

Here's how you do it:
{{lookup request.query 'filter[order_id]'}}

Marking as a feature request to remind me to add a doc note.

thanks @tomakehurst
{{lookup request.query 'filters%5B0%5D%5Bvalue%5D'}} worked for me to get filters[0][value]

Documented this in 74058e87

{{lookup request.query 'filters%5B0%5D%5Bvalue%5D'}} This is not working for me, This is returning entire query params like below
{filters[0][value]=NSW, criteria.assetType=assetchithatype, criteria.brand=NRMA, criteria.campaignCode=mockcampaign, criteria.coverType=mockCoverType, criteria.coverage=mockCoverage, criteria.lineOfBusiness=mockLineOfBusiness, criteria.salesChannel=mockSalesChannel, criteria.transactionType=NEW_BUSINESS, product=MOTOR_MOCK}

My requirement is to read a query parameter with dot criteria.coverType

authors: RibsaS chitharanjanIT ikhz nick-kompas-cko prichieri smalot sudheerah tomakehurst

repo: tomakehurst/wiremock


text:
🛑 Bitwarden is down

In b91f87d, Bitwarden (https://bitwarden.saiyans.com.ve) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bitwarden is back up in 10d85ae.


text:
Migration error

I made a simple table configuration
Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e)
 $finalFields .= '$table->'. ($field->type == 'varchar' ? 'string' : $field->type === 'int' ? 'integer' : $field->type) .'("'.$field->name.'")';

in
vendor/tomatophp/filament-plugins/src/Services/Concerns/GenerateMigrations.php : 68

solution
$finalFields .= '$table->'. ($field->type == 'varchar' ? 'string' : ($field->type === 'int' ? 'integer' : $field->type)) .'("'.$field->name.'")';

repo: tomatophp/filament-plugins


text:
LDAP_START_TLS and DOVECOT_TLS not having default values?

As written in the README LDAP_START_TLS and DOVECOT_TLS should have default values when they have empty values in .env file.
Actually they have either no default value or an invalid default value.
If you empty the value of DOVECOT_TLS in the .env file and start the docker-container with docker-compose you get the following error when some user wants to connect:
mail    | Nov  2 03:40:56 mail dovecot: auth: Fatal: ldap /etc/dovecot/dovecot-ldap.conf.ext: Error in configuration file /etc/dovecot/dovecot-ldap.conf.ext line 6: Invalid boolean
dovecot-ldap.conf.ext looks like this:

base = ou=users,dc=example,dc=com
default_pass_scheme = SSHA
dn = cn=admin,dc=example,dc=com
dnpass = 12345678
hosts = openldap
tls =
ldap_version        = 3
pass_attrs          = uniqueIdentifier=user,userPassword=password
pass_filter = (&(objectClass=PostfixBookMailAccount)(uid=%n))
user_attrs          = mailHomeDirectory=home,mailUidNumber=uid,mailGidNumber=gid,mailStorageDirectory=mail
user_filter = (&(objectClass=PostfixBookMailAccount)(uid=%n))

As you can see in line 6 there is missing a value. It should be either yes or no - not empty.
Currently you can fix this by commenting out the env var (DOVECOT_TLS) in docker-compose.yml; then line 6 looks like this:
tls = no
Of cause you can set env var DOVECOT_TLS explicitly to yes or no which will cause the config file to have a valid value.
Same happening for LDAP_START_TLS (just in another file).

Could you provide a PR for this?

authors: johansmitsnl mpanneck

repo: tomav/docker-mailserver


text:
feat(olHelpers): add ability to use 'projection' and 'tileUrlFunction' options with XYZ sources

Would be nice :)

+1

@aubm thx, merged it in :+1:

authors: aubm davinkevin juristr

license: mit


text:
.md vs. .html for content ?

It's unclear to me when I should create a .html file and when I should create a .md file, within the context of this theme.
Looking at the sample implementation (the documentation for this theme), for two of the "products", product1 and product2, there's a p*_landing_page.html file in the product's dir/folder, along with lots of .md files. For the "default" (home) mydoc product, its "main" page, which is the Home page for the entire site, is index.md, and all the files that are under the mydoc dir/folder are .md.
It doesn't seem to matter whether one creates a .html vs. .md file; both seem to be usable in *_sidebar.yml files.
So is it simply a matter of whether one wants to have html or markdown code in that page?

Jekyll transforms .md to .html when you build the site. If your file is primarily HTML, as is the case with the landing pages, there's not a strong need to use Markdown. Markdown creates its own issues with HTML, since element bookends need to be flush left.

Yes, the md->html transformation was clear. And it sounds like the "source content" can be in either format, with html somewhat preferred unless, of course, markdown is easier for the given content. Thanks for clarifying!

I'm closing this (non) issue because I've no further related questions.


text:
Categories as a tree

Hello @tommy351,
I'm trying to add the generation of an index for the categories to hexo-generator-category. To do that, I want to pass to render and object representing the categories as a tree but locals.categories only gives us a flatten projection.
I've managed to obtain a tree like that : https://github.com/borisschapira/hexo-generator-category/blob/master/lib/generator.js#L36
but it's not optimal, because I'm manipulating arrays and arrays are not ideal for templating. Is there a way to use warehouse to obtain an unflatten representation of the categories from the flat one ?

What I'm doing with that (in a non-elegant way, for now) : http://next.borisschapira.com/categories/


text:
Sending Magic Packet to Broadcast

Hi @tomnomnom
Thanks for your work, like your package so far 👍
I have a question about this line: https://github.com/tomnomnom/phpwol/blob/master/Phpwol/Socket.php#L12
What's the reason you're setting the MSG_DONTROUTE flag?
That's what preventing me from sending the magic packet to 255.255.255.255. It works after changing the flag to 0.
Regards

Hi @strebl. Thanks for your kind words :)
To be honest, I hadn't considered cross-network WOL. My understanding is that most routers don't support it; but I'm happy for it to be changed :)
Out of interest: why would you want to send a magic packet to 255.255.255.255? As far as I know that will broadcast only to 0.0.0.0 AKA localhost.

I have no idea how many routers support it. But as far as I understand, removing this flag just enables that feature without harming anything, am I right?
Im working in a environment with around 1500 computers which are placed in different networks. 255.255.255.255 is the global broadcast and will reach, if properly configured, all desired networks with just one call to your packet.

@strebl I'm pretty sure you're right about removing the flag.
I may be misremembering, but I think there's a specific exception for 255.255.255.255 that broadcasts only to localhost to stop broadcasts to the entire internet.
Either way, I've made the change in a branch (https://github.com/tomnomnom/phpwol/tree/route) Please let me know if it works :)

Sorry @tomnomnom for not talking clearly enough.
Your totally right about the internet. You can't broadcast to the internet. But lets say you have multiple routed private networks: 192.168.1.0, 192.168.2.0, 172.20.3.0, 172.17.3.0.
Now, if you send a package to 255.255.255.255, and the router is configured properly, the package reaches all hosts in all your networks.
Another another think I didn't tell you: I forked your project and tested it myself. I really didn't expect such a fast answer 👍
I was ready to create a PR if you would be interested in that change. But you were very fast 😄.
Because of that I can say your change does work 👍

Submit the PR and get your name against it :)

authors: strebl tomnomnom

repo: tomnomnom/phpwol


text:
Github actions file

Github actions file running flutter tests.

Thank you for your contribution! It helps a lot!


text:
Search window closes if settings.json is changed.

How to reproduce:
1- Open settings.json in an editor (vscode, neovim, notepad ...).
2- Open vscode (code) and start fuzzy search Ctrl+Shift+j. Don't press enter let it wait.
3- Edit settings.json:
    "editor.cursorStyle": "block", ->     "editor.cursorStyle": "line",

4- Save settings.json
In vscode suddenly fuzzy search terminates and terminal closes.

Hi, I can confirm. This is intended behavior. Some workspace settings affect the extension's behavior, in some cases requiring the extension to be restarted.

I see. Thank you for the quick response.

authors: hakan-demirli tomrijndorp

repo: tomrijndorp/vscode-finditfaster


text:
Add simple code quality control

添加 程序质量控制 CI

LGTM

authors: Alwaysproblem zburning


text:
No Data for Indicators for England for 08/04/2020

Just to let you know the English figures haven't come in for yesterday - also there is some discrepancy with overall English figures, I'll have a look as I think I know what it is, but need to check first :-)

The discrepancy is that in your csv file for the whole of the UK, 'data/covid-19-cases-uk.csv ', doesn't add up to the same value as in the Public Health England spreadsheet - they have included an 'unconfirmed' value that is included in their calculations in their sheet 'UTLA's' - don't think this is in your data set?  This is anyone where they don't have a post code and therefore can't link it to a UTLA.

Thanks for reporting @Jcamain, this should be fixed now.

Thanks!  Also, not sure if you can do anything about the England 'Unconfirmed' values? - it should have come through on the UTLA sheet from the Public Health Spreadsheet?

authors: Jcamain tomwhite

license: Unlicense


text:
Performance regression - max_workers not being used

I'm pretty sure there was a performance regression in the last few weeks, which appears for the quadratic means workload on the timeline visualization:
Before:

After:

Other things were changed too so perhaps ignore other aspects of this plot that are different, just notice that for some steps there is a group of tasks (exactly 334 out of 5334) that complete as a separate bunch later on. Looking at this again makes me wonder if this is actually instead some issue with the visualization...
@tomwhite you said you had an idea which commit might have caused this? If you tell me which one(s) you think is suspect can checkout a version prior to that and try it out now?
Ideally this sort of thing would be caught by an automated regression test, see #234.

@tomwhite you said you had an idea which commit might have caused this? If you tell me which one(s) you think is suspect can checkout a version prior to that and try it out now?

Possibly #211.
I haven't merged it yet, but #217 is another change in a similar vein, but with a better implementation of backups.

I checked out the commit immediately prior to #211, but still seeing the same problem

This looks like the case described in #222, which is a rechunk operation with two stages of 5000 and 334 tasks. You can check by seeing if there is an array-139-intermediate after running.
This isn't a new problem, but it may have arisen after changing memory settings.

authors: TomNicholas tomwhite

repo: tomwhite/cubed


text:
Report format support for JaCoCo

it works quite well so far! we are using it already in VSTS/TFS. but one thing which is not so streamlined for using in VSTS/TFS are the supported output formats. Currently VSTS/TFS only supports Cobertura and JaCoCo. Supporting one of this formats would be great.

@OneCyrus multiple coverage formats is definitely and improvement. Do you happen to have links where these formats are documented?

it looks like there is no proper Cobertura specification.
but may be this links help:
https://leonard.io/blog/2011/06/cobertura-sample-xml-output/
https://github.com/danielpalme/OpenCoverToCoberturaConverter

Alright, will take a look. Thanks!

Thanks, how about JaCoCo?

Microsoft has links to the schema definition files for both here: https://docs.microsoft.com/en-us/vsts/build-release/tasks/test/publish-code-coverage-results?view=vsts
http://cobertura.sourceforge.net/xml/coverage-04.dtd
http://www.eclemma.org/jacoco/trunk/coverage/report.dtd

FYI in the interim for linux builds I added
 dotnet Tools/OpenCoverToCoberturaConverter/OpenCoverToCoberturaConverter.dll  "-input:opencover.xml" "-output:Cobertura.xml"

from https://github.com/danielpalme/OpenCoverToCoberturaConverter
this worked for VSTS

Cobertura support available in latest NuGet bits https://www.nuget.org/packages/coverlet.msbuild/1.1.0

I am using VSTS with Cobertura format and getting results, but I can only report on lines right now. Any plans to update Cobertura to report blocks? Thanks for all your work on this!

Cobertura was added.

authors: MarcoRossignoli OneCyrus ahaleiii timker tonerdo

repo: tonerdo/coverlet


text:
Add a command to require namespace of symbol at point

Closes #12.
Requires clojure.pprint when ran on (clojure.pprint/pprint :a) with the cursor on the symbol. If the symbol-at-point does not have a namespace prefix, it considers the whole symbol to be the name of the namespace (example: (ns-publics 'clojure.pprint)).

Thank you!

authors: jaihindhreddy tonsky

repo: tonsky/Clojure-Sublimed


text:
New Crowdin translations

New Crowdin pull request with translations

Codecov Report

Merging #356 (ca05cdd) into master (24a589b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #356   +/-   ##
=======================================
  Coverage   16.91%   16.91%
=======================================
  Files          20       20
  Lines        1129     1129
  Branches      152      152
=======================================
  Hits          191      191
  Misses        929      929
  Partials        9        9

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

authors: codecov-commenter tonybaloney

repo: tonybaloney/vscode-pets