Repeated Addition of Assistant Turn in Prompt/Chosen/Rejected Text Using apply_chat_template

When using the apply_chat_template function in the alignmentbook and the author's code, the assistant's turn is repeatedly added in the prompt, chosen, and rejected texts. This behavior might be causing discrepancies between SFT and DPO/SimPO, potentially influencing performance outcomes.
Code Snippet:
example["text_prompt"] = tokenizer.apply_chat_template(prompt_messages, tokenize=False)
example["text_chosen"] = tokenizer.apply_chat_template(chosen_messages, tokenize=False)
example["text_rejected"] = tokenizer.apply_chat_template(rejected_messages, tokenize=False)

Observed Behavior:
The logs indicate that each section (prompt, chosen, rejected) includes an 'assistant' turn, which seems to be added automatically by the apply_chat_template function. This could lead to an accumulation of assistant responses, affecting the structure of the training data used for models.
Example Log Output:
2024-05-27 11:45:50 - INFO - __main__ - Prompt sample 3278 of the raw training set:

<|begin_of_text|><|start_header_id|>user<|end_header_id|>

A middle aged man presents with progressive atrophy and weakness of hands and forearms. On examination he is found to have slight spasticity of the legs, generalized hyper-reflexia and increased signal in the cortico-spinal tracts on T2 weighted MRI. The most likely diagnosis is -

A. Multiple selerosis
B. Amyotrophic latetal sclerosis
C. Subacute combined degeneration
D. Progressive spinal muscular atrophy<|eot_id|><|start_header_id|>assistant<|end_header_id|>

2024-05-27 11:45:50 - INFO - __main__ - Chosen sample 3278 of the raw training set:

<|start_header_id|>assistant<|end_header_id|>

The patient presents with progressive atrophy and weakness of hands and forearms, which suggests a motor neuron disease. The presence of slight spasticity of the legs and generalized hyper-reflexia indicates involvement of the upper motor neurons. The increased signal in the cortico-spinal tracts on T2 weighted MRI also supports this finding.

Given these features, the most likely diagnosis is Amyotrophic Lateral Sclerosis (ALS), which is a disease that affects both upper and lower motor neurons.

So, the answer is B.<|eot_id|><|start_header_id|>assistant<|end_header_id|>

2024-05-27 11:45:50 - INFO - __main__ - Rejected sample 3278 of the raw training set:

<|start_header_id|>assistant<|end_header_id|>

Let's break down the clues:

* Progressive atrophy and weakness of hands and forearms: This suggests a peripheral nerve disorder, possibly affecting the motor neurons.
* Slight spasticity of the legs: This could be due to an upper motor neuron lesion, but it's a subtle finding.
* Generalized hyper-reflexia: This is a strong indication of an upper motor neuron lesion, as it suggests that the reflexes are being facilitated by the abnormal signal transmission.
* Increased signal in the cortico-spinal tracts on T2 weighted MRI: This is a key finding, as it suggests that the cortico-spinal tracts are affected, which is a hallmark of upper motor neuron lesions.

Considering these clues, the most likely diagnosis is:

So, the answer is B.<|eot_id|><|start_header_id|>assistant<|end_header_id|>

The prompt and chosen/rejected are directly concatenated:

    def build_tokenized_answer(self, prompt, answer):
        """
        Llama tokenizer does satisfy `enc(a + b) = enc(a) + enc(b)`.
        It does ensure `enc(a + b) = enc(a) + enc(a + b)[len(enc(a)):]`.
        Reference:
            https://github.com/EleutherAI/lm-evaluation-harness/pull/531#issuecomment-1595586257
        """

        full_tokenized = self.tokenizer(prompt + answer, add_special_tokens=False)
        prompt_input_ids = self.tokenizer(prompt, add_special_tokens=False)["input_ids"]

I look forward to any insights or suggestions on how to address this issue. Thank you!

