Extract comment rendering logic in CLI and backend into shared libs

Currently rendering of the initial comment by the backend and rendering of updates share similar pieces of logic (table, statuses etc)
We'd want it in shared libs ideally
Backend: pr_comments.go
CLI: pkg/comment_updater.go

Taking a look into this, will probably extract the logic into a new utils.go under the libs/comment_utils directory

hi, i just took a look at this issue and had some thoughts. thought i could contribute.  following the idea from @ty-labs, the logic could be extracted to until.go under libs/comment_utils . there are two major differences in the two functions that are relevant to this issue. in function func ReportNoProjectsImpacted(cr *CommentReporter, jobs []scheduler.Job), the parameter is a slice of  unserialized job. in func (a AdvancedCommentUpdater) UpdateComment(jobs []scheduler.SerializedJob, prNumber int, prService ci.PullRequestService, prCommentId string), one of the parameters is a slice of serialized job. Another difference is the second part of the message segments. this should be an easy one. could you assign me this one? i'm a new Go developer.


src/db.h:15:20: fatal error: db_cxx.h: No such file or directory

While trying to compile dogecoin on my linux machine I've got this error, this is the full output:
$ qmake
Project MESSAGE: Building with UPNP support
Project MESSAGE: Building with UPNP supportRemoved plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
$ make
cd /home/peach/Programs/dogecoin; /bin/sh share/genbuild.sh /home/peach/Programs/dogecoin/build/build.h
g++ -c -pipe -fstack-protector -O2 -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -D_REENTRANT -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADS
AFE -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -D__NO_SYSTEM_INCLUDES -DUSE_UPNP=1 -DSTATICLIB -DHAVE_BUILD_INFO -DLINUX -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/s
hare/qt4/mkspecs/linux-g++ -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/qt -Ic:/deps -IC:/deps/boost -Ic:/deps/db/build_unix -Ic:/deps/ssl/incl
ude -Ibuild -Ibuild -o build/bitcoin.o src/qt/bitcoin.cpp
In file included from src/main.h:14:0,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src/qt/bitcoin.cpp:11:
src/db.h:15:20: fatal error: db_cxx.h: No such file or directory
compilation terminated.
make: *** [build/bitcoin.o] Error 1

thanks @ThePeach
Running on gentoo now with
-I/usr/include/db5.3 in makefile


I tried to port a project

Demo address:
https://fishorbear.github.io/PathTracing-Renderer/dist/index.html
You can switch shader codes by clicking on the control button in the upper left corner, "Path" or "Mis".
https://github.com/FishOrBear/PathTracing-Renderer
I transplanted path tracking for integrated MIS.
And I tried to refactor your project with typescript+webpack.
I think you may not need to wait for threejs to support webgl2.

Hi @FishOrBear
That's really cool!  I need to integrate all my demos like that, where you just pick from a list and it loads the selected demo, without having to leave the webpage.  Speaking of three.js support for WebGL 2.0, according to this comment, three.js contributor @takahirox has already started his own branch of three.js which supports WebGL 2.0.  I will try to give it a spin, and if it works ok, I will replace the three.min.js dependency file on my project repo with his new one.  That way I can start working on the acceleration structure which runs on the GPU.
Thanks for the heads up though! :)

Thank you for your project, there are many places where I can learn.
Webgl2 support takes too much time. Hope that threejs can support webgl2 faster.
I think the project needs better separation of code and separate shaders in different files, so I created the project.
Hope to help you.


Rate Limit

I currently have 1 worker polling a queue anad the job takes 1 sec to complete. How can we limit the worker to complete only 1 job per X minutes?

Tried var worker = client.worker([userEmail], {interval: 60000}) but the worker is consuming jobs without any interval

no rating on route as 1 location got a few route to take

I think this could be accomplished by listening to worker events, counting the number of failed and completed job, and starting/stopping the worker accordingly.  I don't see any need to build in a worker rate/interval.  Please reopen if I'm misunderstanding or missing something!


Ansible 1.9.4  Error: DEPRECATED]: include + with_items is a removed deprecated feature.

ERROR: [DEPRECATED]: include + with_items is a removed deprecated feature.  Please update your playbooks.
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again

Issue fixed by upgrading to Ansible version 2.0.


Error in assignment conversion

Pycket does not seem to be computing the offsets for certain variables when let forms have empty variables lists.
Example program
#lang pycket

(let-values ([()      (values)]
             [(a b c) (values 1 2 3)])
  1)

Resulting error
Traceback (most recent call last):
  File "/home/spenser/src/pycket/pycket/__main__.py", line 32, in main
    sys.exit(f(sys.argv))
  File "/home/spenser/src/pycket/pycket/entry_point.py", line 23, in entry_point
    return actual_entry(argv)
  File "/home/spenser/src/pycket/pycket/entry_point.py", line 49, in actual_entry
    ast = load_json_ast_rpython(json_ast, modtable)
  File "/home/spenser/src/pycket/pycket/expand.py", line 230, in load_json_ast_rpython
    return _to_module(pycket_json.loads(data), modtable).assign_convert_module()
  File "/home/spenser/src/pycket/pycket/interpreter.py", line 461, in assign_convert_module
    new_body = [b.assign_convert(local_muts, None) for b in self.rebuild_body()]
  File "/home/spenser/src/pycket/pycket/interpreter.py", line 1794, in assign_convert
    for j in range(self.counts[i])]
IndexError: list index out of range
> /home/spenser/src/pycket/pycket/interpreter.py(1794)assign_convert()
-> for j in range(self.counts[i])]

Fixed by eaa52cae5b6dd944e7d3fcafc1cd1205d9448104


rewrite http requests

👷 Deploy Preview for cell-to-singularity-appeal processing.

Name
Link

🔨 Latest commit
1588d07e5ef20c323cb00bb268521cd1932c09a5

🔍 Latest deploy log
https://app.netlify.com/sites/cell-to-singularity-appeal/deploys/62810a7099e48d0008c31ef8


If die in transaction, debugger will show connection not release error

Unable to handle exit or die, so this is unresolvable.


Script custom variable run type and suffix constraint configuration.

What is the purpose of the change
引擎类型、脚本类型自定义后，脚本中的变量解析异常，需要在源码中修改几个脚本，基于此，需要把此类配置抽取出来作为配置文件中的一个配置项。https://github.com/apache/incubator-linkis/issues/1751
After the engine type and script type are customized, the variable parsing in the script is abnormal, and several scripts need to be modified in the source code. Based on this, such configuration needs to be extracted as a configuration item in the configuration file. https://github.com/apache/incubator-linkis/issues/1751
Brief change log
增加配置项，以及对应的配置解析工具方法, Add configuration items, and the corresponding configuration parsing tool method
val CODE_TYPE_AND_RUN_TYPE_RELATION = CommonVars("wds.linkis.storage.codeType.runType.relation", "sql=>hql|sql|jdbc|hive|psql|sh|shell,python=>python|py,java=>java,scala=>scala")
  def getCodeTypeAndRunTypeRelationMap: Map[String, List[String]] = {
    if (CODE_TYPE_AND_RUN_TYPE_RELATION.getValue == null || "".equals(CODE_TYPE_AND_RUN_TYPE_RELATION.getValue)) {
      return Map()
    }

    CODE_TYPE_AND_RUN_TYPE_RELATION.getValue.split(",")
      .filter(x => x != null && !"".equals(x))
      .map(x => {
        val confArr = x.split("=>")
        if (confArr.length == 2) (confArr(0), for (x <- confArr(1).split("\\|").toList) yield x.trim) else null
      }).filter(x => x != null).toMap
  }

只是还有几个问题需要确认：

对应配置项CODE_TYPE_AND_RUN_TYPE_RELATION 的定义是否合理，放在StorageConfiguration中是否合适？
CustomVariableUtils文件中，runType匹配关系如下

    runType match {
      case "hql" | "sql" | "jdbc" | "hive"| "psql" => codeType = SQL_TYPE
      case "python" | "py" => codeType = PY_TYPE
      case "java" => codeType = JAVA_TYPE
      case "scala" => codeType = SCALA_TYPE
      case "sh" | "shell" => codeType = SQL_TYPE
      case _ => return (false, code)
    }

其中sh shell类型对应的codeType SQL_TYPE 这样是否合理？
3. orchestrator模块中有一个文件也叫CustomVariableUtils，其中用到了上述配置，但是缺少linkis-storage模块依赖，
       <dependency>
            <groupId>org.apache.linkis</groupId>
            <artifactId>linkis-storage</artifactId>
            <version>${linkis.version}</version>
            <scope>provided</scope>
        </dependency>

是否可以直接加呢？会不会引起依赖冲突

org.apache.linkis.governance.common.paser.CodeType has also mapping functions similar to codetype
object CodeType extends Enumeration {
  type CodeType = Value
  val Python, SQL, Scala, Shell, Other, Remain, JSON = Value

  def getType(codeType: String): CodeType = codeType.toLowerCase() match {
    case "python" | "pyspark" | "py" => Python
    case "sql" | "hql" | "psql" => SQL
    case "scala" => Scala
    case "shell" | "sh" => Shell
    case _ => Other
  }
}

"shell" | "sh" => Shell  is inconsistent with   case "sh" | "shell" => codeType = SQL_TYPE ,this also confuses me
I understand that this mapping relationship should be global. Is it more reasonable to put it in the public module of linkis.

In addition, I think it is necessary to add unit tests for
StorageConfiguration.getCodeTypeAndRunTypeRelationMap
StorageConfiguration.getSuffixBelongToRunTypeOrNot

Thanks.
Question 1: This is reasonable, but I think the CodeTypeAndRunTypeRelationMap should be made a singleton instead of regenerating every time.
问题1：这个是合理的，但是我认为应该将CodeTypeAndRunTypeRelationMap作为单例，而不是每次都重新生成
Question 2 seems to be a bug, it should be classified as a python class or defined as a shell class, because their comments all start with "#", not the "--" of sql
问题2这个看是Bug，应该归类为python类或者定义为shell类，因为他们的注释都是“#”开头，而不是sql的“--”开头
Question 3 CustomVariableUtils in the orchestrator module will be removed, the code is being merged
问题3  orchestrator模块中的CustomVariableUtils将会被移除掉，正在合并代码

In addition, I think it is necessary to add unit tests code for StorageConfiguration.getCodeTypeAndRunTypeRelationMap StorageConfiguration.getSuffixBelongToRunTypeOrNot

待会的提交，一并带上测试用例

org.apache.linkis.governance.common.paser.CodeType has also mapping functions similar to codetype
object CodeType extends Enumeration {
  type CodeType = Value
  val Python, SQL, Scala, Shell, Other, Remain, JSON = Value

  def getType(codeType: String): CodeType = codeType.toLowerCase() match {
    case "python" | "pyspark" | "py" => Python
    case "sql" | "hql" | "psql" => SQL
    case "scala" => Scala
    case "shell" | "sh" => Shell
    case _ => Other
  }
}

"shell" | "sh" => Shell is inconsistent with case "sh" | "shell" => codeType = SQL_TYPE ,this also confuses me I understand that this mapping relationship should be global. Is it more reasonable to put it in the public module of linkis.

目前只碰到脚本中参数解析的时候，遇到需要在代码中维护这些codeType和runType的变量，我待会看下别的地方是否有相同引用，以做统一


Can't type for expiry date

I'm unable to input anything for the expiry date. The error I'm getting in the console is this:
TypeError: Cannot read property 'invalidExpiryDate' of undefined
To fix this issue, I had to add a customTextLabel object with expiryError.
customTextLabels={{     expiryError: {} }}
But customTextLabel is optional. So this seems like a bug to look into.

Thanks! Fixed in 1.0.15


Early check for dependency when set kmsKeyId

Issue #397, if available:
Got exception when run test and run application when provide S3EncryptionClient with kms
Caused by: java.lang.NoClassDefFoundError: software/amazon/awssdk/services/kms/KmsClient
	at software.amazon.encryption.s3.S3EncryptionClient$Builder.build(S3EncryptionClient.java:1142)

The root cause of the problem is that kmsClient class comes from different dependencies, while other type of security key is in the same package of the SDK.
Description of changes:
Check for existence of KmsClient class when kmsKeyId is set.
This would help developer easier to troubleshoot the problem & take proper action
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Check any applicable:

[ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.

Ahh, I'll will have to make this a first party PR, as compared to a 3rd party.
We have had trouble with 3rd parties trying to bit coin mine via our CI, so it only runs if the PR is from the same repo.
I'll take care of this.


How to load examples.rs?

Sorry, I am a novice. Why can't I run the sample properly?
I can run the basic example normally:
[package]
name = "a5"
version = "0.1.0"
authors = ["Administrator"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
druid = "0.7.0"

use druid::widget::{Button, Flex, Label};
use druid::{AppLauncher, LocalizedString, PlatformError, Widget, WidgetExt, WindowDesc};

fn main() -> Result<(), PlatformError> {
    let main_window = WindowDesc::new(ui_builder);
    let data = 0_u32;
    AppLauncher::with_window(main_window)
        .use_simple_logger()
        .launch(data)
}

fn ui_builder() -> impl Widget<u32> {
    // The label text will be computed dynamically based on the current locale and count
    let text =
        LocalizedString::new("hello-counter").with_arg("count", |data: &u32, _env| (*data).into());
    let label = Label::new(text).padding(5.0).center();
    let button = Button::new("increment")
        .on_click(|_ctx, data, _env| *data += 1)
        .padding(5.0);

    Flex::column().with_child(label).with_child(button)
}

But when I try to run the files in the "examples" folder, none of them work properly.
hello.rs :
error[E0277]: expected a `FnOnce<()>` closure, found `impl druid::Widget<HelloState>`
   --> src\main.rs:32:39
    |
32  |     let main_window = WindowDesc::new(build_root_widget())
    |                                       ^^^^^^^^^^^^^^^^^^^ expected an `FnOnce<()>` closure, found `impl druid::Widget<HelloState>`
    |
   ::: C:\Users\Administrator\.cargo\registry\src\github.com-1ecc6299db9ec823\druid-0.7.0\src\app.rs:347:28
    |
347 |         F: FnOnce() -> W + 'static,
    |                            ------- required by this bound in `WindowDesc::<T>::new`
    |
    = help: the trait `FnOnce<()>` is not implemented for `impl druid::Widget<HelloState>`
    = note: wrap the `impl druid::Widget<HelloState>` in a closure with no arguments: `|| { /* code */ }`

error[E0599]: no method named `log_to_console` found for struct `AppLauncher<_>` in the current scope
  --> src\main.rs:43:10
   |
43 |         .log_to_console()
   |          ^^^^^^^^^^^^^^ method not found in `AppLauncher<_>`

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `a5`

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

list.rs:
   Compiling a5 v0.1.0 (D:\float\OneDrive\rust\a5)
error[E0432]: unresolved import `druid::im`
  --> src\main.rs:17:12
   |
17 | use druid::im::{vector, Vector};
   |            ^^ could not find `im` in `druid`

error: cannot determine resolution for the macro `vector`
  --> src\main.rs:36:16
   |
36 |     let left = vector![1, 2];
   |                ^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `vector`
  --> src\main.rs:37:17
   |
37 |     let right = vector![1, 2, 3];
   |                 ^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error[E0277]: expected a `FnOnce<()>` closure, found `impl druid::Widget<AppData>`
   --> src\main.rs:33:39
    |
33  |     let main_window = WindowDesc::new(ui_builder())
    |                                       ^^^^^^^^^^^^ expected an `FnOnce<()>` closure, found `impl druid::Widget<AppData>`
    |
   ::: C:\Users\Administrator\.cargo\registry\src\github.com-1ecc6299db9ec823\druid-0.7.0\src\app.rs:347:28
    |
347 |         F: FnOnce() -> W + 'static,
    |                            ------- required by this bound in `WindowDesc::<T>::new`
    |
    = help: the trait `FnOnce<()>` is not implemented for `impl druid::Widget<AppData>`
    = note: wrap the `impl druid::Widget<AppData>` in a closure with no arguments: `|| { /* code */ }`

error[E0599]: no method named `log_to_console` found for struct `AppLauncher<_>` in the current scope
  --> src\main.rs:45:10
   |
45 |         .log_to_console()
   |          ^^^^^^^^^^^^^^ method not found in `AppLauncher<_>`

I used the latest version of nightly|stable version of rust test respectively

My quick guess would be that the problem is Druid version 0.7 while the examples in the repo require the up-to-date Git version.
It's probably better to use
[dependencies]
druid = { git = "https://github.com/linebender/druid.git" }

when experimenting with Druid.

Thank you. You were right, it's normal now.

Another way to run the examples is to clone the repo and then do
cargo run --example [example name]

Or you can list the available examples with
cargo run --example

Solution for hello.rs with 0.7. Replace:
let main_window = WindowDesc::new(build_root_widget())

with
let main_window = WindowDesc::new(build_root_widget)


Recurrent layer in stax?

Is there a recurrent layer in the pipeline in stax? I am excited to try out JAX but I mostly work with sequence data like amino acid sequences where LSTMs are bread and butter. I couldn't find the api for that in stax docs.

I don't know of anyone actively working on a recurrent layer for stax, though I know others have expressed interest too. Some people have written RNNs though.
Stax is just an experiment, meant to show how easy it is to write layers libraries and to serve as inspiration. It's not meant to be exhaustive. The set of JAX examples (both using and not using stax) will grow in the future, but I encourage you not to feel limited by stax: if you can implement an LSTM in raw NumPy, you can use JAX!
Let's leave this issue open so that we can check in some kind of RNN example in the future.

Aah, okk, I guess I had a different perspective in terms of the use case of JAX? For research in say, a field like computational biology, surely I am not going to use my own LSTM implementation over something like pytorch which is heavily optimized. Pytorch also lets you build heavily customized architectures. So, I am trying to think of the place of JAX among all of the deep learning frameworks.

This feels to me like something that would be in tensor2tensor, they already have an LSTM model it looks like but they're currently missing a jax version: https://github.com/tensorflow/tensor2tensor/tree/master/tensor2tensor/trax

One benefit I found with JAX is that the JIT compilation can make your own custom code pretty competitive. I was messing around with my own LSTM implementation and I found that JAX actually had the fastest forward pass on GPU after JIT compilation (comparing against using the same low-level ops in Pytorch and Tensorflow). My implementation uses lax.scan, however, which was recently removed and hasn't been added back in just yet, so I'm not sure how fast JAX computes gradients compared to the other frameworks.
The reference LSTM code can be found here, if it is any help.

surely I am not going to use my own LSTM implementation over something like pytorch which is heavily optimized.

That's a great point to bring up!
JAX gets its performance from XLA. By relying on an end-to-end optimizing compiler like XLA, the idea is that you don't need to depend on specialized implementations for performance; you can write your own code from scratch and XLA will heavily-optimize it for you. That's the model at least, and we've been pretty impressed with XLA performance so far.
That said, XLA is still developing rapidly. If you think it's not giving you great performance on some application, open a bug with example code and we and/or the XLA performance team will be glad to dig in.

Now that there's a differentiable scan, I finally have a working toy LSTM example!

Woohoo, awesome @sharadmv ! Thanks for sharing that.
Any initial findings about scan? Thoughts on ergonomics, performance improvements to make, etc?

These swapaxes calls are interesting to me, since I'm currently working on vmap of scan. Ergonomics-wise, how valuable would it be to scan over different axes? (Not sure if we'd add that because I'm not sure about the power-to-weight, but I wanted to solicit early feedback!)

I actually think scan is very clean right now, and the docstring explains it very well! As far as performance goes, I'm finding that JIT-compiling gradient updates results in a 6-7x speed improvement for! I haven't explored different sequence lengths just yet, but definitely something I'll look into soon.
Most scan implementations I've worked with (Theano, Tensorflow) only loop over the first axis (you can see how I handle it here). I don't think it's necessary to have the loop axis as an argument, but it would be as minor QOL improvement.


Strange behavior for ReductionKernel

Good day,
I am having a strange behavior when running a custom reduction kernel.
Specs

Cupy version
GPU
CPU
Memory

cupy-cuda80
NVIDIA GeForce GTX760
Core i5 4440
8 Gb

Issue
I am trying to measure the execution time of my cupy reduction kernel. In my application i will be invoking this kernel within a for loop, so i am measuring the run time for N iterations against other baseline algorithm. The issue is after increasing the number of iterations above some number the execution time becomes very slow.
Code
import cupy as cp
import time

# def timeit(method):

my_reduction = cp.ReductionKernel(
    'uint8 x',
    'uint8 y',
    'x',
    'a+b',
    'y=a',
    '0',
    'my_reduction'
)

vv = cp.load('vv.npy')    #dtype=uint8, shape=(1777, 5777)
ell = cp.load('ell.npy')  #dtype=int32', shape=(1823, 5)
                          #vv[ell] dtype=uint8, shape=(1823, 4, 5777)

@timeit
def test_reduction(i):
  for i in range(i):
    my_reduction(vv[ell], axis=1)   #dtype=uint8, shape=(1823, 5777)
test_reduction()

# Now measuring the run time
test_reduction(100)    # consumes 360ms
test_reduction(500)    # consumes 400ms
test_reduction(600)    # consumes 2 seconds is this even normal ?
test_reduction(700)    # consumes 3.8 seconds which is not expected too

Description
Once i start increasing the number of iterations from 500 to 600 huge slow down in the loop is obtained.
Am i missing something here ? does this have to with memory free-ing ?
Profiler results
After running the profiler against some of the cases above i am not able to fully understand the reason for the huge increase in run time
Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
    34                                           @timeit
    35                                           @profile
    36                                           def test_reduction():
    37       701       4114.0      5.9      0.0    for i in range(700):
    38<PHONE_NUMBER>.0   7696.3     34.0      l = vv[ell]
    39<PHONE_NUMBER>3.0  14964.7     66.0      my_reduction(l, axis=1)

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
    34                                           @timeit
    35                                           @profile
    36                                           def test_reduction():
    37       501       1404.0      2.8      0.2    for i in range(500):
    38       500     737520.0   1475.0     84.4      l = vv[ell]
    39       500     134477.0    269.0     15.4      my_reduction(l, axis=1)

What i expected was a slight increase in time when the number of iterations is slightly increased but what happens here is a huge increase in time which i am not able to fully understand. I would appreciate your help
Thanks

I think i may have found useful info here https://github.com/cupy/cupy/issues/1294


Speed up alignment 2-5x(?) by using mm2-plus

Enhancement suggestion
It seems it might be possible to speed up the most resource intensive part of EMU (the alignment part done by minimap2) by switching minimap2 to this new improved drop-in replacement: https://github.com/at-cg/mm2-plus
They report speedups of around 2-5x, from what I can see in the graphs, depending on the dataset, although that includes spreading out the workload on multiple CPU cores, which I understand might not make such a big difference in EMU, since EMU can leverage multiple CPU cores by running multiple minimap2 jobs in parallel anyways if I understand correctly(?)
Anyways, there is a preprint about the tool here: https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>5328v1
Motivation
The resource requirements for EMU right now are somewhat demanding, which might hinder fast response times depending on the amount of samples and available compute power.
In our rough tests we have seen resource requirements in the ballpark of:

0.3-0.4 (CPU) core seconds per read (avg 1400 bp in length)
Around 0.5 core hours per 4000 reads chunk file output from the instrument
Full samples easily taking ~20 core hours, if having 40 such chunks (x 4000 reads), to compute (of course can be cut by ~10x by scaling out on 10 cores etc, but still pretty demanding).

Thanks for letting us know! We will look into it!

Did you use the --mm2-forward-only argument ? It force minimap2 to consider the forward transcript strand only. While not as promising as mm2-fast, it can speed up EMU. The argument is suitable for Iso-seq, Direct RNA-seq and traditional full-length cDNAs.
source: https://github.com/lh3/minimap2?tab=readme-ov-file#map-long-mrnacdna-reads

Thank you for the suggestion @jodjo86 ! We'll have a look at that!
I should also say that after looking closer into mm2-plus, I realize the speedup might not be as great since a big part of it seems to be based on utilizing multiple CPU cores, which is already done in EMU by running multiple minimap2 jobs in parallel.
So any remaining speedups are then probably coming from the SIMD optimizations I guess.
I'm still interested in trying that out, but haven't got to it just yet. Will report back if and when!

As far as I understand, EMU does not run multiple minimap2 jobs in parallel. The --threads argument is given directly to minimap2.  The minimap2 documentation says Minimap2 uses at most three threads when indexing target sequences, and uses up to INT+1 threads when mapping. So EMU uses 3 threads by default.
Cautionary tale: mm2 is a robust and heavily documented tool, I would wait to see what happens with mm2-plus before implementing it.
I'm just an EMU user but I hope this helps.
source: https://lh3.github.io/minimap2/minimap2.html


Missing shinythemes dependency

When I installed per your instructions I got the error there is no package called ‘shinythemes’. You should add this to your DESCRIPTION as an import.

Hi Marina, I already installed shinythemes and got it running so not much point reinstalling (I just wanted to have a quick look) but that merge looks like it should deal with this and #33 too! Thanks

Thanks for reporting. This is indeed implemented in the new version 0.2.0.
I leave this here for reference:
https://github.com/collaborativebioinformatics/VariantSurvival/blob/45d7e19521811f0c8b544e5904eded2936ebd8b7/VariantSurvival_package/DESCRIPTION#L33
Since it is fixed on your side and implemented now I'll close this issue.


Document how to use resource bundle Web UI

Do you know when the last time the bundles feature was used? I'm wondering if custom repo messages (homepage messages, footer messages, etc.) might cover the use cases the resource bundle system was designed for. Since resource bundles seem pretty error-prone, and the code to support them adds some kinda significant complexity, I think we should consider getting rid of the bundle feature if we don't need it.

Hi!  Just saw this float by in my inbox and thought I'd chime in.  The
resource bundle system, as I recall, was created to make it possible to
override or localize any part of the UI without having to deploy a code
change.  For many of the Person Finder deployments while I was on the team,
it was a lifesaver to be able to instantly override anything or add
translations on the fly while we were in the heat of a response, instead of
building and testing.  I think you could evaluate this decision on the
basis of whether the possibility still exists for conditions like that.
On Wed, Feb 20, 2019, 13:52 Nick Worden<EMAIL_ADDRESS>wrote:

Do you know when the last time the bundles feature was used? I'm wondering
if custom repo messages (homepage messages, footer messages, etc.) might
cover the use cases the resource bundle system was designed for. Since
resource bundles seem pretty error-prone, and the code to support them adds
some kinda significant complexity, I think we should consider getting rid
of the bundle feature if we don't need it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/personfinder/issues/8#issuecomment-465769564,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOaNv3XckRowDv5e-IOzYtKBbFBN3Xtks5vPcOpgaJpZM4DhXqR
.

Wow, it's Ping! It's great to hear from you! Thanks for your input, it's definitely useful to have background on what resource bundles were developed for.
I think we have two sets of things to consider:

What the system gets used for. I suspect it's gotten less use over time as PF has matured and there are fewer surprises during a response.
Whether resources bundles are still how we want to address the use cases we have, especially since we're moving to React for the non-lite UI. Although I imagine we could technically treat the compiled JS as a resource like anything else, I don't think it'd be pretty (as we'll certainly want to compile the JS in advance either way for performance reasons).

Yeah, compiled JS wouldn't make sense as a resource.  The resource editor
is supposed to be a human-facing UI for making quick edits by hand.  I
could see it being used for text (inserting helpful information into the
UI, or adding translations that weren't previously prepared), or small
formatting changes (maybe you need to change something in a way that goes a
bit beyond a home page custom message), or images (maybe you want to post a
custom message on the home page that includes embedded images, so you need
somewhere to put the images, and resource bundles are a natural fit because
the images might have localized versions).
On Thu, Feb 21, 2019 at 3:02 PM Nick Worden<EMAIL_ADDRESS>wrote:

Wow, it's Ping! It's great to hear from you! Thanks for your input, it's
definitely useful to have background on what resource bundles were
developed for.
I think we have two sets of things to consider:

What the system gets used for. I suspect it's gotten less use over
time as PF has matured and there are fewer surprises during a response.
Whether resources bundles are still how we want to address the use
cases we have, especially since we're moving to React for the non-lite UI.
Although I imagine we could technically treat the compiled JS as a resource
like anything else, I don't think it'd be pretty (as we'll certainly want
to compile the JS in advance either way for performance reasons).

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/personfinder/issues/8#issuecomment-466203866,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOaNj0cgH7NPdmfPEcuzJ95in_-FzM9ks5vPyV9gaJpZM4DhXqR
.

Oh Ka-Ping! Long time no see.
To elaborate what Nick said: We are switching to use React to construct UI, which means that majority of our UI will be written in JS (precisely, JSX) and gets precompiled. So we will no longer be able to use (current) resource bundles to tweak UI. We may be able to develop a new resource bundle system which works with React, but it sounds nontrivial.
Looking into history of our resource bundle in production, it was probably in 2015 when we used resource bundle in the last time. We updated the resource bundle several times after that, but it was probably just to keep it consistent with the production resources.
That said, it is true that it was historically useful, and it is also true that its usage has been significantly reduced over time.
And it was also the cause of several production bugs in the past when it got out of sync with the production code.
Considering all above, I'm personally OK to remove it. But we should probably hear Pete's opinion too from operation perspective.

Out of curiosity, why are you rebuilding it in React?  Is it just to change
the look?
On Thu, Feb 21, 2019, 20:31 Hiroshi Ichikawa<EMAIL_ADDRESS>wrote:

Oh Ka-Ping! Long time no see.
To elaborate what Nick said: We are switching to use React to construct
UI, which means that majority of our UI will be written in JS (precisely,
JSX) and gets precompiled. So we will no longer be able to use (current)
resource bundles to tweak UI. We may be able to develop a new resource
bundle system which works with React, but it sounds nontrivial.
Looking into history of our resource bundle in production, it was probably
in 2015 when we used resource bundle in the last time. We updated the
resource bundle several times after that, but it was probably just to keep
it consistent with the production resources.
That said, it is true that it was historically useful, and it is also true
that its usage has been significantly reduced over time.
And it was also the cause of several production bugs in the past when it
got out of sync with the production code.
Considering all above, I'm personally OK to remove it. But we should
probably hear Pete's opinion too from operation perspective.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/personfinder/issues/8#issuecomment-466269928,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOaNjclBfsoWJBnYI1ypXJRwYP4lppdks5vP3KMgaJpZM4DhXqR
.

Yeah, it's about aesthetics. We've gotten some feedback internally that it doesn't "feel modern."

It seems like a shame to invest a lot of effort in a rewrite with potential costs to functionality or stability, if the reasons are indeed purely aesthetic.  Shouldn't decisions about development priorities and about keeping or removing functionality be primarily driven by good arguments for what will help people contact their loved ones?

To get more precise, I'm going to separate this into two questions: a) why are we implementing a redesign and b) why are we doing it with React instead of sticking with Django templates.
Why we're implementing a redesign: I guess this is really the question I had in mind when I replied two comments up. I'm not sure there's anything that makes this redesign significantly different from any other product that gets a UI redesign after a period of time (this isn't the first time PF has seen a "UI upgrade", after all). If aesthetics didn't count for anything, there are a lot of ways we could reduce technical complexity, but they count for something so here we are.
As for why we're doing it with React: we considered implementing the redesign with something simpler (most likely using the underlying Material components for web directly within the existing Django templates), and I won't deny that that option might be a better fit for our current feature set. However, we're exploring some new response-related features* that would involve substantially more frontend logic (such that we'd want to be working with something like React if/when we implement them), and we're not going to have the time to rewrite the frontend twice anytime soon. Given the time/opportunity to rewrite the frontend once, ultimately it seemed like a good idea to use our rewrite on a move to React so we'd be in a better position later on.
* If you're interested in discussing those potential features further, LMK and I can set up a VC (with you, me, and Pete) to talk more about it.