Solved. Because I used the initial chat template, which was later updated.
See Fix chat template to add generation prompt only if the option is selected (#9)


Empty page comments file

Hi, @rugantio
I ran following command to scrape all comments in  Trump page but the output csv file is empty
scrapy crawl comments -a email="" -a password="" -a page="DonaldTrump" -a date="2020-04-04" -a lang="it" -o trumpcomments.csv

I got the same problem.

just change line44 to for post in response.xpath("//article[contains(@data-ft,'top_level_post_id')]"): it will work


set Spinner selected item.

Hi, first of all let me congratulate you for your great job.
I'm trying to create a dialog from a custom view that has a Spinner.
I would like the spinner to act as the .adapter does, so when an item of the spinner is clicked it becomes the "selected item".
Any clue how should I adress it?

See the custom view section in the README, or the custom view example in the sample


Repackage to com.github.pires.obd

we're on f-droid again with the new package name:
https://f-droid.org/repository/browse/?fdid=com.github.pires.obd.reader
note that for auto update to work in the future the tag name and android:versionName in the manifest must be absolutely identical (2.0-rc1 vs 2.0-RC1 ).
for reference, any future modifications of the fdroid metadata can be made here: https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/com.github.pires.obd.reader.txt

Nice! Thanks


Eis freshwater MCD15A2H LAI Reader for LVT

Description
Resolves Issue #772 to support MCD15A2H LAI reader in LVT. This capability is needed to support analysis of the MCD15A2H LAI dataset.
Testcase
Testcase Directory: /discover/nobackup/projects/eis_freshwater/lahmers/RUN/1km_DOMAIN_DAens20_MCD15A2H.006_2019Flood
The test case is run in an interactive node using the following commands and lvt.config file:
xalloc  --ntasks=1 -t 1:00:00 --qos=debug
ulimit -s unlimited
module use --append $HOME/privatemodules
module purge
module load lisf_7_intel_19_1_3_304_traceback-work-around
mpirun -np 1 ./LVT lvt.config.LAI.DA

Hi @TimLahmers, can you please open read permissions on the target output files in STATS.MCD15A2H.DA/? Thanks!

STATS.MCD15A2H.DA should have read permission now.

The code looks good and testing successfully reproduced the target output. Merging now.


Check to find old style invokeMethod

Closes #691

Download:
Environment: QT=5.12, ARCH=64, PYTHON_PATH=C:\Python37-x64
Environment: QT=5.12, ARCH=32, PYTHON_PATH=C:\Python37


[web3t] Display UploadInfo unconditionally

Reflects fact that I can start uploading at any point after I start leeching, and in particular before I become a seeder. A seeder is someone who has the whole file.
With the existing condition in place, there's no evidence of the channels that I open to allow peers to download from me (unless I happen to be a seeder).

We should think about overhauling the use of 'seeder' throughout the codebase, to avoid confusion.


Add specific error message for when accessing a certificate file fails

A PR was merged that fixed an issue with importing a certificate. However we need to follow up on that and make sure to have specific error message for the failure to access a certificate file.

cc @carl8382

It might be useful to have a toolkit level specific error:
enum CertificateError: Error {
    case couldNotAccessSecureScopedResource
    case importError(CertificateImportError)
    case unknown
}

extension CertificateError {
    var message: String {
        switch self {
        case .couldNotAccessSecureScopedResource:
            return "Could not access certificate file."
        case .unknown:
            return "Unknown error accessing and importing the certificate."
        case .importError(let certificateImportError):
            switch certificateImportError {
            case .invalidData:
                return "The certificate file was invalid."
            case .invalidPassword:
                return "The password was invalid."
            default:
                return defaultMessage
            }
        }
    }
}

and use that instead of CertificateImportError

Completed


Restructure sphere shaders and add support for deferred shading to sphere renderer

Cleaning up sphere renderer shader chaos inherited from btfs and adding option to switch between forward and deferred shading.
Summary of Changes

restructure fragment shader implementation for simple, ssbo, buffer-array to include helper functions instead of snippets
restructure fragement attribute inlcude that is used by all render modes
...

References and Context

Test Instructions

/format


fix: jail clean flakiness

In some cases, jails were failing to clean and we were swallowing the error, meaning the jail would still be marked as clean. This would cause subsequent function calls using that jail to fail.

Change stop.sh to only swap out the rootfs to remove some points of failure

It also checks for the existence of things before trying to kill/remove and will retry if things fail

Ensure that all jails are actually cleaned on Veritech startup
Capture script errors and log them appropriately. In every case I've seen, a failure is due to a device not unmounting in a timely fashion. Therefore, if we fail we push that jail back onto the to-be-cleaned stack, but to the front  so we don't immediately try to clean it again. This is kind of weak, but I've not seen a jail fail to clean twice in a row in my tests

The result here should be that we no longer mark uncleaned jails as clean. We will also bubble up more errors as they occur, so we should be able to more easily track these issues.

bors try

Looks good to me:
2024-02-07T18:53:08.157578Z  WARN ThreadId(02) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: failed to clean jail: 5
2024-02-07T18:53:08.157599Z  WARN ThreadId(02) deadpool_cyclone::pool_noodle::pool_noodle: Failed to clean the jail: `device-mapper: remove ioctl on rootfs-overlay-5  failed: Device or resource busy
`
2024-02-07T18:53:08.157684Z DEBUG ThreadId(02) receive{messaging.client_id="4" messaging.destination.name="veritech.fn.resolverfunction" messaging.message.body.size=1027 messaging.message.envelope.size=1180 messaging.nats.server.id="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.name="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.version="2.3.4" messaging.operation="receive" messaging.system="nats" messaging.url="nats://localhost" network.peer.address="<IP_ADDRESS>" network.protocol.name="nats" network.protocol.version="1" network.transport="ip_tcp" server.address="<IP_ADDRESS>" server.port=4222 otel.kind="consumer" otel.name="veritech.fn.resolverfunction receive"}:veritech.resolver_function_request{job.id="tomcruise" job.instance="01HP2E9DPX0A9W14B1XPBG44XQ" job.invoked_name="main" job.invoked_provider="si" otel.kind="server"}: deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: got ready jail: 0
2024-02-07T18:53:08.157731Z DEBUG ThreadId(02) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: readying jail: 8
2024-02-07T18:53:08.234530Z DEBUG ThreadId(65) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: jail readied: 8
2024-02-07T18:53:08.234924Z DEBUG ThreadId(65) receive{messaging.client_id="4" messaging.destination.name="veritech.fn.resolverfunction" messaging.message.body.size=294 messaging.message.envelope.size=447 messaging.nats.server.id="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.name="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.version="2.3.4" messaging.operation="receive" messaging.system="nats" messaging.url="nats://localhost" network.peer.address="<IP_ADDRESS>" network.protocol.name="nats" network.protocol.version="1" network.transport="ip_tcp" server.address="<IP_ADDRESS>" server.port=4222 otel.kind="consumer" otel.name="veritech.fn.resolverfunction receive"}:veritech.resolver_function_request{job.id="tomcruise" job.instance="01HP2E9DPX0A9W14B1XPBG44XQ" job.invoked_name="main" job.invoked_provider="si" otel.kind="server"}: deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: got ready jail: 8
2024-02-07T18:53:08.234966Z DEBUG ThreadId(65) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: readying jail: 3
thread 'main' panicked at 'Jailer error: Failed to create /dev/net/tun via mknod inside the jail: File exists (os error 17)', src/jailer/src/main.rs:379:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2024-02-07T18:53:08.317490Z DEBUG ThreadId(64) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: jail readied: 3
2024-02-07T18:53:08.317601Z DEBUG ThreadId(02) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: cleaning jail: 5
2024-02-07T18:53:08.322884776 [8:main] Running Firecracker v1.6.0
2024-02-07T18:53:08.386326Z  WARN ThreadId(65) receive{messaging.client_id="4" messaging.destination.name="veritech.fn.resolverfunction" messaging.message.body.size=294 messaging.message.envelope.size=447 messaging.nats.server.id="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.name="NA3ZYOQNDG5MSY2NTCGYQYWLKBAZ2XSEBD65VWR4UUG74EWDCNGH7LVR" messaging.nats.server.version="2.3.4" messaging.operation="receive" messaging.system="nats" messaging.url="nats://localhost" network.peer.address="<IP_ADDRESS>" network.protocol.name="nats" network.protocol.version="1" network.transport="ip_tcp" server.address="<IP_ADDRESS>" server.port=4222 otel.kind="consumer" otel.name="veritech.fn.resolverfunction receive"}:veritech.resolver_function_request{job.id="tomcruise" job.instance="01HP2E9DPX0A9W14B1XPBG44XQ" job.invoked_name="main" job.invoked_provider="si" otel.kind="server"}: cyclone_core::process: child process had a nonzero exit; code=signal: 15 (SIGTERM)
2024-02-07T18:53:08.435024Z DEBUG ThreadId(65) deadpool_cyclone::pool_noodle::pool_noodle: PoolNoodle: jail cleaned: 5

I.e. failed to clean, tried again later and succeeded

Added catch for the decrypt key not being present
Error:
   0: cyclone spec builder error: failed to run firecracker-setup file: No decryption key found at /firecracker-data/decrypt_key.ext4! This must be present in order to run functions. Exiting...

bors try

bors r+


fix(@angular-devkit/build-angular): detect tailwind.config.cjs as valid tailwindcss configuration

tailwind.config.cjs is a valid tailwindcss configuration file as it's listed in https://github.com/tailwindlabs/tailwindcss/blob/8845d112fb62d79815b50b3bae80c317450b8b92/src/util/resolveConfigPath.js#L46-L52 as such we should also take this filename into consideration.
Closes #23236

Thanks a lot :)


Fix some clippy warnings

Codecov Report

Merging #67 (da17af6) into main (d3fbec6) will increase coverage by 0.04%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##             main      #67      +/-   ##
==========================================
+ Coverage   82.02%   82.06%   +0.04%
==========================================
  Files          25       25
  Lines        4906     4907       +1
==========================================
+ Hits         4024     4027       +3
+ Misses        882      880       -2

Impacted Files
Coverage Δ

crates/hring/src/h2/server.rs
50.00% <33.33%> (+0.19%)
:arrow_up:

crates/hring-hpack/src/decoder.rs
97.52% <100.00%> (+<0.01%)
:arrow_up:

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


Data aggregator performance optimizations.

TODO: This change causes GPU hang after a while. Needs to be addressed before merging to master.


Typo in readme for import path for index.css

In the readme the import for the index.css file is incorrect, it should be import<EMAIL_ADDRESS>instead of import<EMAIL_ADDRESS>

Hi @sags95 👋
Thanks for the report! You're right, do not hesitate to create a PR to fix that 😉

it really took that long to fix it and no PR was ever made? well here is the fix: https://github.com/IOfate/react-coinbase-commerce/pull/6


vim101

普通模式
复制

y
dd
gU
gu
x
X

缩进
> , < 或 =

4== indent current line and next 3
=ap indent around paragraph
=% indent to end of method

重复操作

. 小数点可以重复上一次的命令
N<command> 重复某个命令 N 次

移动

% 匹配括号移动，包括[ { ( ,需要将光标移动到括号上。
#，* 匹配光标所在单词，* 下一个， # 上一个
0 行头
^ 本行的第一个非空白字符
$ 到行尾
g_ 到本行最后一个非空白字符
fa 向前移动到查找的第一个 a 字符
t, 移动到逗号前的第一个字符
3fa 当前行查找第三个出现的字母 a
dt" 删除查找到的第一个双引号之前的所有的内容
w 下一个单词到开头
e 下一个单词的结尾

单词默认由字母、数字和下划线组成（程序变量），而使用大写 W、E 的移动方式，单词由空白字符分隔。
action + text object
action

d delete
y yank
v visual
c delete and insert
s same as cl
S same as cc

text object

w word
s sentence
p paragraph
' " } ] ) specific characters

字符串（map (+) ("foo"))，光标在第一个 o 的位置

vi" select foo
va" select  “foo”
vi) select "foo"
va) select ("foo")
v2i) select map (+) ("foo")
v2a) select (map (+) ("foo")

Scrolling relative to cursor

:help scrolling
zt - reposition viewport so your current line is at the top
zz - middle
zb - bottom
<c-y>
<c-e>
<c-u>
<c-d>
<c-f>
<c-b>

缓存
当使用 vim 编辑器时，vim 会在被编辑的文件目录下，建立一个名为 .filename.swap 的文件
buffers
Summary:
- A buffer is the in-memory text of a file.
- A window is a viewport on a buffer.
    - A tab page is a collection of windows.

:ls 查看缓冲区被打开的文件，%a 表示当前文件，相关标记如下：
- 非活动的缓冲区
a 当前被激活缓冲区
h 隐藏的缓冲区
% 当前的缓冲区
# 交换缓冲区
= 只读缓冲区
+ 已经更改的缓冲区
:buffer [数字编号] 切换文件

同 buffer

:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个 vim 开启的所有文件，同 :ls
:n and :Ndoesn't switch between buffers

不同 buffers

:bn 编辑下一个文件(:bnext)
:bp 编辑上一个文件(:bprevious)
:blast 缩写 :bl
:bfirst 缩写 :bf

删除 buffer

:%bd - delete all your buffers
:bd or :.bd delete the current buffer
:.,+2bd delete the current buffer and 2 buffers after it (relative to their location in the buffer list)

多窗口

:sp {filename} 划分窗口，并打开指定文件
:Hexplorer 缩写 :He （在下边分屏浏览目录）
:He! (在上屏浏览文件目录）
:Vexplorer 缩写:Ve （在左边分屏间浏览目录，右边为 :Ve!)
:Texplorer 缩写 :Te 使用类似于浏览器 tab 标签的形式打开文件

窗口间移动

<crtl-w>j 光标移动到下方的窗口
<ctrl-w>k 光标移动到上方的窗口
<ctrl-w>q 退出窗口
<ctrl-w>t 窗口在新标签页中打开

标签页间移动
在普通模式下，使用快捷键 <ctrl-w>t，可以将一个 buffer 文件在另一个标签页中打开。

gt -  下一个标签
gT -  前一个标签
{i}gt -  i 数字，到指定标签页，比如 5gt 就是到第5个标签页
:tabs 查看打开的窗口和 Tab 标签的情况
:tabn go to next tab
:tabp go to previous tab
:tabfirst go to first tab
:tablast go to last tab
:tabclose[i] 指定标签数字，可以关闭指定标签页
:bufdo tab split 把 buffer 中的文件全部转成 tab
vim -p file1 file2 shell 命令行中以 tab 标签页的形式打开多个文件

会话 session
使用命令 :mksession ~/.mysession.vim ( :mks is ok) 保存已经打开的多窗口文件。 如果文件重复，vim 默认会报错，使用 :mksession! ~/.mysession.vim 代替。打开保存的会话
vim -S ~/.mysession.vim

Quickfix
what a quick fix list is effectively what a quick fix list is a series of entries in which point to a specific file and location.
A lot of times they’re associated with errors links or search results.

quickfix
location-list

quickfix

:cw 错误信息分屏显示
:cp 跳到上一个错误
:cl 列出所有错误
:cc 显示错误详细信息
:cdo

location-list
:ldo
Power of g
:h g

gQ
g0
g$
g <ctrl-g>
g#
g&
g-
g+
g??
gI
gU
gt
gT
g_
gf
gd
gg

The global command :g is very useful - multiple repeats
:[range]g[lobal]/{pattern}/[cmd]

Example:
:normal! !

:g/pattern/d – Remove lines matching pattern
:3,4g/pattern/d – Remove lines matching pattern between 3 and 4 line
:g/pattern/y A - Yank all lines matching ‘pattern’ into the register.
:g!/pattern/d – Remove lines that do NOT match the pattern
:v/pattern/d – Also removes lines that do not match the pattern
:cdo g/function/norm! ciw func<cr>

Replace
:%s/https\?.*/[&](&)/g

% – set the range to the entire file
s – substitution
/https\?.*/ – regex to match http or https and anything else after it
[&](&)– The & is the magic here and inserts the matched text. In this case, the URL. The rest of the characters are interpreted literally, giving us the linked URL in the resulting markdown.
/g changes all the matches on a line
use any regex delimiter in your pattern substitution. No  need to use / at all, try # instead: :s#/usr/local/bin#/usr/sbin#g to avoid escaping slashes.
Limit a search and replace operation between lines matching 2 regex patterns using /pattern1/,/pattern2/s/search/replace/

Search and replace | Vim Tips Wiki | Fandom
Repeat the last substitution
Developing efficient workflows in Vim is all about repetition, first and foremost by using . to repeat the last command. But Vim can also repeat your last substitution. Here’s a few options with subtle differences:

:& – Repeats last substitution but resets the flags. Also works with just :s.
:&& – Repeat last substitution with the same flags.
:%& – Repeat last substitution on entire file, reset flags.
:%&& – Repeat last substitution on entire file, keep flags.

:%s/something/newthing/g
:%&g

Search

Append /e to the end of a search to place the cursor at the end of the next match. I.e /search phrase/e
Stay in search mode /some-pattern<C-g> or /some-pattern<C-t>

vim 的环境配置和记录
.viminfo 主动记录你曾经做过的操作记录，以便你下次可以轻松地作业。
环境配置

在一般模式下输入 :set all 查看所有的参数设置值。
:set 显示与系统默认值不同的设置参数，一般来说就是自定变动过的设置参数。
:syntax on 打开语法高亮

DOS 与 Linux 的换行符
字符转换命令

dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]

registers
To find out what’s stored in each register, simply use Vim’s :registers command, or :reg for short.
Marks
Use m{capital letter} to make a global mark. Close and reopen VIm, and press '{capital letter} to open the file w/ the global mark.
args