feat(tutorial): complete step 1

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

@kellychurchill Can you please review this PR

👍 Looks good - I have recorded your completion of this step!


Bugfix: handle double trailing slashes in paths

As found by @stefanpenner, double trailing slashes caused hard errors when recognizing paths.
Changes:

Added failing test
Fixed recognize to handle trimming double trailing slashes

How to test drive this PR:

Checkout this branch
Run npm start
Ensure tests pass

Question: Do we need to collapse ε segments throughout the path?

why should this be fixed inside recognize and not before being passed into recognize?

Hmm, I thought we already decided this? We landed https://github.com/emberjs/ember.js/pull/14961, do we still need this PR too?


Test/compression off

prometheus is still using up lots of ram with uncompressed wal files... going to close.


Add a feedback form

Using a feedback form on ML Fusion Labs makes the platform better for everyone. It helps the team understand what users like, improve courses to match skill levels, and keep projects relevant and practical. Feedback also helps build a supportive community and guides new features that users want. Overall, it makes ML Fusion Labs more useful and enjoyable for learners.

this one already exists please check the website.
So I am closing this issue.
Please understand.
And one more thing this project and i am going to be inactive from today night.


2.1: Fbprophet Setup code error

Issue with matplotlib install, code shows ( matplotlib=3.0.2 )
!pip install --user pystan==<IP_ADDRESS> holidays==0.9.8 setuptools-git==1.2 matplotlib=3.0.2 --upgrade
to fix the issue, just update to: ( matplotlib==3.0.2 )
!pip install --user pystan==<IP_ADDRESS> holidays==0.9.8 setuptools-git==1.2 matplotlib==3.0.2 --upgrade

@alessandromarialva if you have the fix please send us a PR we will review and merge.

Thanks Sangeev, PR created:
Fbprophet Setup fix for matplotlib #1

@alessandromarialva I don't see the PR yet.

Sorry, it should be up now. Thanks!

new PR created and passed, thanks!

https://github.com/IBM/watson-stock-market-predictor/pull/28

Hello, new to coding. Can you help with these errors? I really don't understand what I did wrong. As shown below, "Failed building wheel for fbprophet" followed by "fbprophet module not found".
2.1: Fbprophet Setup
Install required packages (this can take some minutes)
UPDATE(vnderlev): setuptools-git is now required for fbprophet 0.5.
!pip install --user pystan==<IP_ADDRESS> holidays==0.9.8 setuptools-git==1.2 matplotlib==3.0.2 --upgrade
Collecting pystan==<IP_ADDRESS>
Downloading https://files.pythonhosted.org/packages/46/37/801a5a932e7f1f038542e7c5e4c4010aac19a26ea6bde9534505465f8c8c/pystan-<IP_ADDRESS>-cp36-cp36m-manylinux1_x86_64.whl (68.1MB)
|████████████████████████████████| 68.1MB 49.7MB/s eta 0:00:01
Collecting holidays==0.9.8
Downloading https://files.pythonhosted.org/packages/cc/da/7d0642a8b94ea413fc7005f4538c01475a45b420d705f57481752552ac55/holidays-0.9.8.tar.gz (64kB)
|████████████████████████████████| 71kB 25.6MB/s eta 0:00:01
Requirement already up-to-date: setuptools-git==1.2 in /opt/conda/envs/Python36/lib/python3.6/site-packages (1.2)
Requirement already up-to-date: matplotlib==3.0.2 in /opt/conda/envs/Python36/lib/python3.6/site-packages (3.0.2)
Requirement already satisfied, skipping upgrade: numpy>=1.7 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from pystan==<IP_ADDRESS>) (1.15.4)
Requirement already satisfied, skipping upgrade: Cython!=0.25.1,>=0.22 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from pystan==<IP_ADDRESS>) (0.29.5)
Requirement already satisfied, skipping upgrade: python-dateutil in /opt/conda/envs/Python36/lib/python3.6/site-packages (from holidays==0.9.8) (2.8.1)
Requirement already satisfied, skipping upgrade: six in /opt/conda/envs/Python36/lib/python3.6/site-packages (from holidays==0.9.8) (1.12.0)
Requirement already satisfied, skipping upgrade: cycler>=0.10 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib==3.0.2) (0.10.0)
Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib==3.0.2) (1.0.1)
Requirement already satisfied, skipping upgrade: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib==3.0.2) (2.3.1)
Requirement already satisfied, skipping upgrade: setuptools in /opt/conda/envs/Python36/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib==3.0.2) (40.8.0)
Building wheels for collected packages: holidays
Building wheel for holidays (setup.py) ... done
Stored in directory: /home/dsxuser/.cache/pip/wheels/6f/d2/1a/5854fb5211d237db046d9ae62674a112d020d84c40a729dd02
Successfully built holidays
Installing collected packages: pystan, holidays
Found existing installation: pystan <IP_ADDRESS>
Uninstalling pystan-<IP_ADDRESS>:
Successfully uninstalled pystan-<IP_ADDRESS>
Successfully installed holidays-0.9.8 pystan-<IP_ADDRESS>
Install fbprophet from pip (this will take some time, please be patient) !pip install fbprophet
Collecting fbprophet
Using cached https://files.pythonhosted.org/packages/1a/b5/9c3fefa8a7b839729df57deedf0a69815841dfb88f0df911f34d998230b7/fbprophet-0.7.1.tar.gz
Requirement already satisfied: Cython>=0.22 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (0.29.5)
Requirement already satisfied: cmdstanpy==0.9.5 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (0.9.5)
Requirement already satisfied: pystan>=2.14 in /home/dsxuser/.local/lib/python3.6/site-packages (from fbprophet) (<IP_ADDRESS>)
Requirement already satisfied: numpy>=1.15.4 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (1.15.4)
Requirement already satisfied: pandas>=1.0.4 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (1.1.4)
Requirement already satisfied: matplotlib>=2.0.0 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (3.0.2)
Requirement already satisfied: LunarCalendar>=0.0.9 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (0.0.9)
Requirement already satisfied: convertdate>=2.1.2 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (2.3.0)
Collecting holidays>=0.10.2 (from fbprophet)
Requirement already satisfied: setuptools-git>=1.2 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (1.2)
Requirement already satisfied: python-dateutil>=2.8.0 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (2.8.1)
Requirement already satisfied: tqdm>=4.36.1 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from fbprophet) (4.51.0)
Requirement already satisfied: pytz>=2017.2 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from pandas>=1.0.4->fbprophet) (2018.9)
Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib>=2.0.0->fbprophet) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib>=2.0.0->fbprophet) (1.0.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from matplotlib>=2.0.0->fbprophet) (2.3.1)
Requirement already satisfied: ephem>=<IP_ADDRESS> in /opt/conda/envs/Python36/lib/python3.6/site-packages (from LunarCalendar>=0.0.9->fbprophet) (<IP_ADDRESS>)
Requirement already satisfied: pymeeus<=1,>=0.3.6 in /opt/conda/envs/Python36/lib/python3.6/site-packages (from convertdate>=2.1.2->fbprophet) (0.3.7)
Requirement already satisfied: korean-lunar-calendar in /opt/conda/envs/Python36/lib/python3.6/site-packages (from holidays>=0.10.2->fbprophet) (0.2.1)
Requirement already satisfied: six in /opt/conda/envs/Python36/lib/python3.6/site-packages (from holidays>=0.10.2->fbprophet) (1.12.0)
Requirement already satisfied: setuptools in /opt/conda/envs/Python36/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib>=2.0.0->fbprophet) (40.8.0)
Building wheels for collected packages: fbprophet
Building wheel for fbprophet (setup.py) ... error
ERROR: Complete output from command /opt/conda/envs/Python36/bin/python -u -c 'import setuptools, tokenize;file='"'"'/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /home/dsxuser/.tmp/pip-wheel-fusin54f --python-tag cp36:
ERROR: running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/fbprophet
creating build/lib/fbprophet/stan_model
Traceback (most recent call last):
File "", line 1, in
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/setup.py", line 149, in
long_description_content_type='text/markdown',
File "/opt/conda/envs/Python36/lib/python3.6/site-packages/setuptools/init.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/opt/conda/envs/Python36/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/conda/envs/Python36/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/opt/conda/envs/Python36/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/opt/conda/envs/Python36/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 188, in run
self.run_command('build')
File "/opt/conda/envs/Python36/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/opt/conda/envs/Python36/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/opt/conda/envs/Python36/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/opt/conda/envs/Python36/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/opt/conda/envs/Python36/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/setup.py", line 48, in run
build_models(target_dir)
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/setup.py", line 36, in build_models
from fbprophet.models import StanBackendEnum
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/fbprophet/init.py", line 8, in
from fbprophet.forecaster import Prophet
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/fbprophet/forecaster.py", line 17, in
from fbprophet.make_holidays import get_holiday_names, make_holidays_df
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/fbprophet/make_holidays.py", line 14, in
import fbprophet.hdays as hdays_part2
File "/home/dsxuser/.tmp/pip-install-efhwed5b/fbprophet/fbprophet/hdays.py", line 17, in
from holidays import WEEKEND, HolidayBase, Turkey
ImportError: cannot import name 'Turkey'
ERROR: Failed building wheel for fbprophet
Running setup.py clean for fbprophet
Failed to build fbprophet
Installing collected packages: holidays, fbprophet
Found existing installation: holidays 0.9.8
Uninstalling holidays-0.9.8:
Successfully uninstalled holidays-0.9.8
Running setup.py install for fbprophet ... done
Successfully installed fbprophet-0.7.1 holidays-0.10.3
Import packages
import fbprophet
import datetime as dt

print('Packages imported.')
ModuleNotFoundError                       Traceback (most recent call last)
 in
1 # Import packages
----> 2 import fbprophet
3 import datetime as dt
4
5 print('Packages imported.')
ModuleNotFoundError: No module named 'fbprophet'


Made DiskWriterQueue more reliable so that it can handle multiple back calls better

Hi kaan-kaya, thanks for finding and reporting this issue, it's a difficult one to find and simulate. Also thanks for providing a solution to it, that's really good stuff.
About your pull request, I noticed it doesn't have the "_stream.FlushToDisk();" anymore, any special reason for that or just missed it? If it was the latter case, do you want to change your code? Otherwise we could accept it and change it here.
Thanks for using and supporting LiteDB.

@kcsombrio thanks for the review, and thanks for spotting, must have removed that by mistake when cleaning up, I've made an update.


Corrects the grammar "do/does" in exception messages and tests

Hey guys,
I was turned onto the project by the Hanselminutes podcast. I dove right in and noticed that the exception messages had a grammar error. So I updated the messages and associated tests to reflect the change.

Hi @stevensona, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@stevensona, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

@stevensona thank you very much for taking the time to make these corrections, it is much appreciated!

@stevensona said...
I was turned onto the project by the Hanselminutes podcast. I dove right in

Glad to hear that you liked the show! We were very grateful to @shanselman for having @patriksvensson on.  Let us know if you have any questions about getting started with Cake.


[WIP] Scene export native gltf

Need some CICD.
Alternative to https://github.com/godotengine/godot/pull/32218 that directly uses Godot's importer to write an exporter.
Features:
Export the scene to glTF2.
Updated 2019-12-04.
Done:

Meshes
CSG
Gridmap
Materials
Bone weights
Bones
Blendshapes
The root node is put under the new root node.
Cameras
Debugged skins and animation skeletons
More debugging of meshes
Material caching
Use node index instead of bone names to do child parent relationships
Support all meshes instead of just array meshes
Debugged crash with Gridmaps
Removed extra node under skeleton for the skeleton
Bone animations
Blend shape animations (2019-12-05)
Camera crashes (2019-12-06)