:args /path/*
:wn

https://vimtricks.com/p/vimtrick-edit-files-sequentially/ - Edit files sequentially
Tips
Copying and pasting lines

The slow way is to navigate to the line I want, yank it, go back and paste it.

The most efficient way I can think to do that is to jump by searching with / and pressing <CR>. Then yank the line with yy. Then use the jump list, <ctrl-o>, to bounce back. And press p to paste the line below or P to paste the line above.

Use the ex :yank command :<line number>yank – copies the line number specified to your default register.

Use the ex :copy command :<line number>copy. – copies the line number specified and pastes it to the line below

The ex :copy command has a short version t

:281t. – Copy line 281 and paste it below the current line
:-10t. – Copy the line 10 lines above the current line and paste it below the current line
:+8t. – Copy the line 8 lines after the current line and paste it below
:10,20t. – Copy lines 10 to 20 and paste them below
:t20 – Copy the current line and paste it below line 20

Pasting into Vim from @StackOverflow? Avoid indent fail by using set :paste or use the system clipboard with "*p
https://vimtricks.com/p/vimtricks-avoid-paste-formatting

The shortcut keyboards in insert mode

<c-w> - delete a word
<c-x><C-f> - autocomplete filenames in vim.
<c-n> - 自动提示
<c-p> - 自动提示
<c-r>= - From insert mode, enters Vim’s expression register
<c-f> - switch from Command-Line mode to the command-line window. Or During the / portion of a search,  open a search history window.
<c-a> or <C-x> - increment or decrement hex, binary, and octal numbers in normal mode.
<c-k> + 2 letters - add special characters in insert mode. Examples:

<c-k>oo • bullet
<c-k>Db ◆ diamond bullet
<c-k>Pd £ pound
<c-k>Eu € euro
<c-k>-N – en dash
<c-k>-M — em

The undo tree usr_32.txt

If you make changes, undo, then make a different change, then undo, then make a different change, you create undo branches.
To view the change tree, run :undolist, to navigate the undo branches, use g-, g+
Go back to an earlier text state with the :earlier command.
Go to  newer text state with the :later command. This command accepts the following time units: s (seconds), h (hours), d (days), and f (number of saves).

Change the case of characters with ~, u and U.

gUw - Uppercase to end of word
gUiw - Uppercase entire word
guap - Lowercase paragraph

Sort lines in Vim:
sort-motion plugin - The primary interface to this plugin is via the gs mapping, for sorting based on a text object or motion.
Examples:

gs2j => Sort down two lines (current + 2 below)
gsip => Sort the current paragraph
gsii => Sort the current indentation level (requires text-obj-indent plugin)
gsi( => Sort within parenthesis. (b, c, a) would become (a, b, c)

Vim has some built in options:

:sort - sort all lines
:sort! - sort in reverse
:sort u - remove dupes and sort
:sort i - ignore case
:sort n - sort numerically

There are ways to sort elements of a single line in vanilla vim as well, as detailed in this StackExchange response, but they will involve some regex.
Jump between changes

:changes - Show list of changes
g; - Jump to previous
g, - Jump to next

:norm
The command allows you to execute normal mode operations from the command line. By combining with % , we can run a sequence of operations on an entire file.

:%norm - Run a normal mode command on the entire file.

Examples:

ysiw - surround plugin
:%norm ysiw"A: ""

`character

`[ - Navigate to the beginning of your most recently yanked or changed text
`] - Navigate to the end of your most recently yanked or changed text

Others

You can edit your visual selection by using  o to bounce your cursor to the opposite end of the selection. Adjust the top bound as needed, then press o to return to the bottom.

Use gv in Vim to reselect the last visual selection

filename-modifiers。关于Unix：在Vim中打开与当前文件相同的文件夹中的文件
:p Make file name a full path, :h expand, :wildcards

Use ea to append to the end of the current word.

Swap two characters in Vim with xp

Put from the "% register to put the name of the current file.

To make it easier to navigate conflict markers, you could tweak the built-in matchit plugin: stackoverflow.com/a/71676129/853…

Multiple cursor support

Open the quickfix window with :cwin and see the results. Next we do another search. To get back to our previous, older quickfix window, we use :colder. Then, we can return to the most recent search results with :cnewer.

Ex Command-line

:set noignorecase - make searches case sensitive (the default)
:set hlsearch - highlight the remaining matches with the search highlight group.
:set splitright - open splits in a right direction.
:set splitbelow - open splits in a below direction.
:set laststatus=3 - show only one activeted single status bar
:edit! - revert (go back or return to) all changes to the current buffer.
:1,5j - Use the ex command j to join some lines on a range. Use visual selection, and J to join or 'gJ' to join without spacing
Use %:h to get the path part of the current file. i.e., cd %:h to set the working directory to the directory of the current file.
Use :reg to view the contents of all registers, or :reg{register} to view the contents of one.
:Man command - Open that command's man page
:dig - open a list of all digraphs available on your system (complication options can affect the list)
:reg - open the vim registers
Toggle Vim boolean options

adding a bang ! at the end. :set number!, :set cusorcolumn!
:set number will turn the feature on
:set nonumber will turn the feature off

Check the current state of any option by adding a question mark ? to the end: :set number?  will return either number or nonumber depending on if the option is on or off.
Repeat the history command

Enter command mode : and then press <C-p> to cycle back through your history, finding a command and invoking it again.
if the command was the last colon command you ran, simply press @: to repeat the last command.j

Delete using the "_d{motion} command to delete without overwriting your default register.
Non-printable Characters ^M is a single character inserted by using CTRL-v
followed by CTRL-m. UTF-8 C1 Controls and Latin1 Supplement

Helps

:help wildoptions - command-line completion allows fuzzy-matching in some cases
:help registers - "0p will paste from the 0 register, which automatically contains the last yanked text.
:help global
:help no-greedy -  because .* is greedy. It matches the maximum amount of text it can. .\{-} will match the fewest characters possible to make a match.
:help jumplist - jumps are cursor movements stored in a list called the jumplist. movements which modify the jump list are:

/pattern searches and ?patternsearches (forward and backward pattern matching)
* and # (forward and backward search for the word under the cursor.
% (jump to a matching enclosing character like paren, brace, bracket, etc)
Any inter-file navigation like gf

:help scroll-cursor
:help option-list - all vim options
:help usr<tab>
:help buffer
:help window
:help <tab>
:help split
:help motion
:help options
:help <tabcomplate or ctrl-d>
:help <specific option name>
:help quickfix
:help macros
:help motions
:help substitude

References

Thoughts on coc.nvim
Vim中文帮助文档
vim-fundamentals
Vim documentation
jdhao blog about neovim
amikai blog about vim

:g/^$/d - 删除空行
:g/^\s*$/d - 删除只有空格的行


Named volume creation through rancher-compose CLI is broken

**Rancher Version:**V1.1.0-dev1
OS and where are the hosts located? (cloud, bare metal, etc): Ubuntu, cloud
Environment Type: (Cattle/Kubernetes/Swarm/Mesos): Cattle
Steps to Reproduce:

Create a stack and service using rancher compose CLI as below:
./rancher-compose -f dc5.yml -r rc5.yml -p newstack up -d

dc5.yml is as below:
st2:
  log_driver: ''
  labels:
    io.rancher.container.pull_image: always
  tty: true
  log_opt: {}
  image: ubuntu:14.04.3
  volumes:
  - abcvol:/home/soumya

rc5.yml  is as below
st2:
  scale: 3

Results
Named volume is not created. "docker volume ls" does not show the volume 'abcvol'
Also the docker inspect on a container shows the entire local directory path:
HostConfig": {
            "Binds": [
                "/Users/soumya/Downloads/rancher-compose-v0.8.0/abcvol:/home/soumya:rw"
            ],

hey guys, any word on this? I'm stuck on it...

Also, i've installed convoy using devicemapper and i'm unable to get it working with volume_driver option in compose, while is working in the ui... do you think it's the same issue or it's better if I open a new one?

@azazel75 The fix is already complete, so it should be in the next release. I'm unsure whether this is related to the volume_driver issue. If you don't mind, can you file an issue for that so we can track that separately?

@joshwget i've discovered that without named volumes the volumes correctly gets created with convoy... so i hope that having this bug fixed will fix my case too

Verified with v0.8.2-rc1 of Rancher-compose.


Consolidate lsm6ds33, LSM6DSL and lsm6dsOX into the same crate?

Hi @nnarain  and @Kriskras99 ,
I have just started looking to interface the LSM6DSOX to rust. I noticed this repository as well as https://github.com/Kriskras99/LSM6DSL. There seems to be a lot of overlap between these three devices, perhaps we should try to join efforts and create a LSM6DS driver that supports all three devices. It seems that Adafruit has done so with very little device specific code:
https://github.com/adafruit/Adafruit_LSM6DS

Ya I've been referencing the adafruit drivers when working on this rust implementation.
Definitively not opposed to a consolidated effort. Though I'm not familiar with the other devices (will have to look at the datasheet) and only have access to the LSM6DS33 on my nRF52840 dev board.

I only have the LSM6DSOX:

https://www.adafruit.com/product/4565

but will also soon start using: https://www.adafruit.com/product/4569 (ISM330DHCX)
which seems to have also a very similar interface (it's in the LSM6DS adafruit library).

In that case it would maybe be more appropriate to name the crate something like STIM-rs:

https://www.st.com/en/mems-and-sensors/inemo-inertial-modules.html

I'm all for consolidating our efforts and it does seem they are all basically the same. I'd suggest using LSM6DS as the crate name, as STIM implies it supports any and all current and future IMU's by ST.
Any suggestions on how to architecturely implement this?

Yeah, I agree, that also follows adafruit and your existing crates.
tor. 25. nov. 2021, 12:42 skrev Kriskras99 @.***>:

I'm all for consolidating our efforts and it does seem they are all
basically the same. I'd suggest using LSM6DS as the crate name, as STIM
implies it supports any and all current and future IMU's by ST.
Any suggestions on how to architecturely implement this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nnarain/lsm6ds33/issues/2#issuecomment-979133096, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAN363NBTSZPX4TCX42S6DUNYOKRANCNFSM5IXAVL5Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

My first idea for implementation was something like:

One struct per device
A IMU/LS6DS trait implements all the common functionality through default implementations. All we need is:

Address
write_read(..), maybe even address should be hidden here.

A configuration trait for each device is probably needed, but can maybe have default impls for the common configuration options.
the accelerometer and gyroscope traits can probably be generically implemented for anything that has the IMU/LS6DS trait.

https://crates.io/crates/accelerometer
Also just discovered this crate: https://crates.io/crates/ism330dhcx
Which means that all devices are pretty much implemented already... don't know if that changes the level of motivation a bit? Would at least make sense to try to get that driver on board as well.

Coming from the other crate here :eyes:
Seems like an interesting idea, do you have a draft or something I can get on?

Not yet, and I won't be able to create one for at least another week (very busy atm). But you can create one if you want to take a first stab at it


There's no page loading feedback when clicking a link to navigate somewhere

On staging login as an admin, click on a project code. Nothing happens while the data is loading in the background to indicate that the page is loading, it just sits there. On a slow network connection this could be a while and users could get confused that it's broken

Duplicate of #283


feat: Added a feature to get public URL of a path

What kind of change does this PR introduce?
It introduces a getPublicUrl method that was recently introduced in storage-js
https://github.com/supabase/storage-js/pull/10
What is the current behavior?
There is no easy way of obtaining public URL of a file.
What is the new behavior?
One can obtain the public URL of a file with getPublicUrl method.
Other context
Related issue
https://github.com/supabase/supabase-dart/issues/25

Great work! @dshukertjr. Thank you.


MongoDB Converter

Bug fix: yes
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: -
Hi,
I've made changes to DoctrineParamConveter class:

"use Doctrine\ORM\NoResultException" was removed (unused Exception)
ORMException catch was added in supports() method. Exception was thrown when Entity namespace alias wasn't declared. Supports() should return false instead.

Also I've created new DoctrineMongoDBParamConverter class, and put service definition in converters.xml.
When this converter is in use it is possibility to use "document_manager" option in annotation.

Awesome, I was just about to create one of these but I though I would check the PR's first.

-1 The DoctrineParamConverter should be generic enough to handle both MongoDB and ORM (and CouchDB, PHPCR).  #72

@henrikbjorn is right. #72 will help here.


feat(paeckchen-core): add progress step to source-map generation

ISSUES CLOSED: #159

Coverage remained the same at 100.0% when pulling 90a3e4af58120adfd6470a162a405ea8e9212d44 on core/source-map-step into a7c025ea9909c159c046b52bb428b2cb5af05084 on master.


Allow changing screen refresh rate between 60 and 120 Hz (on applicable models) to save battery

Originally we figured this out using ChangeScreenResolution.exe, but there might be a more elegant way:
https://github.com/CappyT/g14control/issues/1
Also allow this to be set in the plan.

First polling the screen resolution options to see if the model has a 120hz option, then switching.

Nevermind, I found it under the dGPU section.
I think that should be it's own side menu, because the resolution changes apply whether the iGPU or dGPU are being used.
I would like to see integration of the refresh rates into plans still as well.

That binary has been buggy for some people. I am tempted to remove it altogether, since you can just use windows to change refresh rate. Anyways, for many people changing the refresh rate for their laptop display doesn't actually do anything, even when changing using windows.

I've been testing this quite a bit. I seem to have no problems switching between 60hz/1080p/32bit and 120hz/1080p/32bit, however I have noticed bugs and crashes when switching to any other resolution or bits.
I have also noticed (when idling on power saving mode) up to a 1000mW decrease in battery usage on 60Hz, and it does seem to accurately change the refresh rate according to Windows and NVIDIA control panel.
So perhaps making switching between 60hz/1080p/32bit and 120hz/1080p/32bit available as a toggle, then having the other options removed or hidden under an advanced/buggy/may not work disclaimer.
For this to replace the old G14 control app for me saving that extra battery saving on 60Hz is necessary.
Let me know what you think.

Make sure it actually works. Go to https://www.testufo.com/ to see if it's truly 60hz or 120hz. Many people tell me that changing refresh rate doesn't work. You would instantly be able to tell without a doubt that it's 60hz because it's much choppier. Even when windows shows 60hz sometimes it's not actually the true refresh rate.

Hmmm, it does look like it is not changing, even when changing with Windows or Nvidia... Strange. So I guess there is no way to adjust the refresh rate on the G14...


SSH could not read data: Error waiting on socket

FluxCD version: 0.30.2
Output of flux check
► checking prerequisites
✔ Kubernetes 1.20.12+vmware.1 >=1.20.6-0
► checking controllers
✔ helm-controller: deployment ready
► ghcr.io/fluxcd/helm-controller:v0.18.2
✔ image-automation-controller: deployment ready
► ghcr.io/fluxcd/image-automation-controller:v0.21.3
✔ image-reflector-controller: deployment ready
► ghcr.io/fluxcd/image-reflector-controller:v0.17.1
✔ kustomize-controller: deployment ready
► ghcr.io/fluxcd/kustomize-controller:v0.22.3
✔ notification-controller: deployment ready
► ghcr.io/fluxcd/notification-controller:v0.23.2
✔ source-controller: deployment ready
► ghcr.io/fluxcd/source-controller:v0.22.5
✔ all checks passed

Output of flux version
flux: v0.30.2
helm-controller: v0.18.2
image-automation-controller: v0.21.3
image-reflector-controller: v0.17.1
kustomize-controller: v0.22.3
notification-controller: v0.23.2
source-controller: v0.22.5

ImageUpdateAutomation not working, the image-automation-controller's logs  says:
{
   "level":"error",
   "ts":"2022-05-17T08:57:04.660Z",
   "logger":"controller.imageupdateautomation",
   "msg":"Reconciler error",
   "reconciler group":"image.toolkit.fluxcd.io",
   "reconciler kind":"ImageUpdateAutomation",
   "name":"redacted",
   "namespace":"flux-system",
   "error":"unable to clone 'ssh://git@redacted/redacted/redacted': SSH could not read data: Error waiting on socket"
}

It looks like cannot write back the changes.
Thanks for help.
Originally posted by @kallaics in https://github.com/fluxcd/image-automation-controller/issues/159#issuecomment-1128623682

Hi,
After 2 weeks in which we no issue with this problem, now it surfaced again (probably due to increased activity from devs).
Kubernetes v1.22
FluxCD version v0.30.2
ImageAutomationController: v0.22.1
Git repository: 12MB, hosted in Bitbucket, usual FluxCD structure, nothing special like many objects etc.
Other specifics:

same SSH key and Bitbucket user are used for ~10 clusters
tried to randomise and/or to increase the timeout and the intervals for GitRepository and for ImageUpdateAutomation
tried to add more resources to the ImageAutomationController POD
the error is present right away after restarting the POD
the issue is very random in nature

Logs on debug mode:
{"level":"debug","ts":"2022-05-20T13:52:24.276Z","logger":"controller.imageupdateautomation","msg":"attempting to clone git repository","reconciler group":"image.toolkit.fluxcd.io","reconciler kind":"ImageUpdateAutomation","name":"flux-system","namespace":"flux-system","gitrepository":{"namespace":"flux-system","name":"flux-system"},"ref":{"branch":"master"},"working":"/tmp/flux-system-flux-system2825380238"} {"level":"error","ts":"2022-05-20T13:52:27.534Z","msg":"unable to clone<EMAIL_ADDRESS>SSH could not read data: Error waiting on socket","name":"flux-system","namespace":"flux-system","reconciler kind":"ImageUpdateAutomation","annotations":null,"error":"error","stacktrace":"github.com/fluxcd/pkg/runtime/events.(*Recorder).Eventf\n\tgithub.com/fluxcd/pkg/runtime@v0.14.2/events/recorder.go:113\ngithub.com/fluxcd/image-automation-controller/controllers.(*ImageUpdateAutomationReconciler).event\n\tgithub.com/fluxcd/image-automation-controller/controllers/imageupdateautomation_controller.go:868\ngithub.com/fluxcd/image-automation-controller/controllers.(*ImageUpdateAutomationReconciler).Reconcile.func1\n\tgithub.com/fluxcd/image-automation-controller/controllers/imageupdateautomation_controller.go:153\ngithub.com/fluxcd/image-automation-controller/controllers.(*ImageUpdateAutomationReconciler).Reconcile\n\tgithub.com/fluxcd/image-automation-controller/controllers/imageupdateautomation_controller.go:286\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:227"} {"level":"debug","ts":"2022-05-20T13:52:27.535Z","logger":"events","msg":"Warning","object":{"kind":"ImageUpdateAutomation","namespace":"flux-system","name":"flux-system","uid":"5f2b3355-655d-4326-9232-8a39e297b5a7","apiVersion":"image.toolkit.fluxcd.io/v1beta1","resourceVersion":"10313295"},"reason":"error","message":"unable to clone<EMAIL_ADDRESS>SSH could not read data: Error waiting on socket"} {"level":"error","ts":"2022-05-20T13:52:27.572Z","logger":"controller.imageupdateautomation","msg":"Reconciler error","reconciler group":"image.toolkit.fluxcd.io","reconciler kind":"ImageUpdateAutomation","name":"flux-system","namespace":"flux-system","error":"unable to clone<EMAIL_ADDRESS>SSH could not read data: Error waiting on socket","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:227"} {"level":"debug","ts":"2022-05-20T13:54:03.572Z","logger":"controller.imageupdateautomation","msg":"fetching git repository","reconciler group":"image.toolkit.fluxcd.io","reconciler kind":"ImageUpdateAutomation","name":"flux-system","namespace":"flux-system","gitrepository":{"namespace":"flux-system","name":"flux-system"}}

@kallaics @cbanciu667 we have two new release candidates that further improves the reliability of both controllers. Please give it a try and let us know how you get on:
ghcr.io/fluxcd/source-controller:rc-4b3e0f9a
ghcr.io/fluxcd/image-automation-controller:rc-48bcca59
Overall this issues are intermittent and will be recovered from eventually. But the changes should further decrease the likelihood of them happening.

Hi,
We have new errors on our 12 clusters after updating to the new docker images:
2022-05-30T04:58:13.273Z error ImageUpdateAutomation/flux-system.flux-system - Reconciler error cannot push non-fastforwardable reference 2022-05-30T05:09:29.429Z info ImageUpdateAutomation/flux-system.flux-system - pushed commit to origin 2022-05-30T05:25:58.273Z info ImageUpdateAutomation/flux-system.flux-system - pushed commit to origin 2022-05-30T05:27:11.970Z info ImageUpdateAutomation/flux-system.flux-system - pushed commit to origin 2022-05-30T08:01:20.231Z info ImageUpdateAutomation/flux-system.flux-system - pushed commit to origin 2022-05-30T11:22:32.328Z error ImageUpdateAutomation/flux-system.flux-system - Reconciler error cannot push non-fastforwardable reference 2022-05-30T13:54:14.043Z error ImageUpdateAutomation/flux-system.flux-system - Reconciler error cannot push non-fastforwardable reference 2022-05-30T14:56:52.223Z error ImageUpdateAutomation/flux-system.flux-system - Reconciler error unable to fetch-connect to remote 'ssh://git@bitbucket.org/Project/myrepo.git': ssh: handshake failed: EOF
I don't know if this is something related to our git configuration or is again some bug in the controllers but as before the images are randomly updated, sometimes it take longer, sometime less.
Please advise.
Thanks.

Hi @cbanciu667, flux2 v0.31.0 has been released with a fix for this problem. Would you mind upgrading and sharing your findings here? Thanks!

Hey @aryan9600, I updated flux yesterday on all our clusters, did some test deployments, but since the update I could not find any error related to ImageAutomation. Looks much better. From my side this bug can be closed.


Add public property to option type

When using the typescript media recorder package you can only upload public videos.
The public property needs to be added to the typescript type of this repo and added to the POST request in api.video-typescript-uploader.

I'm curious if this would be possible as well. The use case is that we're doing video interviews with job applicants.

Hi Rudolph,
As mentioned on https://github.com/apivideo/api.video-typescript-uploader/issues/13, at the moment that's unfortunatly not doable as the API endpoint doesn't support this. If one day the API offers a way to do this we will update the package.
Regards


to-do: make @std/http/file-server compatible with deno serve --parallel

deno serve --parallel was implemented in https://github.com/denoland/deno/pull/24920. @std/http/file-server should be made to use this sub-command and take advantage of --parallel. Benchmarks would also be great.

Is there a way to detect if the script is executed with deno serve?

We discussed this offline and we'll be creating a @std/http/x-file-server module which will be marked as unstable at least until --parallel is stable.

Talking with David, it might be worth adding a parallel: boolean option to Deno.serve() instead.


[bug] Close button on "Scan with ..." step sometimes gets squished

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
2.0.2
wagmi Version
2.5.7
Current Behavior
The x (close button) get squished when the wallet name is long. I noticed this playing with other locales
Expected Behavior
The x button should not shrink.
Steps To Reproduce

Open any rainbowkit modal so that the qr is shown for walletconnect
In devtools manually edit the text node that says Scan with .... Wallet to Scan with very very very super long Wallet
The x should become squished

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
https://codesandbox.io/p/sandbox/rainbowkit-forked-pz4x97?file=%2Fsrc%2FApp.js%3A18%2C35
Anything else?
the button is probably this line: https://github.com/rainbow-me/rainbowkit/blob/main/packages/rainbowkit/src/components/ConnectOptions/DesktopOptions.tsx#L570
The solution is probably just to add flex-shrink: 0;

Also while we are at it. I noticed that even in the sandbox provided there is another issue. The modal seems to be cropping the content which may result in GET button being fully invisible.

@midas-myth We're working on improving the internalisation UI for when GET button gets almost hidden, for now it kind of works, but we'll prioritise to support that soon.
Regarding the squished part of the X i think it's fine that it is like that, we always review wallets before adding them and we've not had any wallets which had a super long name. The longest wallet name we have is probably "Bifrost wallet" and that works fine for all languages. Let me know if you've got any other issues, i'll close this one for now and the team will look into making internalisation UI more friendly 🙏


Try force gdal 3.6.1 update

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

- Encountered problems while solving:
-   - package libgdal-3.6.1-h839a3bd_0 requires libpq >=15.1,<16.0a0, but none of the providers can be installed
-

Weird, maybe this explains why new qgis envs end up with gdal 3.6.0? Not sure what needs to be re-rendered though, maybe postgres?

libpg-feedstock has been archived. Need to figure out where it is built now.

It's part of https://github.com/conda-forge/postgresql-feedstock/ I think

I was able to install gdal and libgdal 3.6.1 in a new environment and it's picking up libpg 15.1 without issues, so maybe something else is pushing libpg down?

could be pdal?

@conda-forge-admin, please rerender

There was a postgresql pin in the meta.yaml... Removed and all seems ok. Merge if you are happy.


Client side sim to sim data syncing, queuing for getSetData

Allow sims to 'register' in the viewer for notifications of when a simId + key pair value changes
Additional 'options' parameter passed to setDataRequest, with expected syncWithLocal: true key to allow other registered sims (including itself) to be notified of the change. options will default to an empty object for all SimCapiMessages
Queuing behaviour for getData and setData requests, if a request is currently being made. Additional queued requests will overwrite the 'latest pending' request.
Remove try-catch block surrounding success/error callbacks on capi message receives to provide better error handling (BREAKING CHANGE)

Code is ready for review, marked as WIP pending the latest 'control' message for initial config properties to be implemented

so this doesn't work if the changes happen in other browser tabs, right?

🐘

so this doesn't work if the changes happen in other browser tabs, right?

nope, there was the option to implement the storage to sessionStorage and use the storage change listeners rather than direct onSetRequest -> notifyRegisteredListeners if this was desired - but after some discussion we didn't really see this as a use case (two sims in different tabs). it could absolutely be done just by rewiring the small bits in setDataRequest and localDataChanged (it wouldn't need to come from the viewer)

i think i got em :chicken:

(two sims in different tabs)

let's hope not.

👍

:chicken: minor changes in

Small changes 🐘

Removed the lines :chicken:

👍


Refactor Basic Entity

Pull Request Test Coverage Report for Build 70

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+10.1%) to 78.049%

Totals

Change from base Build 68:
10.1%

Covered Lines:
32

Relevant Lines:
41

💛  - Coveralls


Data Annotations on record fails in unittest

Currently we are setting up a new project and like to use the new records introduced in C# 9.
We encounter a problem with DataAnnotations inside the record (constructor) not being triggered during the unittest.
Now the DataAnnotation is triggered when calling the Controller, but when i try to simulate this in a unittest (see code below) it will never return any errors.
        //Unit Testing ASP.NET DataAnnotations validation
        //http://stackoverflow.com/questions/2167811/unit-testing-asp-net-dataannotations-validation
        protected static IList<ValidationResult> ValidateModel(object model)
        {
            var validationResults = new List<ValidationResult>();
            var ctx = new ValidationContext(model, null, null);
            Validator.TryValidateObject(model, ctx, validationResults, true);
            return validationResults;
        }

Currently we try different solutions but nothing works...
    public record FooRecord(string BarProperty)
    {
        [Required]
        public string BarProperty { get; init; } = BarProperty;

    }

This results in an error when i using this with mvc api.
System.InvalidOperationException: Record type '*******.FooRecord' has validation metadata defined on property 'BarProperty' that will be ignored. 'BarProperty' is a parameter in the record primary constructor and validation metadata must be associated with the constructor parameter.
As someone comment on stackoverflow to use targets in dataannotation.
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
    public record FooRecord([property: Required]string BarProperty)
    {
    }

Results in a error:
Record type '*******.FooRecord' has validation metadata defined on property 'BarProperty' that will be ignored. 'BarProperty' is a parameter in the record primary constructor and validation metadata must be associated with the constructor parameter.
The only workaround that is possible is write the complete record
    public record FooRecord
    {
        [Required]
        public string BarProperty { get; init; }

        public FooRecord([Required] string barProperty) => (BarProperty) = (barProperty);
        public void Deconstruct(out string barProperty)
        {
            barProperty = BarProperty;
        }
    }

I think this happens because the constructor of a record are params and properties at the same time.
I'm hoping if someone knows why this happens and maybe know how to solve this using the shorthand syntax:
    public record FooRecord([Required] BarProperty){ }

Wrong location for reporting bug. create new bug at https://github.com/dotnet/core/issues/6006#issue-819972273


Determine the current tile source

Hello,
I'm displaying multiple .dzi images using an array for tileSources and the referenceStrip. On top of the .dzi images I'm using paper.js to draw annotations. I am saving the annotations to a database. How can I determine the url of the .dzi image that is currently displayed? I need that url to be able to associate specific annotations to their corresponding .dzi image.
thank you in advance!

Keep track of your array of tileSources, and when you want to know what page you're looking at, use viewer.currentPage() to index into it.

thank you !
thanks to your response I found this method in the openseadragon website,
which I'm using now:
viewer.addHandler("page", function (data) {
console.log(myParams.tileSources[data.page]);
});
On Tue, May 12, 2015 at 6:06 PM, Ian Gilman<EMAIL_ADDRESS>wrote:

Keep track of your array of tileSources, and when you want to know what
page you're looking at, use viewer.currentPage() to index into it.
—
Reply to this email directly or view it on GitHub
https://github.com/openseadragon/openseadragon/issues/653#issuecomment-101332112
.

Excellent :)


Renamed "master" to "main"

Renaming was already completed. This PR is to test whether the default branch is now "main" and all PRs will automatically go to it. @mataton Feel free to merge when all tests have passed.
Please complete the following checklist:

[x] I have read the contribution guidelines.

[x] I have documented all public-facing changes in the changelog.

[ ] This pull request includes code, documentation, or other content derived from external source(s). If this is the case, ensure the external source's license is compatible with scikit-bio's license. Include the license in the licenses directory and add a comment in the code giving proper attribution. Ensure any other requirements set forth by the license and/or author are satisfied.

It is your responsibility to disclose code, documentation, or other content derived from external source(s). If you have questions about whether something can be included in the project or how to give proper attribution, include those questions in your pull request and a reviewer will assist you.

[x] This pull request does not include code, documentation, or other content derived from external source(s).

Note: This document may also be helpful to see some of the things code reviewers will be verifying when reviewing your pull request.

@mataton PS: There is no CI test, because only an .md file was changed. See here. Feel free to merge any time.

@qiyunzhu Merging now.


rpn_box 0.0000

when i train with voc2007, the rpn_box always 0.0000
[session 1][epoch  1][iter    0/5011] loss: 9.9775, lr: 1.00e-03
fg/bg=(7/249), time cost: 1.124771
rpn_cls: 0.6933, rpn_box: 0.0000, rcnn_cls: 3.0438, rcnn_box 0.0950, rcnn_cls_2nd: 3.0747, rcnn_box_2nd 0.0297, rcnn_cls_3rd: 3.0378, rcnn_box_3rd 0.0031
[session 1][epoch  1][iter  100/5011] loss: 4.2933, lr: 1.00e-03
fg/bg=(18/238), time cost: 88.347670
rpn_cls: 0.1459, rpn_box: 0.0000, rcnn_cls: 0.7563, rcnn_box 0.2220, rcnn_cls_2nd: 0.4431, rcnn_box_2nd 0.0312, rcnn_cls_3rd: 0.4980, rcnn_box_3rd 0.0130
can you help me with it?

What training command are you running? (e.g. python trainval_net.py --cuda --lr 0.004 --nw 1 --dataset pascal_voc --net res101 --lr_decay_step 8 --bs 4)
Have you made any modifications to the code?
Which branch are you on? pytorch-0.4.0 or pytorch-1.0?

I have the same problem.
I use the branch pytorch-1.0, and I transfer the code  > https://github.com/jwyang/fpn.pytorch
which is implemented by pytorch-0.4.0 to modify the faster rcnn code.
Besides the transfer of FPN code, I also modified the code of model/roi_layers/roi_align.py to support FPN  like this:
`
class ROIAlign(nn.Module):
def init(self, output_size, spatial_scale, sampling_ratio):
super(ROIAlign, self).init()
self.output_size = output_size            # 7×7
self.spatial_scale = spatial_scale        # 1.0/16.0
self.sampling_ratio = sampling_ratio   # 0
def forward(self, input, rois, scale):  # add parameter scale
    return roi_align(
        #input, rois, self.output_size, self.spatial_scale, self.sampling_ratio
        input, rois, self.output_size, scale, self.sampling_ratio
    )

`
After training begins, the loss rpn_box is always 0.000, while other losses seem working fine. Can anyone help me with this issue? What's the reason behind this problem, is there any clue or method to trace or debug it ?

The author only gives the implementation of FPN with pytorch-0.4.0, with seems only support cuda-8.0, since my GPU doesn't support cuda-8.0 and only support cuda-10 well, I have to transfer the code of FPN to faster-rcnn.pytorch-1.0.0. And I modified the code of model/roi_layers/roi_align, refering to the code of faster-rcnn.pytorch-0.4.0 and fpn.pytorch-0.4.0.
@AlexanderHustinx @jwyang

As a sanity check, have you tried to train the vanilla faster rcnn model from the pytorch-1.0.0 branch for a few epochs?
You should in that case, if everything is set up correctly, not get a 0.000 loss
After that you can try debugging the modified code:
e.g. - Does the FPN code work, after converting it to pytorch-1.0.0 ?

Does the modified roi_align code work ?

Also, how much of the code did you modify? I ask this because I believe this repository might use a slightly different RPN than the FPN repo.
If I recall correctly, the RPN box loss as well as other losses can become nan or 0.000 for several reasons, so pinpointing which one might take some debugging.

@luyaozhi
fpn.pytorch project is made in pytorch 0.4.0.
So you may be modify fpn code in your faster rcnn-pytorch-1.0.
Am I right?
If you apply "anchor_target_layer_fpn.py", you should modify some code.
Find the code below.
positive_weights = 1.0 / num_examples
 negative_weights = 1.0 / num_examples
Modify the code as
positive_weights = 1.0 / num_examples.item()
 negative_weights = 1.0 / num_examples.item()
If you use pytorch version 1.0 or higher, you should add ".item()" to use tensor variable.


Reply(String text) doesn't work

Hi,
Without this line I can't get a reply sms:
sim800.println("AT+CNMI=1,2,0,0,0"); // AT Command to receive a live SMS

Thanks for mentioning. Can you please mention the version of your sim module and the AT firmware it is running?

hI,
Revision:1418B04SIM800L24


Add GSR detailed analytics and fitness analytics

Prep for Wrapped. Added:

Analytics for GSRs (instead of only one key, there's now a key that contains the location, room, and starttime + duration)
Analytics for Fitness (added to the fetch data function. Eventually will be used to calculate "Total number of basketball hours this year" or other stats like that which seem interesting, I guess.)

Written schema for these new analytics keys will be developed once more are thought up.

Thanks for the PR! Always happy to have people working across codebases haha
I think what Justin had put up initially was just the initial sketch of what it analytics might look like and still needs a bit of work to be mature, and we had talked about a couple ideas before he left.
I think a solution like this where we are just adding code to places we need it will lead to unnecessary bloat, and less readability in general / harder to maintain, but the larger issue is other products will have to duplicate this code.
Probably we should make a more generalizable API that is shared across all product (with support for single data/multi-data transactions + key/value pairs) through Django-Labs-Accounts and then probably make it easy to use through the decorators is my current thoughts.
Let's discuss more on Friday

Thanks for the PR! Always happy to have people working across codebases haha
I think what Justin had put up initially was just the initial sketch of what it analytics might look like and still needs a bit of work to be mature, and we had talked about a couple ideas before he left.
I think a solution like this where we are just adding code to places we need it will lead to unnecessary bloat, and less readability in general / harder to maintain, but the larger issue is other products will have to duplicate this code.
Probably we should make a more generalizable API that is shared across all product (with support for single data/multi-data transactions + key/value pairs) through Django-Labs-Accounts and then probably make it easy to use through the decorators is my current thoughts.
Let's discuss more on Friday

I agree. Jon and I were just thinking we should probably hack together something asap to get data into the DB so that we can push out wrapped end of this semester. Over the semester, there's a lot of optimizations we should do to the engine. I've been working on a couple on the lab-analytics repo and also DLA. Lets discuss Friday.


Does  secure handlerbars support handlebar 4.X versions?

Hi Team
I like to understand if handlebar 4.0.X versions are supported. Right now all my projects are using handlebarsjs 4.0.X versions. I see in packages.json the secure-handlebar uses 3.X version of handlebar.
Can i leverage secure-handlebars  replacing handlebar 4.0.X Can you please advise on this?
Thank you

I am aware of that not all the partial syntax are supported in the current implementation. if u r using basic partial, it should work fine.
http://handlebarsjs.com/partials.html

if u want to use particular partial feature, please let me know and we can evaluate it.


Lift the 2 characters restriction

Hi,
I took over this PR: https://github.com/entwicklerstube/babel-plugin-root-import/pull/116 because we need it, I hope you don't mind.

Thanks for the PR.
Couldn't we just use .indexOf(rootPathPrefix) === 0 instead of the dependency and going through RegExp?

Wow, you are absolutely right!

There, should be better

Thanks!

Appreciate you doing this. Published as 6.2.0


Implement width and heigh switch button

Pull request to implement the feature request from issue #210

glancing at the PR'd code, that looks like just a giant button shoved into the params?

The interface I imagine for the feature here would be something like

(shitty gimp art, obviously real version would be cleaner)

Sure, I wll try to do it that way

The interface I imagine for the feature here would be something like [image] (shitty gimp art, obviously real version would be cleaner)

Why not like this?

that would work too. less fun tho

CSS is not my forte but I like challenges. If I'm not able to do it the fun way I'll go with Ashtaka's design

I agree with Ashtaka's design haha

Didn't manage to do it the fun way :(


similar name throws error

when creating  new user if the nick name are similar then its throwing error, i think names can be similar because two person can have same nick name

issue #3 resolved


Failed to compile on macOS High Sierra (10.13)

For some reason, g++ (clang) failed to find libraries just built:
/bin/bash ./libtool --mode=link g++ -g -O2 -Wold-style-cast -Wall libtests/build/dct_compress.o -o libtests/build/dct_compress -ljpeg -lz  -lqpdf -L/opt/local/lib -Llibqpdf/build
libtool: link: g++ -g -O2 -Wold-style-cast -Wall libtests/build/dct_compress.o -o libtests/build/dct_compress -Wl,-bind_at_load  -ljpeg -lz -lqpdf -L/opt/local/lib -Llibqpdf/build
Undefined symbols for architecture x86_64:
  "QUtil::string_to_int(char const*)", referenced from:
      _main in dct_compress.o
  "Pl_DCT::write(unsigned char*, unsigned long)", referenced from:
      _main in dct_compress.o
  "Pl_DCT::finish()", referenced from:
      _main in dct_compress.o
  "Pl_DCT::Pl_DCT(char const*, Pipeline*, unsigned int, unsigned int, int, J_COLOR_SPACE, Pl_DCT::CompressConfig*)", referenced from:
      _main in dct_compress.o
  "Pl_DCT::~Pl_DCT()", referenced from:
      _main in dct_compress.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libtests/build/dct_compress] Error 1

As I do not understand your configure/macros, I can not send a patch; All I can do now is just let you know I have to change your build.mk files (at examples/libtests/qpdf) like this:
-      $(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS) $(LDFLAGS_libqpdf),$(LIBS_libqpdf) $(LIBS))))
+      $(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS) $(LDFLAGS_libqpdf),libqpdf/build/libqpdf.la)))

Best Wishes,

Looks to me like you're just not linking with the jpeg library. Make sure you have the jpeg library installed in a place where your build can find it.

No jpeg library is /opt/local/lib, installed from MacPort. Missing function in linking is QUtil::string_to_int(char const*).

Got it, thanks. I don't know why this should be necessary, but other people have made similar reports. Maybe I'm constructing my compile statements wrong or something. I'll see if I can figure it out when I get a chance. Thanks for taking the trouble to report and clarify.

Now I understand what is happening.  I installed qpdf-6.0.0 via MacPort at /opt/local/lib.
So ld program find that libqpdf.dylib first.  Unfortunately, libjpeg is also there, and I cannot remove '-L/opt/local/lib' from option list.  I don't know why ld looks /opt/local/lib first and find no way to change that order...  Anyway, uninstalling qpdf-6.0.0 from MacPort and then compile qpdf 7.0.0, all goes well.

Looking the output
/bin/bash ./libtool --mode=link g++ -g -O2 -Wold-style-cast -Wall libtests/build/dct_compress.o -o libtests/build/dct_compress -ljpeg -lz  -lqpdf -L/opt/local/lib -Llibqpdf/build
It's simply because -L/opt/local/lib is before -Llibqpdf/build. So I change the order as follows:
diff --git a/examples/build.mk b/examples/build.mk
index bd2119a..518f4d5 100644
--- a/examples/build.mk
+++ b/examples/build.mk
@@ -39,4 +39,4 @@ $(foreach B,$(CBINS_examples),$(eval \

 $(foreach B,$(BINS_examples) $(CBINS_examples),$(eval \
   examples/$(OUTPUT_DIR)/$(call binname,$(B)): $(OBJS_$(B)) ; \
-	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS) $(LDFLAGS_libqpdf),$(LIBS_libqpdf) $(LIBS))))
+	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS_libqpdf) $(LDFLAGS),$(LIBS_libqpdf) $(LIBS))))
diff --git a/libtests/build.mk b/libtests/build.mk
index baa3412..99942c1 100644
--- a/libtests/build.mk
+++ b/libtests/build.mk
@@ -43,4 +43,4 @@ $(foreach B,$(BINS_libtests),$(eval \

 $(foreach B,$(BINS_libtests),$(eval \
   libtests/$(OUTPUT_DIR)/$(call binname,$(B)): $(OBJS_$(B)) ; \
-	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS) $(LDFLAGS_libqpdf),$(LIBS) $(LIBS_libqpdf))))
+	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS_libqpdf) $(LDFLAGS),$(LIBS) $(LIBS_libqpdf))))
diff --git a/qpdf/build.mk b/qpdf/build.mk
index e3d5097..893bbbd 100644
--- a/qpdf/build.mk
+++ b/qpdf/build.mk
@@ -30,4 +30,4 @@ $(foreach B,$(CBINS_qpdf),$(eval \

 $(foreach B,$(BINS_qpdf) $(CBINS_qpdf),$(eval \
   qpdf/$(OUTPUT_DIR)/$(call binname,$(B)): $(OBJS_$(B)) ; \
-	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS) $(LDFLAGS_libqpdf),$(LIBS_libqpdf) $(LIBS))))
+	$(call makebin,$(OBJS_$(B)),$$@,$(LDFLAGS_libqpdf) $(LDFLAGS),$(LIBS_libqpdf) $(LIBS))))

I think this would be no harm for other situations.

Yes, I think you are correct. I'll test and likely accept your proposed change as is. They way it's in there now looks wrong. I must have been having a bad brain day when I wrote that. Thanks!


Point.InPolygon is not correct

As description below, I created sample 3 point and one point to check, but value expect is not equal 1
  var testPolygon2 = new GShark.Geometry.Polygon(new Point3[] {
                new Point3(10.00,0,0.00),
                new Point3(-5.00,8.660,0.00),
                new Point3(-5.00,-8.660,0.00),

            });
            var p3 = new Point3(5, 0, 0);
var pointIsInside2 = p3.InPolygon(testPolygon2);
 pointIsInside2.Should().Be(1);

https://github.com/GSharker/G-Shark/blob/e1d76b64dc2102beb194adb5ce237a951a36fa8e/src/GShark/Geometry/Point3.cs#L647

Thanks @chuongmep I will have a look at this.


Integrate with nixGl

First, thanks for this great program.
When running a program using openGl (e.g. blender) you get an error:
$ nix run github:thiagokokada/nix-alien -- blender
/tmp/blender-3.2.2-linux-x64/blender: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

As far as I see the best solution is to use nixGl:
$ nix run --impure github:guibou/nixGL --override-input nixpkgs nixpkgs/nixos-21.11 -- nix run github:thiagokokada/nix-alien -- blender

This does work but it is definitely not super easy to run... It would be great if nix-alien could directly handle openGl correctly.

We probably can integrate it in the generated flake.nix file, adding nixGL as the input.
However I have zero experience with nixGL, and I also don't run non-NixOS Linux systems with Nix, so I would be open for a PR here.

nixGL is essentially just a wrapper script that sets a few system-specific environment variables ( e.g. LIBGL_DRIVERS_PATH) before calling a GUI program. One option would be to change the last line of the templates to something like ${__wrapper__} ${__program__} "$@" and then add an optional argument to nix-alien (e.g. nix-alien --wrapper nixGL blender), or we could add an optional argument that allows you to specify the exec command independently (e.g. nix-alien --exec "nixGL blender" blender).

nixGL is essentially just a wrapper script that sets a few system-specific environment variables ( e.g. LIBGL_DRIVERS_PATH) before calling a GUI program. One option would be to change the last line of the templates to something like ${__wrapper__} ${__program__} "$@" and then add an optional argument to nix-alien (e.g. nix-alien --wrapper nixGL blender), or we could add an optional argument that allows you to specify the exec command independently (e.g. nix-alien --exec "nixGL blender" blender).

This looks easy to add, but it would assume that the user installed nixGL in a user accessible PATH and that this nixGL matches the current nixpkgs version of the one used by nix-alien right? From what I understood reading the README, this can cause GLIBC errors.
Ideally the integration with nixGL runs deeper. A --nixgl flag could add nixgl to the flake.nix inputs and also properly override it. Not sure what to do with the shell.nix version though, I can either not add this to the non-flake version or just add it and hope for the best.

@soleera @tobiasBora Can either of you provide a binary that works with nix-alien+nixGL but doesn't work without it? Like the blender example from OP? The link for download is fine.


Load 3d models at runtime

Seems like the example of the loading 3d models at runtime is not working.
example
Can provide a working sample for it ? Thank you.

Even I cannot seem to get it working. (v1.7.0)
Here is the stack trace:
2019-02-15 11:33:16.566 14456-14533/com.google.ar.sceneform.samples.hellosceneform E/ModelRenderable: Unable to load Renderable registryId='https://github.com/KhronosGroup/glTF-Sample-Models/raw/master/2.0/Duck/glTF/Duck.gltf'     java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/common/io/Files;         at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:276)         at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:282)         at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1627)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)         at java.lang.Thread.run(Thread.java:764)      Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/common/io/Files;         at com.google.ar.sceneform.assets.RenderableSource.call(SourceFile:15)         at com.google.ar.sceneform.assets.RenderableSource.call(SourceFile:73)         at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.inputStreamToByteBuffer(LoadRenderableFromSfbTask.java:178)         at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.lambda$downloadAndProcessRenderable$0(LoadRenderableFromSfbTask.java:113)         at com.google.ar.sceneform.rendering.-$$Lambda$LoadRenderableFromSfbTask$0DkaOpfpmr8DYlbaxWogZtUpKTw.get(Unknown Source:4)         at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1625)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)          at java.lang.Thread.run(Thread.java:764)       Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.common.io.Files" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.google.ar.sceneform.samples.hellosceneform-UXiS6VTurYH-WktM9IePwg==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.ar.sceneform.samples.hellosceneform-UXiS6VTurYH-WktM9IePwg==/lib/arm64, /data/app/com.google.ar.sceneform.samples.hellosceneform-UXiS6VTurYH-WktM9IePwg==/base.apk!/lib/arm64-v8a, /system/lib64]]         at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)         at java.lang.ClassLoader.loadClass(ClassLoader.java:379)         at java.lang.ClassLoader.loadClass(ClassLoader.java:312)         at com.google.ar.sceneform.assets.RenderableSource.call(SourceFile:15)          at com.google.ar.sceneform.assets.RenderableSource.call(SourceFile:73)          at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.inputStreamToByteBuffer(LoadRenderableFromSfbTask.java:178)          at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.lambda$downloadAndProcessRenderable$0(LoadRenderableFromSfbTask.java:113)          at com.google.ar.sceneform.rendering.-$$Lambda$LoadRenderableFromSfbTask$0DkaOpfpmr8DYlbaxWogZtUpKTw.get(Unknown Source:4)          at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1625)          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)          at java.lang.Thread.run(Thread.java:764)

@khonakr Yes exactly. They always say that we refer to the example but it’s not working. Cannot go forward for the issue.

You can still use 'com.google.ar.sceneform:assets:1.6.0' with  'com.google.ar.sceneform:core:1.7.0' unless you specifically need something from 1.7.0 assets.

Thanks for the report.  We will look into this.

Any update on this issue?

I'm facing same issue. Not able to load the 3D model from server. Getting following error
java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed to import '/data/user/0/com.viveksb007.arhr/cache/1557239306422-0/model_source.gltf'         at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.inputStreamToByteBuffer(LoadRenderableFromSfbTask.java:181)         at com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.lambda$downloadAndProcessRenderable$0(LoadRenderableFromSfbTask.java:113)         at com.google.ar.sceneform.rendering.-$$Lambda$LoadRenderableFromSfbTask$0DkaOpfpmr8DYlbaxWogZtUpKTw.get(Unknown Source:4)         at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1625)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)         at java.lang.Thread.run(Thread.java:764)

Poly Runtime Api only works with "GLTF" format. Anyother format will return error
 Unable to load Renderable registryId

I was using GLTF back then, seems this was resolved with the sceneform update that happened after my post

I was using GLTF back then, seems this was resolved with the sceneform update that happened after my post

Nope , For me , If i use formattype of GLTF2 , runtime api works fine. Any other format throws error.

**i'm not able to load my 3D model runtime, my model is GLTF type model. kindly help me ASAP it's not crashing my app but still not able to load the 3D model **
some of the errors are:
Caused by: java.io.FileNotFoundException: http://abc.example.pk/CONTENT/PRODUCT/MODELS/model23329.gltf
E/ModelRenderable: Unable to load Renderable registryId='/CONTENT/PRODUCT/MODELS/model23329.gltf'
java.util.concurrent.CompletionException: java.util.concurrent.CompletionException: java.io.FileNotFoundException: http://abc.example.pk/CONTENT/PRODUCT/MODELS/model23329.gltf

The error indicates that your url isn't accessible.  Have you double-checked that you can access that link from inside your app?  When I click it it fails dns lookup.

i posted my problem on stackoverflow if your can solved my problem so here it is :
https://stackoverflow.com/questions/60901493/not-able-to-load-my-3d-objectgltf-at-run-time


Avoid too wide colums in TreePanel (ExtJS 5)

This avoids 10000px wide colums in the TreePanel when working with ExtJS 5.
This happened because the Ext.isIE6 flag is gone in ExtJS 5, what always activated the IE6 workaround with setting the column width to 10000px. Since we do not support IE 6 I removed the ternary operator by setting the width to 100% which works for ExtJS 4 and 5.

Thanks for this, Chris. Why 100% and not null... or even completely remove the property?

Before setting the property to null I removed it at all, so the code gets cleaner. Can you have another look @marcjansen? Thanks!

:+1: thanks again. Please merge, Chris.


Fix typo in notes

Documentation preview available at: https://linuxcontainers.org/lxd/docs/pr.10170/

jenkins: test this please

jenkins: test this please

Thanks!


Added Navigation Bar

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #311 <your_issue_number>
As earlier the navigation bar is missing in the website, I have added Navigation Bar to the Website.

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

@adarsh-1262 plz resolve the branch conflicts

@adarsh-1262 plz resolve the branch conflicts

Sir could you explain me some more what i have to do.... plz sir?

@adarsh-1262 plz resolve the branch conflicts

done sir...

@adarsh-1262 LGTM

Hey @adarsh-1262  as per now we are not having any changes in website as we don't want changes in UI for now !!

Thank you  @adarsh-1262 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


ci: less invasive surgery in Bazel cache when cleaning .gcno.

Today, we nuke the runfiles directory to cleanup on a previous run's .gcno files, which are unknown
to Bazel but copied there for the gcovr run. This is fine in CI, which always does a clean build,
but for local developer flow, it breaks coverage when we re-run tests a second time, since Bazel
doesn't like you nuking random files in the cache that it owns. This PR limits the removed files to
just .gcno.
Risk level: Low
Testing: Local CI Docker rebuilds.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

@asraa I think this is the fix to the issue we were seeing.

This PR is now ready for review.

@lizan @mattklein123 can I get a review on this one?


Crash in TF import test suite TFGraphTestAllLibnd4j

TF graph emptyArrayTests/realdiv/empty2_rank2 from test resources is crashing:
o.n.i.T.TFGraphTestAllLibnd4j - Starting test: emptyArrayTests/realdiv/empty2_rank2
o.n.i.T.TFGraphTestAllHelper -
	RUNNING TEST emptyArrayTests/realdiv/empty2_rank2...
o.n.a.e.NativeGraphExecutioner - Buffer length: 2048
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000263d0b7, pid=35464, tid=11744
#
# JRE version: Java(TM) SE Runtime Environment (12.0.2+10) (build 12.0.2+10)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (12.0.2+10, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [libnd4jcpu.dll+0x21d0b7]

Probably deserialization issue somewhere...


Make multilingual tests easier to set up with less duplication

Right now, setting up multilingual tests would be a real pain. You'd have to repeat each test for each different language, even if you were using variable names to test - all the steps would be the same except the first step where you'd specify a language. That's a lot of tests and a lot to maintain.
What are ideas for how to make it easier? We've come up with the one that we currently think will be easiest for developers using this stuff, but are open to other thoughts. This package here would implement this functionality in the dependent repo.
Prep

Allow the developer to specify their desired languages (probably as an optional environment variable)
.gitignore a specific folder in the features folder.

Additional npm script
First, make the ignored folder in the features folder. Then, for each language listed, do this:

In the ignored folder, add a folder with the code of the language.
Duplicate all testing files that are not in the ignored folder.
Copy them into this language folder.
Add a step to each scenario that would tap the button of the correct language on the intro page.

Add this npm script to the testing action just before running the tests. Maybe add another script to the package.json that would include the build step when it runs the tests.
Stretch goals

Allow the developer to specify a language or list of languages when manually running the tests (once manual test running is available).

Questions

If the default language isn't specified on the list, should we find a way to only run the specified languages?
There was something else that seemed significant, but I don't remember what it is.

Question discussion:

At the moment there's no way to know which language is the default language. Adding another secret for it doesn't seem appropriate.

The actual issue was resolved with language agnostic and variable table commits. The pros and cons of specifying the default language can be discussed as they come up.


remove nested irq_save/restore code

Hi ,
Fix nested irq save/restore operation in sam_eefc.c.
BR
Kevin Liu

This is a problem with this PR.  In includes the same commit as PR328 related EEFC and UUID.  I will merge to a branch and pick out the single commit that you intended.

No, it won't let me do that.  You will have to fix the PR.  I see conflict:
Conflicting files
arch/arm/src/samv7/sam_eefc.c
arch/arm/src/samv7/sam_eefc.h
arch/arm/src/samv7/sam_uid.c

Ooops hit the wrong button again.  I did not mean to close this.  Bad habit.
Hmm.. now it won't let me re-open it???

I would let me re-open it because I removed branch pr336

Thanks to Greg's work, modification merged to master.


More data from allrecipes.com

Hey Jaan,
I'm mostly just creating this PR for visibility for now.  I still have work to do, but I wanted to let you know what I'm planning.
I came across your article about food2vec via Data Elixir.  Great stuff!  This is a really cool idea for using embeddings.  I'm always interested to see how the word2vec-like embeddings can be used.  I saw your note about getting more data via scraping:

Scaling up the data: Do you have a larger dataset of recipes, or do you know how to scrape one? I’d love to check it out. This would also fix bias in the data as the majority of the recipes are currently North American.

I have a bit of experience with basic scraping via requests and beautiful soup, but I've been looking for a reason to learn scrapy.  This seemed like the perfect opportunity.  I've built the scrapers to pull all of the recipes from allrecipes.com.  It pulls the recipe name, the "tags" associated with a recipe, and the ingredients.  Here's an idea of what I'm getting back:
{
    "ingredients":[
        "1 carrot, sliced",
        "1 (15 ounce) can kidney beans",
        "1/2 cup chopped green bell pepper",
        "1/2 cup chopped onion",
        "2 cups salsa",
        "1 cup dried bread crumbs",
        "1/2 cup whole wheat flour",
        "1/2 teaspoon ground black pepper",
        "salt to taste",
        "1 pinch chili powder",
        "Add all ingredients to list",
        "Add all ingredients to list"
    ],
    "recipe":"Mexican Bean Burgers",
    "tags":[
        "Home",
        "Recipes",
        "Healthy Recipes",
        "Diabetic",
        "Main Dishes"
    ]
},
{
    "ingredients":[
        "1 onion, chopped",
        "2 stalks celery, sliced",
        "2 potatoes, diced",
        "3/4 cup dried split peas",
        "2 bay leaves",
        "6 cups vegetable broth",
        "2 zucchini, diced",
        "1 head broccoli, chopped",
        "1/2 teaspoon dried basil",
        "1/4 teaspoon ground black pepper",
        "4 cups chopped fresh spinach",
        "salt to taste",
        "Add all ingredients to list",
        "Add all ingredients to list"
    ],
    "recipe":"Green Velvet Soup",
    "tags":[
        "Home",
        "Recipes",
        "Healthy Recipes",
        "Diabetic",
        "Soups and Stews"
    ]
}

As you can see, there are multiple tags for each recipe.  It would be interesting to look at more tsne plots using various tags based on things other than region.
This README talks about how to use the scraper.  I'm still working on post processing of the ingredients list to simplify the names of the ingredients.  I should have that ready in a day or two.  I'll push some more commits tomorrow!

Certainly, I'm glad to help!  I'm also building scrapers for a few other sites.  I've added a scraper for jamieoliver.com because it was easy.  I'm looking at doing epicurious next as they claim to have 330k+ recipes!  That would really expand the dataset.
I ran the data pull for allrecipes.com and the output was surprisingly only ~33k recipes.  I looked into it some more and it looks like there ~10k more requests that were made that received 429 errors, but that's still not as much as I thought.  I'm going to try to throttle the request frequency a bit and see if that helps.  I've included the most recent output of the allrecipes pull in the output folder if you'd like to take a look.
That's a good idea about seeing how the ingredients are used for different recipes.  I imagine there are some interesting patterns in how much specific ingredients are used across different types/categories of foods.

This is amazing! I think this will ultimately lead to much better results and improve the model :)
Some notes:

The json can't be loaded with python's json module. It needs to have opening and closing brackets, and be comma-separated. Here's what I had to do to load it:

with open('./RecipesScraper/output/allrecipes_recipes.json', 'r') as f:
    raw = f.readlines()
    string = "[" + ",".join(raw) + "]"
    recipe_list = json.loads(string)
    ingredients_lists = [recipe['ingredients'] for recipe in recipe_list]

"Add all ingredients to list" appears in many of the ingredient lists in RecipesScraper/output/allrecipes_recipes.json.

Otherwise, happy to merge. What's the best way to do this? I added some commits on this branch to test loading the data: https://github.com/altosaar/food2vec/tree/brandonmburroughs-master
I'm not sure how to deal with the extra vocabulary words; I started a blacklist in the above branch.

I fixed the json so it's actual JSON now.  The top level keys are date_scraped and recipes.  recipes is the list of JSON objects.

I noticed the "Add all ingredients to list thing and kicked that out".

There are ~39k recipes from AllRecipes.  I'm scraping Epicurious now.  So far we're at ~136k more recipes!  That file is going to be over the 100mb limit for files on GitHub.  I can break it into several files once it's finished.

I had started a blacklist for allrecipes originally.  I'll combine it with your existing list.

Unfortunately, my computer lost power during my scrape of Epicurious.  It died at ~142k recipes.  This is still a lot, but I'll restart it to get the full set!
In the mean time, I've added the ~142k recipes as three separate files.  They should all be valid JSON that you can easily load.

Awesome. Let's get this merged before the additional data!
Can you run pylint on it?
I just added a pylintrc for the project and made sure the other python files in the ./dat directory pass.
(I think the only changes are length max length 80 lines and tab size of 2)

Okay cool.  I fixed all the pylint errors.  I normally use tab size of 4, so there were many errors.  Those were easy to fix at least.  Let me know if you'd prefer me to move this PR to merge into brandonmburroughs-master (or some other branch) for now.  If so, I can close this and move it elsewhere.
I'll also look into Git LFS for storing these large files.


Deprecate window.wagtailConfig.BULK_ACTION_ITEM_TYPE usage in JS

Overview
This removes a wide range of inline scripts usage where we declare a global to inform the bulk actions script what item type is in use on the page. The current approach blocks us from supporting multiple bulk actions in one view but also blocks us from being CSP compliant.
This PR gets us a step closer on the CSP compliance side by removing the need for the global variable and adds a documented deprecation path for any undocumented usage within custom bulk actions.
This makes minimal changes to the bulk actions code, we will likely migrate this to Stimulus in the future (building on the existing BulkController). For now this is the smallest possible change to support eventual CSP compliance.
Details

Avoid using a window global and inline scripts to declare the current bulk action's item time
Deprecate the usage of window.wagtailConfig.BULK_ACTION_ITEM_TYPE with a release note and code comment so that it can be removed in a future release
Update bulk actions footer template to accept a item_type arg, adding this to the DOM element for access within the JavaScript
Allow a fallback on the model name for core models (e.g. page)
Also ensure that {{ block.super }} is consistently added at the top of the {% block extra_js %} (as it is with most usage)
Allow the window global to take precedence until it's deprecated
Update unit tests to reflect this new DOM usage and the convention of upper case item types
Relates to #9771 and supports a future migration for bulk actions towards Stimulus
Relates to ongoing work for CSP compliance #1288 & #7053

Testing
Test all usage of bulk actions; pages, documents, images, users.
Screenshots

CI failures are unrelated to this change.

Thank you @laymonage


Migrating from 0.9.3 to 0.10.1 config issue

Hi my current configuration looks like this
"vite": "3.1.6",
"vite-plugin-electron": "0.9.3",

electron({
    main: {
        entry: "electron/main.ts",
        vite: {
            build: {
                // For Debug
                sourcemap: true,
                outDir: "dist/electron",
            },
            // Will start Electron via VSCode Debug
            plugins: [process.env.VSCODE_DEBUG ? onstart() : null],
        },
    },
    preload: {
        input: "electron/preload.ts",
        vite: {
            build: {
                // For Debug
                sourcemap: "inline",
                outDir: "dist/electron",
            },
        },
    },
}),

I have been trying to migrate to 0.10.1 and I cant seem to find where the preload config goes now or how the onstart() function fits in, or if thats even the recommended way now.
Thanks

I dug a bit further and found the solution
electron([
    {
        entry: "electron/main.ts",
        vite: {
            build: {
                // For Debug
                sourcemap: true,
                outDir: "dist/electron",
            },
            // Will start Electron via VSCode Debug
            plugins: [process.env.VSCODE_DEBUG ? onstart() : null],
        },
    },
    {
        entry: "electron/preload.ts",
        vite: {
            build: {
                // For Debug
                sourcemap: "inline",
                outDir: "dist/electron",
            },
        },
    },
]),

https://github.com/electron-vite/vite-plugin-electron/blob/4e730a72b62b8c3c13f77d129602791323217a8f/examples/custom-start-electron-app/vite.config.ts#L9-L19


⚠ Cioos Pacific CKAN has degraded performance

In b98507b, Cioos Pacific CKAN (https://catalogue.cioospacific.ca) experienced degraded performance:

HTTP code: 200
Response time: 6250 ms

Resolved: Cioos Pacific CKAN performance has improved in 9abeb0a after 18 minutes.


[BUG] BlobBatchClient.DeleteBlobs fails with 404 when a blob versionid is provided

Library name and version
Azure.Storage.Blobs.Batch 12.9.0, Azure.Storage.Blobs 12.12.0
Describe the bug
My ultimate goal is to code a loop that will delete the previous versions of about one million deleted blobs (we have versioning and soft-delete enabled). I'm hoping this will improve the directory browsing experience in AZ Storage Explorer.
First, I feel I shouldn't have to do this. Why is AZ SE slow to list just the non-deleted blobs, even when it defaults to "Active blobs"? Anyway, this is probably the wrong place for that.
Deleting the blobs' versions one by by one (via blobContainerClient.GetBlobClient(blob.Name).WithVersion(blob.VersionId).DeleteAsync) is very slow, so I tried the batching API. This is how I'm doing it:
BlobServiceClient blobServiceClient = new(
        new Uri("https://XXXXXXXXX.blob.core.windows.net"),
        new BearerTokenCredential(authenticationResult));

BlobContainerClient blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);

var blobs = blobContainerClient.GetBlobsAsync(BlobTraits.None, BlobStates.Version, prefixOfBlobsToBeDeleted);

List<BlobItem> blobsToBeDeleted = new();

await foreach (BlobItem blob in blobs)
{
	blobsToBeDeleted.Add(blob);
}

BlobBatchClient blobBatchClient = blobServiceClient.GetBlobBatchClient();

foreach (BlobItem[] chunkOfBlobsToDelete in blobsToBeDeleted.Chunk(256))
{
	Response[] responses = await blobBatchClient.DeleteBlobsAsync(chunkOfBlobsToDelete.Select(
		blob => blobContainerClient.GetBlobClient(blob.Name).WithVersion(blob.VersionId).Uri));
}

This returns an aggregate exception, containing 256 404s:
The specified blob does not exist.
RequestId:...
Time:...
Status: 404 (The specified blob does not exist.)
ErrorCode: BlobNotFound
It obviously works when I try the above with base (aka root, aka non-deleted) blobs (ie without calling WithVersion).
Expected behavior
It should delete the specific blob versions I'm asking it to.
Actual behavior
404 (The specified blob does not exist.)
Reproduction Steps
See above code example. It should mostly compile.
Environment
TargetFramework: net6.0-windows10.0.17763.0
Visual Studio 2022

@kostasvl We are looking into it and get back to you for any additional information.

Related - https://github.com/Azure/azure-sdk-for-net/issues/40849
Resolved by https://github.com/Azure/azure-sdk-for-net/pull/41084, this feature will ship with our next release in early March.