Todo:

Duplicate AnimationPlayer node
Duplicate Skeleton node
Move from the  the tools menu to an export menu. Use this new plugin interface to add an "export gltfs" option.
Cruft in accessor generation
No lights
Robust compatibility with blender

Whoops, will reset.

The new location of the pr is at https://github.com/godotengine/godot/pull/34193.


[New game]: Hangman Game

🎮 Game Request
Game logic and basic description:
Setup: The game begins by selecting a word or phrase that the player needs to guess. The chosen word is typically hidden from the player and represented by a series of blank spaces or underscores, with each space representing a letter in the word.
Guessing Process: The player starts guessing letters from the alphabet one at a time. If the guessed letter is present in the word, it is revealed in its corresponding position(s) within the hidden word. If the letter appears multiple times in the word, all occurrences are revealed.
Incorrect Guesses: If the guessed letter is not present in the word, it is considered an incorrect guess. The game keeps track of the number of incorrect guesses made by the player.
Hangman Drawing: For each incorrect guess, a portion of a "hangman" figure is drawn. The figure is typically drawn incrementally, adding body parts like the head, body, arms, and legs as the player makes more incorrect guesses. The hangman drawing represents the player's progress and serves as a visual indicator of how many incorrect guesses they have made.
Win Condition: The player wins the game if they successfully guess all the letters in the word before the entire hangman figure is completed. In this case, they have successfully "saved" the hangman.
Lose Condition: The player loses the game if they exceed a certain number of allowed incorrect guesses (usually represented by the completion of the hangman figure). In this case, the hangman is "hanged" and the player loses.
Point down the features
Game
Word Selection: A word or phrase is selected as the target word for the player to guess. This can be chosen randomly from a predetermined list or based on a specific theme or category.
Hidden Word Display: The target word is initially hidden from the player and represented by blank spaces or underscores. The number of letters in the word is typically indicated.
Letter Guessing: The player guesses individual letters of the target word by selecting them from the alphabet. The game validates the guess and checks if the letter is present in the target word.
Correct Guesses: If the player guesses a letter that is present in the target word, the game reveals the letter at its corresponding position(s) within the hidden word.
Incorrect Guesses: If the player guesses a letter that is not present in the target word, the game registers it as an incorrect guess and keeps track of the number of incorrect guesses made.
Hangman Figure: The game visually represents the player's progress and incorrect guesses through the drawing of a hangman figure. The figure is typically drawn incrementally, adding body parts for each incorrect guess.
Win Condition: The player wins the game if they successfully guess all the letters in the target word before reaching the maximum allowed incorrect guesses. Winning usually results in displaying a victory message and revealing the complete word.
Lose Condition: The player loses the game if they reach the maximum allowed incorrect guesses before guessing all the letters in the target word. Losing usually results in displaying a defeat message and revealing the complete word.
Scorekeeping: Some versions of the game keep track of the player's score based on factors like the number of correct guesses, time taken to complete the game, or difficulty level.
Difficulty Levels: The game may offer different difficulty levels, such as easy, medium, and hard. These levels can influence factors like the length of the target word, the maximum allowed incorrect guesses, or the complexity of the words used.
Hint System: Some versions of the game provide hints to the player to help them guess the target word. Hints can take the form of revealing a single letter, providing a category or topic related to the word, or offering clues about the word's meaning.
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @slayerrr12 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hello @slayerrr12, Time's Uppp!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @slayerrr12 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


SLOW

[x] It is slow
[x] Make it faster

+1

#notfixed
--
Michael West
https://mwe.st
On Jan 29, 2016 4:25 AM, Nelson LeDuc<EMAIL_ADDRESS>wrote:
Closed #8https://github.com/NelsonLeDuc/CalmanBot/issues/8.

Reply to this email directly or view it on GitHubhttps://github.com/NelsonLeDuc/CalmanBot/issues/8#event-531099748.


problem with num_col and num_rows

If a user specifies a size less than the number of variables, eg with 6 variables if the user sets:
fitter.plotFit (num_col=2, num_row=2)
four graphs are generated but there is also an error
Traceback (most recent call last):
File "D:\Documents\Tellurium\HellerstainExample.py", line 27, in
fitter.plotFit (num_col=2, num_row=2, figSize=(12, 6))
File "C:\Tellurium-Winpython-3.7\python-3.7.7.amd64\lib\site-packages\teUtils\model_fitter.py", line 249, in plotFit
plotter.plotTimeSingle(self.fitted_ts, timeseries2=self.observed_ts, options=options, **kwargs)
File "C:\Tellurium-Winpython-3.7\python-3.7.7.amd64\lib\site-packages\teUtils\timeseries_plotter.py", line 160, in plotTimeSingle
ax = axes[row, col]
IndexError: index 2 is out of bounds for axis 0 with size 2

This should work now. The method overrides the users options so that all variables are plotted. If you want fewer, then you have to specify the "columns" option.


⚠ Bofrost.be has degraded performance

In d7529b5, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 921 ms

Resolved: Bofrost.be performance has improved in 4c0cfb3 after 8 minutes.


[Bug] 0.4.0 Stacktrace starting server with no index

Is this a new bug?

[X] I believe this is a new bug
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
(canopy4.0) perrykrug@Perrys-Pinecone-MacBook:~/canopy$ canopy start
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
🚨 Note 🚨
For debugging only. To run the Canopy server in production, run the command:
gunicorn canopy_server.app:app --worker-class uvicorn.workers.UvicornWorker --bind <IP_ADDRESS>:8000 --workers <num_workers>
Starting Canopy server on <IP_ADDRESS>:8000
INFO:     Started server process [11591]
INFO:     Waiting for application startup.
2023-12-11 18:17:51,493 - MainProcess - canopy_server.app [INFO    ]:  Did not find config file. Initializing engines with default configuration
ERROR:    Traceback (most recent call last):
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/starlette/routing.py", line 671, in lifespan
async with self.lifespan_context(app):
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/starlette/routing.py", line 566, in aenter
await self._router.startup()
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/starlette/routing.py", line 648, in startup
await handler()
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/canopy_server/app.py", line 282, in startup
_init_engines()
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/canopy_server/app.py", line 338, in _init_engines
kb.connect()
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/canopy/knowledge_base/knowledge_base.py", line 240, in connect
self._connect_index()
File "/Users/perrykrug/canopy/canopy4.0/lib/python3.11/site-packages/canopy/knowledge_base/knowledge_base.py", line 202, in _connect_index
raise RuntimeError(
RuntimeError: The index canopy--canopy does not exist or was deleted. Please create it by calling knowledge_base.create_canopy_index() or running the canopy new command
ERROR:    Application startup failed. Exiting.
Expected Behavior
A better error message, or option to create index
Steps To Reproduce
Run canopy start after a new installation, before creating canopy index.
Relevant log output
No response
Environment
- **OS**:
- **Language version**:
- **Canopy version**:

Additional Context
No response

This was solved by #220 , closing


googleChatPluginConnectivityError

"_index": "elastalert_status_error",
Error while running alert googlechat: Error posting to google chat: 400 Client Error: Bad Request for url: https://chat.googleapis.com/v1/spaces/AAAAPQHUtOI/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=lEdbtivX1OuO-0etmMgBYzxP_2uY jr6r9AC2mLd-byY%3D",
Reason: When we configure webapp in Google Chat group by default it will be pre-fixed with %3D hence elastalert is not able to send messages to this channel
This must be handled at elasta side is my thought.

I think you should post'https://chat.googleapis.com/v1/spaces /...% 3D', but if you post all of them, other people will send a message to your google chat. .. If you don't mind, I won't say anything more

Do you recognize that there is no problem if you execute it with the curl command?
curl -X POST "https://chat.googleapis.com/v1/spaces/...%3D" \
--header "Content-Type: application/json; charset=UTF-8" \
--data '{"text": "hello!"}'

I'm a user of elastalert, but currently elastalert has few new features or bug fixes.

@Jayaram059
I don't use google chat so I can't try it, but does that mean I'll get an alert if you do what you say?

You should consider using another tool. I don't have an answer what another tool would be good for

I think you should post'https://chat.googleapis.com/v1/spaces/...%3D', but if you post all of them, other people will send a message to your google chat. .. If you don't mind, I won't say anything more

Agreed, that's why I deleted the chat group before I post here for safeside !!!
What I am trying to say here is, email alert is working perfectly, when it comes to GoogleChat, when we we create any webhook and copy the webhook URL chat is by default appending %3D and if we mention this in our config file Elastalert can't send any matches to given chat group as it can't connect, if you remove last 3 characters from URL it works.
So thought this would be either helpful to anyone uses it or if possible elastalert team can fix it !!!

I hope the development team will see this information and fix it.

Not a bug.

I thought it was a confusing post

I don't think it is necessary. There are many things I have to do more than that.


docs: update deployment doc

Coverage increased (+1.3%) to 75.68% when pulling c557c0f4c98770492e97ab32f3f79bc3547410ad on logo306142054:main into ba5924483822e51658a7537abbb24f3c117f8e04 on emqx:main.


I'm looking for API to retrieve multi transaction details at one request. please help

Currently i'm using omni_listblocktransactions to retrieve list of Tx Hashes in the block. But i have to retrieve the transaction detail (must have simple values for USDT) one by one in a loop.
Is there better way for that? such as

like omni_gettransaction API to retrieve multi transaction details at one request
Or something like bitcoin.getblock(block_hash, false) to retrieve all Omni Transaction(USDT) at one

Thanks and best regards,
Thức

@thucnh Is that what u need? https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md#omni_listtransactions

32 ?


Recruit Operator not supported

Dissect will panic on rounds with Recruit.
Recruit does not have a defined team role. How should we handle this?
Operator ID:<PHONE_NUMBER>34

Huh, yeah didn't think about this edge-case.
This sounds like we'll need to move back to working with the spawns...

Huh, yeah didn't think about this edge-case. This sounds like we'll need to move back to working with the spawns...
Slipped my mind as well. There is likely some indicator for team role hidden in the replay files. Cannot say when this will be found.

I don't think we should panic in this case. Inferring the role on Recruit players from other players may be an alright solution for now

I feel like the worst realistic case is an entire team of Recruit. Both teams Recruit are unlikely. We should be able to fairly reliably infer this and fill it in

Inferring the role on Recruit players from other players may be an alright solution for now

What if the whole team picks recruit though?

I feel like the worst realistic case is an entire team of Recruit. Both teams Recruit is unlikely. We should be able to fairly reliably infer this and fill it in

Honestly, I think having a whole team of recruits is more likely than just a single one when people are memeing.
How would you infer this? I feel the only reliable way of determining the role would be the spawn.

I feel like the worst realistic case is an entire team of Recruit. Both teams Recruit is unlikely. We should be able to fairly reliably infer this and fill it in

Honestly, I think having a whole team of recruits is more likely than just a single one when people are memeing. How would you infer this? I feel the only reliable way of determining the role would be the spawn.

You are saying assign an attacker team role if a spawn is present and vise-versa? The problem is an attacking spawn is sometimes given to a defense player. I am clearing those invalid entries out by later checking the team role. So, I'm not sure this would work.
You could find the role of the other team that is not full Recruit and then assign the opposite roles to defense. I rarely see both teams go full recruit.

Eventually, there should be a way to figure this out through the replay files

For now, I will ignore Recruit in deriveTeamRoles. The function will work as long as one player does not pick Recruit. I think this is a good enough solution for this project.
Operator team roles are sometimes modified in events, but Ubisoft disables replay access so we cannot even use r6-dissect in these cases.


Replace plan with pending changes table

Not a high priority, but once we have https://github.com/iasql/iasql-engine/issues/459. We could replace/remove plan completely and just point users to the system tables that we would have. The CLI could also pretty-print the SQL table instead of the current custom output apply has.

CLI is being deprecated so closing this out


Add link points to non_exhaustive feature

Hm, if anybody has a different opinion I'd be all ears, but I feel like this would be better as an addition to the existing text mentioning the postponed RFC, rather than a replacement.

Honestly, why not just update the original RFC for private enum variants and reference the RFC for the non_exhaustive feature? There are so many places that reference it and it would be a bit easier to do that than to update every reference to it.

Don't know if is still needed.


How to emit an event and trigger an action

Hello @dddomodossola ,
Thanks again for your kind and continues support. I would like to implement 'pubsub' feature in my GUI to receive alerts and warnings from other scripts that are running in the background. The best way to have less interaction between the GUI and the other scripts is to have those scripts to send messages via 'pubsub' and receive them in the GUI.
After a message is received by the GUI,  I would like to trigger an action (like showing a pup-up alert message). Could you please show me how to emit an event upon the receive of a message by 'pubsub' and trigger an action?
Best regards,

Hello @m-kareem ,
Excuse me for the late reply. To trigger an event you simply need to call it like a function. Suppose the Button.onlick event, if you have a button named mybutton and you want to trigger the event by code, you can simply do mybutton.onclick(). This way the listener will receive the event.
Furthermore, consider that in order to communicate with other processes, remi can receive GET requests. This allows you to avoid implementing particular protocols. Look at the example https://github.com/dddomodossola/remi/blob/master/examples/webAPI_app.py .
Kind Regards.

Hello @dddomodossola,
Thanks a lot for your kind response. The onclick() function is specific for the buttons and I am already using it in my GUI. My question is for when a generic event happens independent of the users actions. For example when a warning message is received by the GUI from other processes. How should the listener get it and how to call a specific function based on that?
Best regards,

I'm not sure to understand. Let's discuss it.
You have a remi application and an external application.
The external app sends message to remi app using a particular protocol.
The remi app receives such messages in a thread or in the idle loop.
When the event occurs, for example the string "WARNING" is received by protocol, a particular function have to be called.
If this is the situation you simply need to call such function, for example:
if message == "WARNING":
    self.my_warning_handler() #or maybe self.my_warning_dialog.show()

Events are not requirent up to this point.
Maybe you want to create an app automation where, for particular messages, the app spawns events, and the listeners should handle such events. If so, please describe it in detail.

Thanks a lot @dddomodossola , what you described is exactly what I want to do. I just did not know where to place the function in the code. So it should be in a running thread in the main function of the GUI or in the idle loop so that remi can always listen when the "if" statement became true, it executes the message handler.
I will give it a try and will let you know if it did not work.
Best,

This is a threaded application example https://github.com/dddomodossola/remi/blob/master/examples/threaded_app.py , give it particular attention tp the App.update_lock used to sync the remi thread with the external thread. ;-)


initial fastlane structures

With this you have the fastlane metadata in your repo and we can continue the RFP for the F-Droid store.
Would great if you support the inclusion.
After that please re-tag your release.

Can you please make sure that the five supported mode lines are not merged into one line, like it is rendered in the description I saw here:
https://gitlab.com/fdroid/rfp/-/issues/1654
Otherwise I would be happy to to support the inclusion on the fdroid store.

Yes, the GitLab Issue descriptions uses Markdown. And in Markdown is it usual to that a new line meeds two new lines.
The F-Droid description offers basic HTML tags, so with https://github.com/xdsopl/robot36/pull/6/commits/1c086f3312f276bbd4e40d42344a9566802a6f49 you should get it as a list

Thanks.
Is the title.txt not missing?
It should have the following content: Robot36 - SSTV Image Decoder

Further note that F-Droid itself will replace each line break with a
, so I strongly suggest collapsing subsequent empty lines to a single one each, like
Following modes are supported:

Robot Modes: 36 & 72

PD Modes: 50, 90, 120, 160, 180, 240 & 290

Martin Modes: 1 & 2

Scottie Modes: 1, 2 & DX

Wraase Mode: SC2 180

Old B/W or unsupported modes can be viewed in "Raw Mode".

Further, what is now short_description.txt should be title.txt – our linter will otherwise reject it as it matches the app name. short_description.txt should be a short description of what the app does, like "decode Slow-Scan Television messages".

Thank you for the explanations.
Short description should be SSTV Image Decoder

Okay, I see your point about the acronym SSTV being too cryptic to most people.
May I suggest the following: Image decoder for Slow-Scan Television (SSTV) audio signals

I just realized this was a bad merge. The short description had encoder instead of decoder in it.

Oh, that you can edit it. And then re-tag it, so that at the latest tag of a version, all is right.

Thanks, I just merged the corrected commit and made the v1.44-fastlane tag for you.

Thanks to both of you!


Question: deleting dataset and related objects

If I wanted to delete a dataset AND all the reference objects currently stored (in my case, Datablocks, Datafiles and Attachments), would Loopback handle deleting the related objects automatically, or do I need to send delete requests for each object? I see in the dataset model the relationships tag, but I don't know to what degree Loopback tries to handle referential integrity while sitting on top of mongodb.
https://github.com/SciCatProject/backend/blob/6c67c1f2a00a916982bd8884f9c66218000731a5/common/models/dataset.json#L130

Perhaps the answer is no based on this comment:
https://github.com/SciCatProject/backend/blob/6c67c1f2a00a916982bd8884f9c66218000731a5/common/models/dataset.js#L10

Yes, you have to do the deletion "manually" . At PSI we have a GO CLI tool to do that, which also removes the data from tape (optionally). To make all this CLI tools open source is still on our TODO list :-(

@stephan271  thanks. I'm kind of debating how to do this. If I do it in mongodb directly, I can wrap related deletes in transactions. If I do it through the API, there are trickier conditions if something fails. Any thoughts?

Yeah. If I were to design a mongo-based system from scratch, I'd urge myself to consider using embedded documents as a cheap form of referential integrity.


How to keep the data in the keychian after reinstall app?

When I uninstall the app, the data is disapear in ios.
I want to keep the data after uninstall the app.
🙏🙏🙏

this is my setting
const MMKV = new MMKVStorage.Loader()
.setProcessingMode(MMKVStorage.MODES.SINGLE_PROCESS)
.withEncryption()
.initialize();

@ammarahm-ed we are migrating from another Database and when the ecnryption is enabled we encountered this issue (snippet code is the same above). Why is the keychain deleted during startupif encryption is enabled?
- (void)clearSecureKeyStore
{
    NSArray *secItemClasses = @[(__bridge id)kSecClassGenericPassword,
                                (__bridge id)kSecAttrGeneric,
                                (__bridge id)kSecAttrAccount,
                                (__bridge id)kSecClassKey,
                                (__bridge id)kSecAttrService];
    for (id secItemClass in secItemClasses) {
        NSDictionary *spec = @{(__bridge id)kSecClass: secItemClass};
        SecItemDelete((__bridge CFDictionaryRef)spec);
    }
}

- (void)handleAppUninstallation
{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"RnSksIsAppInstalled"]) {
        [self clearSecureKeyStore];
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"RnSksIsAppInstalled"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

Experiencing the same thing here, and it's a bit unexpected and was frustrating it took so long to figure out what was happening.
Old version of an app was using react-native-sensitive-info which uses keychain, and when switching to use this library, I was noticing that all of the data stored using the other library was gone. It took awhile to realize this was happening because I was enabling encryption in this library.
Is there a way to use encryption and not have it clear everything?

@tamagokun You are facing the problem because this library does not use SharedPrefrences, instead it uses MMKV for storing data, so if you are migrating from another database, you need to first take out all of data from old database and put it in MMKV before removing the old library you were using.

Right, that part I understand. So, I have both libraries installed, and fetch the data from rn-sensitive-info, and store it into MMKV. It works GREAT as long as I don't enable encryption. As soon as I include withEncryption() all of the data that was in the rn-sensitive-info database is missing.

@tamagokun can you provide me a minimum reproducable example project? and I will try to fix it asap


Help with doc?

Hello, I am trying to figure out how to use YAggregate to pick a point's data rather than aggregate, because we have a custom aggregating function.  Maybe I'm not getting something conceptually, will try to figure out, but love to know what the data structure of Order is for
orders = SampleData.GetOrders();

Hello,
The structure is here https://github.com/apexcharts/Blazor-ApexCharts/blob/master/docs/BlazorApexCharts.Docs/Data/Order.cs
Please let me know if you have any more questions


Jupyterlab example fails if python310 specified due to tomli

Trying to run the Jupyterlab example specifying python 3.10 fails on MacOS ARM because the resolver tries to use tomli 1.2.0 rather than the 2.0.1 wheel it uses with python 3.9
Metadata on pypi for tomli 2.0.1 includes python 3.10. All mentioned versions pip install in a python3.10 nix derived venv.
This is likely to impact a significant number of packages via black etc.
A quick work around is to specify tomli>=1.2.2 in requirements which then pulls from nixpkgs
unpacking source archive /nix/store/snlm4gnf4ig1kmhzpm3skdp6j7wiy8gp-tomli-1.2.0.tar.gz
source root is tomli-1.2.0
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file tomli-1.2.0/tomli/py.typed
patching sources
applying patch /nix/store/6wprwrjrrxnqfpab3cgjc5cgm247pwla-fix-backwards-compatibility-load.patch
patching file tomli/_parser.py
Hunk #1 FAILED at 1.
Hunk #2 FAILED at 48.
2 out of 2 hunks FAILED -- saving rejects to file tomli/_parser.py.rej
error: builder for '/nix/store/sldnq9jh9gyqnbrc4jzkrs2ffxaxxz4c-python3.10-tomli-1.2.0.drv' failed with exit code 1;
       last 10 log lines:
       > unpacking sources
       > unpacking source archive /nix/store/snlm4gnf4ig1kmhzpm3skdp6j7wiy8gp-tomli-1.2.0.tar.gz
       > source root is tomli-1.2.0
       > setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file tomli-1.2.0/tomli/py.typed
       > patching sources
       > applying patch /nix/store/6wprwrjrrxnqfpab3cgjc5cgm247pwla-fix-backwards-compatibility-load.patch
       > patching file tomli/_parser.py
       > Hunk #1 FAILED at 1.
       > Hunk #2 FAILED at 48.
       > 2 out of 2 hunks FAILED -- saving rejects to file tomli/_parser.py.rej
       For full logs, run 'nix log /nix/store/sldnq9jh9gyqnbrc4jzkrs2ffxaxxz4c-python3.10-tomli-1.2.0.drv'.
error: 1 dependencies of derivation '/nix/store/yywap7kc59p8jc9jl28v0jiyj465v78z-python3-3.10.1-env.drv' failed to build

default.nix to reproduce:
let
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix";
    ref = "refs/tags/3.4.0";
  }) {
    # optionally bring your own nixpkgs
    # pkgs = import <nixpkgs> {};

    # optionally specify the python version
    python = "python310";

    # optionally update pypi data revision from https://github.com/DavHau/pypi-deps-db
     pypiDataRev = "897a7471aa4e83aab21d2c501e00fee3f440e0fe";
     pypiDataSha256 = "03gnaq687gg9afb6i6czw4kzr1gbnzna15lfb26f9nszyfq3iyaj";
  };

  pyEnv = mach-nix.mkPython rec {

    requirements =  ''
        jupyterlab
      '';
  };
in
mach-nix.nixpkgs.mkShell {

  buildInputs = [
    pyEnv
  ] ;

  shellHook = ''
    jupyter lab --notebook-dir=~/
  '';
}

Maybe this helps:
https://github.com/DavHau/mach-nix/issues/389


Document controlling Multiple IPs by using Subuser

As mentioned by Jacob here: http://community.sendgrid.com/sendgrid/topics/using_multiple_ips

Hello @nquinlan,Thanks for your suggestion or question! In an attempt to clear out our backlog,                                              we are closing out issues over 90 days old.                                             If this is still an issue, please feel free to reopen it.                                             Team SendGrid DX-Docs


Update build for OpenBSD 6.5

OpenBSD 6.5 has /usr/bin/llvm-config as part of the base install, but
base doesn't include /usr/bin/llc, so the llvm port is still required.
The port installs /usr/local/bin/llvm-config, so the Makefile can end
up using the wrong llvm-config which means it can't find llc.
Pointing LLVM_CONFIG at the port's path fixed the build for me.  I
think this gives the right behavior for anyone on OpenBSD.

@ibara Since this pull request is about building on OpenBSD, can you verify if this is the right approach? Thanks

This is exactly what I do for the package, see:
https://github.com/openbsd/ports/blob/master/lang/ponyc/Makefile#L33
So yes this is fine.

Unrelated but now that I think about it: OpenBSD should set verbose=true and default_pic=true in that section too, yes? At the very least default_pic=true since ponyc won't compile on OpenBSD if that's not set.

At the very least default_pic=true since ponyc won't compile on OpenBSD if that's not set.

Good point.  I'll update my pull request and the README instructions for building on OpenBSD.


initiate installer

testing a bash script

Installation method switcher is no required now.
You can checkout https://github.com/Kup1o/spotify-installer/issues/2 for more information.
You can make a pull request if you wish to.


Single room utilization

Describe the bug
My use case needs the chat to work with multiple users under a single-room (like a single group chat instance). As far as the docs says, we need to add the attribute single-room and then add my array of messages. This looks great. However I do not have an input field and the room header is blank.
Steps to reproduce
<chat-window
      single-room
      :rooms="[{}]"
      :current-user-id="currentUserId"
      :messages="chatData"
    >

Expected behavior
Expected a room to be created with users and messages but without showing the side and header bar
Screenshots

Device (please complete the following information)

OS: OSX
Browser: Chrome Canary, Mozilla
Package version: 0.7.0

Additional context
Ideally, if it was possible to make it act like a room with users inside but hide completely the room list and header, it would be good for me

Hack just for a while:
#chat-app .vac-room-header {
  display: none;
}

also, you can try to override some elements by slots (in my case I totally replaced the room header in some cases).

@mgralikowski  thanks, I'll add that to hide the header,
However, I was able to make it work using room-id attribute, whenever I am using single-room,
This should be mentioned as required in the docs when working with single rooms.

Fixed in https://github.com/antoine92190/vue-advanced-chat/commit/21536b55e2668e61f52a6cbbc42865ff7bd464d5

You are not required to use room-id anymore with single-room