Style guide updates

Please comment on this issue if you have suggestions for the Optech style guide. I'll update a list in this issue description as we go and then merge all agreed changes in one PR/commit.

[ ] multiparty not multi-party (I've been a bit inconsistent about this, but git grep says we currently have 17 multiparty versus 3 multi-party)

Do we need to say anything in the guide about sighashes?  IMO, I don't think that should be a unintroduced abbreviation (we've always introduced "signature hash" -> "sighash" in the past, I think) and I don't think we need to put anything in the guide about, e.g., SIGHASH_ALL since that's the actual technical term and not an abbreviation.  However, I don't know how y'all feel about it.

I agree that sighash should be introduced, and that we don't need to say anything about technical terms like SIGHASH_ALL

[ ] coinjoin as a common noun (not Coinjoin) and with no intra-word capitals (coinJoin) or hyphen (coin-join)

[x] sybil attack (common noun), not Sybil attack (proper noun)

[ ] BIPXXX referencing a specific BIP number (no zero padding)

Just adding the parenthetical text above to the existing text in the document.

[ ] preimage (not ~pre-image~).  I've been inconsistent on this in the Optech repository but preimage is the current majority according to a quick git grep.

[ ] softfork not soft fork
[ ] hardfork not hard fork

@bitschmidty that's a good one for the style guide, but I'd prefer the spaced versions (which are also currently overwhelmingly used in the repo at present per git grep).

I happened to see the softfork title in Steves presentation and also in the bitcoin wiki. I dont have a preference either way. Ill see if others opine.

No strong preference either way between 'softfork'/'hardfork' and 'soft fork'/'hard fork', so I suggest we go with spaced versions, since that's what's been used in newsletters so far.

[ ] MuSig not musig, Musig, or muSig

[ ] single-sig not ~singlesig~ (this seems inconsistent with multisig, but I think it's ok.  Multisig is a common term in Bitcoin, whereas single-sig is something less often said.

@jonatack noted elsewhere that "MuSig" looks odd in a list of other technologies we've lowercased, e.g. "schnorr, taproot, MuSig, bloom filters, merkle trees"

[ ] True and False capitalized when referring to bool arguments in plain text, e.g. "set foo to True".  When used in code, use whatever capitalization is technically appropriate, e.g. "set foo=true"

"MuSig" looks odd in a list of other technologies we've lowercased, e.g. "schnorr, taproot, MuSig, bloom filters, merkle trees"

I think this is fine, since MuSig is not widely known or implemented. I imagine if it becomes popular it'll evolve to musig over time.

True and False capitalized when referring to bool arguments in plain text...

Different languages have different conventions. C/C++ doesn't capitalize boolean literals, and Python does. I don't have a strong preference either way. I'm curious why you prefer capitalized?
I plan to open a PR to merge all of the updates into our style guide this week.

@jnewbery

I'm curious why you prefer capitalized [boolean literals in regular text]?

To distinguish them from the words "true" or "false" without having to use italics or something else.  If you're not a fan, I'm happy to drop that suggestion.

[ ] Script for Bitcoin Script is capitalized when referring to the language, but lowercase when referring to an individual script.

Partially Signed Bitcoin Transaction not Partially-Signed Bitcoin Transaction.  We may not need to put this in the guide as (1) grammar rules say not to hyphenate and (2) a quick web search for "Partially-Signed Bitcoin Transactions" seems to show I'm the only one getting it wrong.
h/t @jonatack

Partially Signed Bitcoin Transaction not ~Partially-Signed Bitcoin Transaction~. We may not need to put this in the guide

Thanks for noting this here. I agree that we don't need to include this in the style guide.

Should Eltoo be uppercase (like MuSig) or lowercase (like taproot)?  I've no preference, but it's a topic for this upcoming week's newsletter, so let me know what y'all prefer!

I have no preference between Eltoo and eltoo.

Preferred terms:

Use
Don't use
Notes

Merklized Alternative Script Trees (MAST)
Merklized Abstract Syntax Trees (MAST)
May want to link to: https://bitcoinops.org/en/newsletters/2018/12/28/#fn:fn-mast

Note, I've also added a note to the MAST topic for the upcoming topic index which I think will be the better link if it gets merged.

AFAIK the authors of eltoo originally wrote it lowercase and it seems good that way.
Between "merklized", "merkleized", and "merkelized" I thought the latter spelling was correct. Convert the word to an "ation" sort of noun: "merkelization" is arguably the one that can. Googling them gave me roughly three times more results for "merkelized" as well -- granted, that doesn't mean it's correct. I like "merkelisation" too :smile_cat:

Oh, just saw your link to AJ in the mailing list:
[0] (I think I'm going to claim "MAST" stands for "merkelized alternative
     script tree" these days, since they're not "abstract syntax trees")

@jonatack I get a 3:4 ratio when I search Google (did you remember to use quotes?):
https://www.google.com/search?q="merklized"
https://www.google.com/search?q="merkelized"
In any case, I just emailed Ralph Merkle to ask if he has a preference.  If he does and it's sensible, I propose we use that.

My name is Merkle, not Merkel, so my preference is "merklized".

Please feel free to share.

Ralph C. Merkle

@harding :+1: I omitted the quotes, and above all, omitted remembering the name Merkle!
"Merkle-ized" seems most respectful of the name, but who's to quibble with Ralph Merkle himself :shipit:

[ ] Spelling: "adaptor signatures" rather than "adapter signatures".  Rationale: that's how Andrew Poelstra spells it:

[ ] Spelling: feerate (one word) not fee rate (two words)

[ ] secp256k1 not Secp256k1 or SECP256k1 or SECP256K1

I see we use both proof of work vs proof-of-work. Context dependent?

My name is Merkle, not Merkel, so my preference is "merklized".

Please feel free to share.

Ralph C. Merkle

Should "Merkle" be used rather than "merkle" for the noun?

@bitschmidty git grep proof-of-works says we've been pretty good about only use "proof-of-work" as an adjective phrase (with one exception).
@jonatack I try to avoid lots of special case rules, so I think we should generally try to treat eponyms as common nouns, e.g. "merkle root" or "schnorr signature".

git grep proof-of-works says we've been pretty good about only use "proof-of-work" as an adjective phrase (with one exception).

is there value in codifying this usage in the guide?

@bitschmidty sure!

[ ] Do not hyphenate "proof of work" when used as a noun (e.g. "Bitcoin uses proof of work") but do hyphenate when used as an adjective phrase (e.g. "Bitcoin's proof-of-work security is economic in nature").

[ ] Generation transaction not coinbase transaction

This is my personal preference since the company Coinbase made the term "coinbase transaction" confusing.  Although it's a bit hard to tell because of conflation, I appear to be on the less popular side of this divide, per the StackExchange:

929 results for coinbase transaction: https://bitcoin.stackexchange.com/search?q=coinbase+transaction
226 for generation transaction: https://bitcoin.stackexchange.com/search?q=generation+transaction

So I'm willing to go with "coinbase transaction" in the style guide if any of you would prefer that.

I prefer coinbase transaction over generation transaction.

I prefer coinbase transaction over generation transaction.

You're wrong and a terrible human being for preferring that, but I updated my suggestion accordingly.

OP_RETURN vs op_return op return. More generally always capitalize opcode words.

I prefer coinbase transaction as well, but it's unfortunate that many people may initially be confused as to whether it refers to the exchange that named itself the same.

[ ] sigop not SigOp  This is an abbreviation that we should introduce, but I don't think it's necessary to upper camel case it.  See @jonatack comment here: https://github.com/bitcoinops/bitcoinops.github.io/pull/227#discussion_r327489006

We specify k-of-n in the style guide already. But what about n-of-n? Is there even an alternative that people use for n-of-n?

Is there even an alternative that people use for n-of-n?

I don't think I've ever come across an alternative to n-of-n, but we can include it in the style guide for completeness.

OP_RETURN vs op_return op return. More generally always capitalize opcode words.

[x] Added. I've also added that we should refer to opcodes as opcodes (not Opcodes or OpCodes or OPCODES)

Latest changes merged in https://github.com/bitcoinops/bitcoinops.github.io/pull/252

[ ] Bitcoin invoice address or invoice instead of Bitcoin address or address, as per the recently-added BIP179

Let's track whether we want to adopt bitcoin invoice address in a separate issue: #265 .

What's the recommended way to refer to the two different byte orders used in Bitcoin?
For example, when you search for a block you use:
000000000002d01c1fccc21636b607dfd930d31d01c3a62104612a1719011250

But when you refer to this block hash when constructing a raw block header you put it in this byte order:
50120119172a610421a6c3011dd330d9df07b63616c2cc1f1cd0020000000000

There seem to be a few different terms to describe these byte orders:

Big Endian / Reverse Byte Order / Network Byte Order
Little Endian / Internal Byte Order

Which terms are best to use?

What's the recommended way to refer to the two different byte orders used in Bitcoin?

So far I've mostly seen big-endian and little-endian.

@in3rsha ooh, that's a good one!  I prefer internal byte order and RPC byte order per this documentation written as a result of this discussion.  I particular, I think Sergio Lerner makes a good case here that hashes don't have endianess---they're represented identically on every platform.  (Sure, there's one context where Bitcoin uses a hash as a number, but even though that number can be big endian or little endian, the hash it was derived from was just a byte array.)

@harding Thanks for the helpful reply and links. That answers a lot of questions.

@in3rsha ooh, that's a good one! I prefer internal byte order and RPC byte order per this documentation written as a result of this discussion. I particular, I think Sergio Lerner makes a good case here that hashes don't have endianess---they're represented identically on every platform. (Sure, there's one context where Bitcoin uses a hash as a number, but even though that number can be big endian or little endian, the hash it was derived from was just a byte array.)

Would it be fair to say that when talking about hashes (e.g. transaction hashes and block hashes), it's best to describe them based on being either in internal byte order or RPC byte order.
However, when it comes to other fields inside serialized transaction data, they are in fact in little-endian (e.g. the version in a block header is 01000000, which is 1 in little-endian).
Therefore, little-endian is the typical internal byte order for serialized data, and this same term has been used to describe transaction hashes and block hashes, even though they typically do not have an "endianness"?

@in3rsha sorry, I don't understand your question.

@in3rsha sorry, I don't understand your question.

Would it be correct to describe other field inside serialized data as being in little-endian?
However, it's more accurate to describe hashes inside serialized data as being in "internal byte order", as hashes do not have an endianness?

In the block header, nVersion, nTime, and the mantissa of nBits are little-endian.  PrevBlock, MerkleRoot, and Nonce aren't numbers, so I don't think they have endianess.  I think most other numbers in the protocol are little-endian, with some exceptions like IP addresses (which IIRC are always big endian in Bitcoin's P2P protocol).
I think "internal byte order" is more accurate for hash digests.

[ ] uneconomical output instead of dust, but still use dust limit.  Rationale: people confuse "dust" with the "dust limit".  Dust (uneconomical outputs) are UTXOs that cost more to spend then they add in value to a transaction, so nobody would normally spend them.  The dust limit is the minimum value an output must contain in order for Bitcoin Core to relay a transaction containing that output.  What's economical or not changes as minimum feerates change, but the dust limit doesn't change often.

[ ] Unintroduced abbreviations: LND for Lightning Network Daemon.  (I'd half forgotten this was even an abbreviation!)
[ ] Unintroduced abbreviations: RPC for Remote Procedure Call
[ ] Nitpick: in "don't use" columns, replace multiple "or" statements with commas and a final "or", e.g. OPCODE or OpCode or Opcode or op code → OPCODE, OpCode, Opcode, or op code
[ ] Nitpick: "MuSig" should probably be moved from Compound words to Proper nouns.  "Mu" is a phoneme rather than an English word, so I don't think MuSig is a compound word (even µSig wouldn't be a compound word IMO, though microsig would).  Also, it seems to me that the main reason it's in the list is that we've decided to always capitalize it despite lowercasing most other special terms.

#273 resolves all the points made by @harding here: https://github.com/bitcoinops/bitcoinops.github.io/issues/171#issuecomment-554149009 and here: https://github.com/bitcoinops/bitcoinops.github.io/issues/171#issuecomment-557139252. I haven't added anything about 'internal byte order' since I don't know the exact wording that we'd want to use. @harding - if you think we should have something in the style guide for that, can you add a commit to #273?
Since style guide changes have slowed down, I'm going to close this issue. We can open PRs for any further changes to the style guide.

Just stumbled upon this... I find it very strange to not capitalize "Schnorr", "Merkle", "Sybil" -- they're literally people's names. I understand not doing that for derived terms like "merklized" or "chaumian", but when the name itself is used it just looks weird to me. It seems Wikipedia also capitalizes such uses.

@sipa the problem with the capitalization of eponyms is that it's inconsistent (amusingly so sometimes).  At some point, different for each word and which dictionary you consult, the eponym goes from a capitalized proper noun to a common noun without special capitalization.  Although it's not recommended by any style guide I've read, I gave up on consulting dictionaries and trying to guess current capitialization trends and just decided to treat all eponyms as common nouns, as much as I can get away with it.
Beyond simplifying writing and editing, the elimination of unnecessary capitalization may have some other minor benefits, such as speeding up the ability to skim a paragraph.  The only downside I can think of is that it may not pay sufficient respect to the people the eponyms refer to, but I think simply using their name as part of a term is already a pretty significant homage.

Our style guide is to ensure we have consistent usage across our newsletters and other materials. We don't prescribe that other people follow them, but of course they're welcome to if they find them useful. Some may find our customs unusual or even eccentric, but they serve us well.

"Schnorr", "Merkle", "Sybil" -- they're literally people's names

I'll grant you one out of three here. "Schnorr" and "Merkle" are actually people's names, but only "Sybil" is literally someone's name, and that someone's actual name was Shirley Ardell Mason. The English language has many fictional eponyms, including yahoo, gargantuan, milquetoast and polyanna. These words are often not capitalized. Sybil is one such fictional eponym, and we choose to not capitalize it.
As for schnorr signatures and merkle trees, you're right that eponyms of real people are often capitalized as nouns. However, there are many counter-examples. You might boycott our lowercase use of schnorr, but you probably wouldn't Boycott it. You might eat a sandwich while driving a diesel car, but probably not a Sandwich while driving a Diesel car. You might call the schnorr signature method an algorithm and probably not an Algorithm.
At the end of the day, this is a question of style. Ours is to lowercase all eponyms that have become sufficiently widely used.

You might boycott our lowercase use of schnorr, but you probably wouldn't Boycott it. You might eat a sandwich while driving a diesel car, but probably not a Sandwich while driving a Diesel car. You might call the schnorr signature method an algorithm and probably not an Algorithm.

I'm aware that there are lots of common English words that originated as proper names, but my understanding is that in common usage, these are for things that are far more common than any of the examples here. For example, https://www.e-education.psu.edu/styleforstudents/c2_p11.html says:

Note: The only way to be sure if a word derived from a person’s name should be capitalized is to look it up in the dictionary. For example, "Bunsen burner" (after Robert Bunsen) is capitalized, while "diesel engine" (after Rudolph Diesel) is not.

If "Bunsen burner" is capitalized in anything close to common style, I'd say none of the examples here are remotely close to common enough to warrant being non-capitalized.

At the end of the day, this is a question of style. Ours is to lowercase all eponyms that have become sufficiently widely used.

Of course, style is just that. I just wanted to point out I think it's a weird one. Apparently you have your reasons for the choices you made, and that's fine.


[Add] Voice survey

Survey Title
Survey Source
From:

LePine, J. A., & Van Dyne, L. (1998). Predicting voice behavior in work groups. Journal of   applied psychology, 83(6), 853.

Adapted in:

Nicole Abi-Esber Alison Wood Brooks Ethan Burris. n.d. “Feeling Seen: Leader Eye Gaze Promotes Psychological Safety, Participation, and Voice.”

Survey Overview

During this conversation I felt I was able to express my views and feelings with the other  people in the conversation.
During this conversation, I suggested new ideas which were beneficial to the team.
During this conversation, I felt comfortable speaking up.
During this conversation, I communicated my opinion even if my opinion was different  and others disagreed with me.

Check
Tasks

[ ] Create a new folder in surveys/src/surveys w/ descriptive, easy-to-read name superSpecialSurvey/
[ ] Create SurveyJS .json file (e.g. superSpecialSurvey/superSpecialSurvey.json)
[ ] Create a .bib file citing your references for the survey (always: references.bib)
[ ] Create a storybook markdown file to document (e.g. superSpecialSurvey.stories.mdx)

[ ] Survey purpose
[ ] Expected behavior
[ ] Design rationale
[ ] APA-style bibliography

[ ] Create file with function to aggregate survey data (e.g. superSpecialSurvey.score.js)
[ ] Create PR and link to this issue

@sky1113 in this an the other surveys adapted in "Feeling Seen: Leader Eye Gaze Promotes Psychological Safety, Participation, and Voice" - can we check the original source and see how much the "adapted" surveys are from the original?

Concepts also overlap with "Autonomy", esp, ability to self express. Autonomy also includes other concepts.

It looks like many of these have been changed quite a bit, I've attached a screenshot of the questions from the original paper.

That is quite a bit different. Lets implement what the "Feeling Seen" paper has, and then see how similar it is to other things that have been published. We may be able to search for their revised question text in google scholar and see if its similar to what other people have used. =)


Better handling with calling GCE API

There are two major issues right now.

All API call w/o timeout.
All API call w/o retry.

/close


The engine loading speed has slowed down

I'm using ironpython2 engine in PowerShell. It works very well. I'm trying to use ironpython3 engine in these days
I find The engine loads Twice as slow as ironpython 2, Please see the following git pictures,
How to improve loading speed? need to add some parameters? Any suggestion is welcome. Thank you in advance
My system:  Windows7   64bit    .Net Framwork 4.8    powershell5.1

powershell Code:
ipy2.ps1
$start = (Get-Date)

$ipy2 = ".\IPY2\NET45\IronPython.dll"
Add-Type -Path $ipy2
$py2 = [ironpython.hosting.python]::CreateEngine()

$py2.Execute("print 'IronPython The engine has been loaded!'") #ipy2

(New-TimeSpan $start).totalseconds

ipy3.ps1
$start = (Get-Date)

$ipy3= ".\IPY3\NET46\IronPython.dll"
Add-Type -Path $ipy3
$py3 = [ironpython.hosting.python]::CreateEngine()

$py3.Execute("print('IronPython The engine has been loaded!')") #ipy3

(New-TimeSpan $start).totalseconds

Thanks for the report. I'm pretty sure this is caused by the bootstrapping of importlib during engine creation. There's no option to disable this right now but I can look at making one available for the next release.

Thanks for the report. I'm pretty sure this is caused by the bootstrapping of importlib during engine creation. There's no option to disable this right now but I can look at making one available for the next release.
Thank you for your reply,
Your suggestion is a good idea. Loading the library when necessary can submit the operation efficiency


Restructure Testsuites

Right now, not much functionality is actually tested - just the State acknowledging gcodes, and some IoPin stuff. What would be ideal is that you can send the gcode command to set servo 1 to 45 degrees and then check that the servo's internal state actually reflects that command, for example.
Probably the best way to do this is to create a new header file, testsuitebase.h, that defines a class that can aid in testing. This TestSuiteBase class would allow one to instantiate a basic Machine containing a set of IoDrivers given as function arguments, a CoordMap given as a function argument, etc (all should be optional), and also set up a State to listen for gcodes. Then the actual test class could call testSuiteBase.sendCommand("M280 P0 S45") to put a servo to 45 degrees and then inspect its state.
This would allow for each class to test its own behavior as it interacts with the entire program.

Implemented in devel.


Question: Multiple devices

Can we run on multiple devices in the same time ? (Like vscode we can run on chrome and android for example), and when the code is saved the hot reload is used in for both devices.

Well i've never had to do this so certainly have not personally implemented this, not on my radar either (as I'm not doing much dev atm) if you or anyone else wants to contribute feel free


ARROW-5963: [R] R Appveyor job does not test changes in the C++ library

This changes the PKGBUILD script to use the local checkout to build the C++ library.

Here's a passing appveyor build: https://ci.appveyor.com/project/nealrichardson/arrow/builds/26053084

It's not a name of my choosing, it's what they're called everywhere: https://wiki.archlinux.org/index.php/PKGBUILD
cf. https://github.com/msys2/MINGW-packages

Right, but you copy it here
https://github.com/apache/arrow/blob/master/ci/appveyor-build-r.sh#L42
so you could call it PKGBUILD_MINGW or something to people understand what it is by the name

Codecov Report

Merging #4900 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4900      +/-   ##
==========================================
- Coverage   87.44%   87.43%   -0.01%
==========================================
  Files         995      995
  Lines      140465   140465
  Branches     1418     1418
==========================================
- Hits       122824   122817       -7
- Misses      17279    17286       +7
  Partials      362      362

Impacted Files
Coverage Δ

cpp/src/arrow/csv/column-builder.cc
95.29% <0%> (-1.77%)
:arrow_down:

cpp/src/arrow/io/readahead.cc
95.91% <0%> (-1.03%)
:arrow_down:

cpp/src/plasma/thirdparty/ae/ae.c
70.75% <0%> (-0.95%)
:arrow_down:

cpp/src/arrow/util/thread-pool-test.cc
97.66% <0%> (-0.94%)
:arrow_down:

js/src/visitor/indexof.ts
98.63% <0%> (+1.36%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #4900 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4900      +/-   ##
==========================================
- Coverage   87.44%   87.43%   -0.01%
==========================================
  Files         995      995
  Lines      140465   140465
  Branches     1418     1418
==========================================
- Hits       122824   122817       -7
- Misses      17279    17286       +7
  Partials      362      362

Impacted Files
Coverage Δ

cpp/src/arrow/csv/column-builder.cc
95.29% <0%> (-1.77%)
:arrow_down:

cpp/src/arrow/io/readahead.cc
95.91% <0%> (-1.03%)
:arrow_down:

cpp/src/plasma/thirdparty/ae/ae.c
70.75% <0%> (-0.95%)
:arrow_down:

cpp/src/arrow/util/thread-pool-test.cc
97.66% <0%> (-0.94%)
:arrow_down:

js/src/visitor/indexof.ts
98.63% <0%> (+1.36%)
:arrow_up:

Continue to review full report at Codecov.

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


About the instant-ngp

Hello, I'm glad to try your work. Currently, I have an issue that seems to be related to a compilation error of _hash_encoder. Based on your previous issue, it seems like the problem is due to a missing instant-ngp module. I've tried several times but still can't resolve it successfully. Could you please guide me on how to correctly install the instant-ngp encoder? Thank you very much!
My environment is exactly the same as the one you provided
cuda：11.3
pytorch：1.11.0
wsl2   Ubuntu24.04
RTX 4070s

Hi, thanks for your interest,
The instant-ngp module is compiled in the first run. I suggest you follow our README.MD to install the environment. Check all the package versions because I have re-installed them and successfully ran the code.
If you find our repo useful, please help us star it, thanks :)


[FR] Convert Rectangular selection embeds into image for a specific note

Describe your request
Hope there will be a command that Convert Rectangular selection embeds into image for a specific note

Thanks for a nice suggestion, it will be addressed together with #106.

to fix your trouble check this solution click
maybe this will solve your problem.

PSA: deleted a potential spam comment. The comment author posted the exact same text in 4 of the issues in this repository at almost the same time, and the text included an unknown link. I also reported the account to GitHub.


How about the rtu mode without tcp?

You mean RTU with Serial?
Serial is not implemented yet. Contributions are welcome

请问接受和发送都能实现吗？

MR welcome

I saw your example,I do not see the sent code, I see 'var slaveIdResponse = await client.reportslaveid ();'Is the send performed here

With this version of the code I only read data, but can I write data to a device?

@Exquemelin yes, you can write. Something like  client.writeMultipleRegisters(), client.writeSingleCoil(), etc

Ah, ok. Thank you for your fast support. I will try it.


Responses from non-OBD Modules

It would be nice if we could “learn who’s responding” during Track Monitor Completion Status (Function C) so we know who to expect a response from during Collect Test Results (Function E).
Ask globally, but only report data from OBD Modules

Per the review on 4/11, it's acceptable to receive and record the information from non HD-OBD Modules.


Add basic API

...

Codecov Report

Merging #4 (ae7e9a1) into main (f56dc5f) will increase coverage by 10.00%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             main        #4       +/-   ##
============================================
+ Coverage   90.00%   100.00%   +10.00%
============================================
  Files           1         2        +1
  Lines          10        90       +80
============================================
+ Hits            9        90       +81
+ Misses          1         0        -1

Impacted Files
Coverage Δ

internal/service/ip.go
100.00% <100.00%> (ø)

internal/utils/variable.go
100.00% <100.00%> (+10.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Rag

RAG to main pull request

Can't merge this until https://github.com/belgio99/smartfactory/issues/55, otherwise we lose all RAG functionality


DataLakeFileClient.rename_file fails if there are spaces anywhere in the path.

Package Name: azure-storage-file-datalake
Package Version: 12.0.1
Operating System: Windows 10 (18363.836)
Python Version: 3.7.0

Describe the bug
When using DataLakeFileClient to rename a file with spaces in the path (file name or folder name), I get an error when calling rename_file. Error is:
"The source URI is invalid."
To Reproduce
Steps to reproduce the behavior:

Create a DataLakeFileClient for a file with spaces anywhere in the path (directory or file name). This should succeed.
Call rename_file and observe the error.

Expected behavior
The rename should work.
Screenshots
n/a
Additional context
n/a

Getting the same issue.

I believe this issue has been resolved since it was last reported as broken. Example of properly URL-encoded path after rename_file API used to change from name to new name


Add current disease data to IQVIA

Description:
This PR adds current disease data to the IQVIA integration.
Related issue (if applicable): N/A
Pull request in home-assistant.io with documentation (if applicable): https://github.com/home-assistant/home-assistant.io/pull/9205
Example entry for configuration.yaml (if applicable):
iqvia:

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

We should not store historical data in the state machine.

@balloob I've removed historical disease data (eac136c). I was unaware of this requirement, so I'll need to open a separate PR to remove historical allergen and asthma data. I'm going to wait until https://github.com/home-assistant/home-assistant/pull/22986 is merged to do that.

@bachya This has merge conflicts that need to be resolved before we merge!

@andrewsayre My merge conflicts have been corrected, but flaky stream tests are preventing me from merging.

I don’t have the ability to override the checks... Try rebasing again, a PR was merged to disable the flaky tests this morning.


[DLC] Optimize cache for dynamic validator build

Motivation
Optimize docker layer caching for nightly build.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Canary in https://app.circleci.com/jobs/github/calibra/libra-ops/5228

@bors-libra r+

:pushpin: Commit 82bbba5 has been approved by andll

:hourglass: Testing commit 82bbba5a44d200d2b1108bc36866bc7ba851632c with merge b7fed04429e8740f5a4499d624066a7ff4dccf65...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: andll
Pushing b7fed04429e8740f5a4499d624066a7ff4dccf65 to master...


⚠ Bofrost.lu has degraded performance

In d4f3433, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1053 ms

Resolved: Bofrost.lu performance has improved in a6fabc6 after 6 minutes.


Update to a more recent nightly

Fixes the rustfmt errors

Not sure yet why tests succeed but generating codecov fails ...

[ ] Also need to ensure that all GAT where bounds have been moved correctly

Codecov Report

Merging #147 (6e648ca) into main (4010ec3) will decrease coverage by 33.61%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main     #147       +/-   ##
===========================================
- Coverage   49.22%   15.61%   -33.62%
===========================================
  Files          82      294      +212
  Lines        6013    18955    +12942
===========================================
  Hits         2960     2960
- Misses       3053    15995    +12942

Impacted Files
Coverage Δ

necsim/core/bond/src/lib.rs
100.00% <ø> (ø)

necsim/core/src/lib.rs
100.00% <ø> (ø)

necsim/core/src/reporter/impl.rs
0.00% <ø> (ø)

necsim/core/src/simulation/process/local.rs
0.00% <ø> (ø)

necsim/impls/cuda/src/lib.rs
100.00% <ø> (ø)

...active_lineage_sampler/alias/individual/sampler.rs
0.00% <ø> (ø)

...s/active_lineage_sampler/alias/location/sampler.rs
0.00% <ø> (ø)

...c/cogs/active_lineage_sampler/classical/sampler.rs
0.00% <ø> (ø)

...cogs/active_lineage_sampler/independent/sampler.rs
0.00% <ø> (ø)

...rc/cogs/active_lineage_sampler/resuming/sampler.rs
0.00% <ø> (ø)

... and 236 more

Continue to review full report at Codecov.

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


Implement a OverlayPanel

The goal is to create a easy to consume react component to implement feature like showcased on the github repo page (the left panel when user clicks on the left menu button.
Might be helpful / related with:

https://primer.style/react/storybook/?path=/story/private-components-overlay--positioned-overlays (storybook private, maybe reused)
https://primer.style/react/AnchoredOverlay
https://primer.style/react/Overlay

Screencast from 05-01-24 13:24:46.webm

it should be as simple as
<OverlayPanel
    position="left"
    width="100px"
   content={<MyContent/>}
/>

position = "left" | "right" | "top" | "bottom" # width can be set for left and right, height can be set for top and bottom.

Should be a "controlled" component with "show" and "hide" actions (with sliding display)


Clock is not synced with system clock

When starting up more than one instance of clock-rs (in separate terminals), they are not synchronized, meaning the seconds are updated at different times. Please see the attached video.
https://github.com/user-attachments/assets/689f3669-696e-47e0-a634-15e2998a83ad
This is a "nice to have" (after all, why would you run multiple instances of the clock?), but it would look better if all instances updated their time at the same time as the system clock.
However, there is a more serious bug hidden here!
The clock is drifting, somehow. Look at the left-most clock from second 34 -> 35. The increment happens too fast.
If you just start up any clock and watch the seconds updated, you will eventually see that some second increments happen too soon. At the end of the video, the left-most and the bottom-right clocks are almost synced.
Without looking at the code, I guess there is a timer that triggers on the specified interval, counted from when the application was started, which is why it is not synchronized with the system clock. I am guessing that both of these bugs stem from the same root cause and will be solved with the same fix.
Tested on Windows 10 using the Command Prompt and version 0.1.201 of clock-rs.

Thank you for opening an issue! ^^
To achieve better synchronization across multiple clocks, you can reduce interval to e.g. 10ms. Considering that this would result in higher CPU usage and it is uncommon to run multiple clocks at once, I don't think this is a real problem.
Did you specify the interval in milliseconds using --interval <ms>?
I've taken a look at other terminal-based clocks such as tty-clock, xclock, etc., but they all seem to have the same problem that they won't fix. Also see here on how other clocks fix this issue. I value resource usage over accuracy.
I thought about waiting until the next full second on startup to ensure synchronization, but this would just result in an annoying delay. Over time, they would begin to differ again anyways.
Furthermore, the faster increment occurs because of the interval as well: if you were to run $ clock-rs -i 900 for example, the increment would alternately between faster and slower. It's best to choose a number, that, when approaching one full second, wouldn't have a big difference compared to it, e.g. 100ms, 200ms or 500ms, instead of numbers like 900ms or 700ms, which would have both end up at 1800ms and 1400ms  and deviate from the ideal 1000ms!
Choosing an interval like 10ms would therefore resolve this issue, but also cause a higher CPU usage.
In most scenarios, clock applications like these aren't actually useful, but exist more so for aesthetic reasons. It might not be too important if a second was displayed for a short time compared to the others, as long as it doesn't occur too often. Currently, the default is 500ms, so I might consider lowering this a bit.


feat: add maker docker build

[x] Publish latest maker docker image upon merge to main.
[x] Replace GITHUB_TOKEN with a generated classic token. Note, GITHUB_TOKEN does only work when the workflow is triggered manually.

@bonomat How about building the docker images also for arm64? That way I could use these images on my raspberry pi cluster, without having to build them locally. 😅

@bonomat How about building the docker images also for arm64? That way I could use these images on my raspberry pi cluster, without having to build them locally. 😅

I think this is generally a good idea :)

@holzeis : I fixed the token for you.


Confused for result with MA Soft Prototype Probs  strategy

Hi,
very nice work. in paper said,  for PICO ablation study,  "However,
MA Soft Prototype Probs displays degenerated performance, suggesting soft label assignment is less reliable in identifying the ground-truth", I am confused that with soft prototype probs used for label disambiguation already achieve 91.6, MA Soft Prototype Probs only 81.6%?

Thanks for your attention to our work. In effect, MA hard prototype, which is adopted by PiCO is a relatively aggressive strategy for label disambiguation. We postulate that the MA soft prototype strategy may be too passive (even compared to the soft version) and the model tends to overfit nonconfidential labels at the early stage of training and thus finally diverges. Hope it helps.

MA soft prototype strategy wasn't adopted based on warm-up strategy? Without warm-up procedure the degenerated result is within the expected range.

We apply the same warm-up strategy as the original PiCO algorithm.


Cache the parsed result of the HelpCommand and HelpTelnetHandler

What is the purpose of the change
Cache the parsed result of the HelpCommand and HelpTelnetHandler to avoid repeated parsing and processing

Codecov Report

Merging #7919 (731290e) into master (e845e16) will increase coverage by 0.61%.
The diff coverage is 76.66%.

@@             Coverage Diff              @@
##             master    #7919      +/-   ##
============================================
+ Coverage     59.28%   59.90%   +0.61%
- Complexity      529      544      +15
============================================
  Files          1077     1089      +12
  Lines         43565    43809     +244
  Branches       6368     6368
============================================
+ Hits          25826    26242     +416
+ Misses        14879    14615     -264
- Partials       2860     2952      +92

Impacted Files
Coverage Δ

...ting/telnet/support/command/HelpTelnetHandler.java
77.41% <74.07%> (+2.41%)
:arrow_up:

...n/java/org/apache/dubbo/qos/command/impl/Help.java
83.33% <100.00%> (+0.57%)
:arrow_up:

...a/org/apache/dubbo/rpc/filter/AccessLogFilter.java
28.35% <0.00%> (-50.75%)
:arrow_down:

...va/org/apache/dubbo/rpc/support/AccessLogData.java
53.16% <0.00%> (-37.98%)
:arrow_down:

...ntext/event/AwaitingNonWebApplicationListener.java
46.96% <0.00%> (-25.76%)
:arrow_down:

...ng/transport/dispatcher/all/AllChannelHandler.java
68.96% <0.00%> (-20.69%)
:arrow_down:

.../dubbo/remoting/transport/MultiMessageHandler.java
80.00% <0.00%> (-20.00%)
:arrow_down:

...ng/transport/dispatcher/WrappedChannelHandler.java
43.47% <0.00%> (-19.57%)
:arrow_down:

...bo/rpc/cluster/support/FailbackClusterInvoker.java
52.45% <0.00%> (-18.04%)
:arrow_down:

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
76.92% <0.00%> (-15.39%)
:arrow_down:

... and 144 more

Continue to review full report at Codecov.

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

Would it be better to change to WeakReference?

Would it be better to change to WeakReference?

Thank you for your suggestion. The help command is less important than others. I have modified the map type to WeakHashMap


Glue

Do we need glue?

Implementation note: glue can just be parsed as another element in the Output's array of OutputTypes.


TCRG-19 - Added a retweet service with mutation

Task linked: TCRG-19 Create a Retweet Service with Mutation


Added versions of various compilers and CUDA for blueos and toss4

To update and expand coverage in Gitlab CI testing.

@mcfadden8 I agree with what you are saying. I believe the specs in here are basically a dumping ground for everything someone wants to/has had to try.  Somehow doing what you suggest would help make multiple projects have a consistent tested compiler support story. Not sure how to do that.
On a related note, it would be good to have a systematic way to add new specs here routinely when new compilers are installed on LC machines. Perhaps folks who contribute to this could take on that responsibility on a revolving basis?

I can think of two options for doing this and neither are really ideal.

We could consider duplicating an entire spec for each alias and just keep all of the aliases grouped in one place in the file so they could easily be updated.
We could consider creating something in uberenv (hand waving) like a configuration file that would contain the aliases.  The configuration file could be maintained in RADIUSS

@adrienbernede david and marty think is ready to merge. please review and approve if you agree, or make comments if you want me to make changes. thank you.

@rhornung67 @mcfadden8
I was not available and I think you were right to merge this.


Add "Copy message" option

Issue submitter TODO list

[X] I've searched for an already existing issues here
[X] I'm running a supported version of the application which is listed here and the feature is not present there

Is your proposal related to a problem?
I find myself copying header and values in order to resend a message
Describe the feature you're interested in
I would like to have a simple "Copy message" option after which I headers, key, values etc. of the original message is copied which I can then adapt to my liking.
Describe alternatives you've considered
No response
Version you're running
https://github.com/kafbat/kafka-ui/commit/2956664
Additional context
No response

Ok, I just tried the "Keep contents" option and it is good enough for me. Thank you for this cool project btw.

Editing the message before reproducing it should be implemented within #318


Build dask implementation up to MVP-functionality

dask-nested ticket: https://github.com/lincc-frameworks/dask-nested/issues/3

DONE


Update default LLVM version to 16.x

This sets the default LLVM version to clone to 16.0.2 -- not 16.0.0 as #14 indicates.

This sets the default LLVM version to clone to 16.0.2 -- not 16.0.0 as #14 indicates.

And because I'm slow and this is a moving target, I've updated it again to 16.0.5.


MudMenu - Child menu of nested menu does not open unless ActivationType is MouseOver

Bug type
Component
Component name
MudMenu
What happened?
Child Menu of nested menu does not Open Unless ActivationType is MouseOver
Example: Item 1 nested menu cannot be opened, while Item 2 can.
<MudMenu Label="Open Menu" Variant="Variant.Filled" Color="Color.Primary" AnchorOrigin="Origin.CenterCenter" TransformOrigin="Origin.TopLeft" Dense>
    <MudMenuItem>
        <MudMenu AnchorOrigin="Origin.TopRight" TransformOrigin="Origin.TopLeft" Dense>
            <ActivatorContent>
                <MudMenuItem> Item 1 </MudMenuItem>
            </ActivatorContent>

            <ChildContent>
                <MudMenuItem> Item 1.1 </MudMenuItem>
                <MudMenuItem> Item 1.2 </MudMenuItem>
            </ChildContent>
        </MudMenu>
    </MudMenuItem>

    <MudMenuItem>
        <MudMenu ActivationEvent="MouseEvent.MouseOver" AnchorOrigin="Origin.TopRight" TransformOrigin="Origin.TopLeft" Dense>
            <ActivatorContent>
                <MudMenuItem>Item 2</MudMenuItem>
            </ActivatorContent>

            <ChildContent>
                <MudMenuItem> Item 2.1 </MudMenuItem>
                <MudMenuItem> Item 2.2 </MudMenuItem>
            </ChildContent>
        </MudMenu>
    </MudMenuItem>
</MudMenu>

Expected behavior
The nested menu should be able to be opened when clicked
Reproduction link
https://try.mudblazor.com/snippet/QkQdusliLbtBIhlK
Reproduction steps

Click Open Menu
Click Item 1

Relevant log output
No response
Version (bug)
6.9.0
Version (working)
No response
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm interested in seeing a response to this one as well. I'm running MudBlazor in a .NET MAUI Hybrid (Blazor) app. As a result, my UI is running on mobile devices, and in order to trigger a MouseOver event to open a child menu, I have to long-press or double-tap, which is definitely not intuitive.

According to the docs, this can not be a bug:

E.g. if no ActivationEvent is set, the menu will only open when clicked on.
MouseOver will only work when set: ActivationEvent="MouseEvent.MouseOver"

@Yomodo You have misunderstood. Please try the reproduction link. Submenu for Item1 does not open on click. Adding ActivationEvent="MouseEvent.LeftClick" still does not work.

@jesseperrone  I see. I could get it to work by adding another MudMenu.
Only downside is that it changes the label appeareance:

https://try.mudblazor.com/snippet/mYQHYCcnKdYXRtbW

For what it's worth, to get around the issue mentioned in this post (i.e., child menus not rendering except on MouseOver) and also the issue of parent menus remaining visible even after a child item was selected, I use something like the code at this link:
https://try.mudblazor.com/snippet/QkmdaCmfSpaCmNCF
It uses a MudPopover that contains a MudList. For nested menus, I use a NestedList inside the main list. It requires some manual work, such as setting a "MenuIsOpen" flag to false when any menu item is left-clicked. I'm also able to close the "menu" if you click outside of the menu area, by using an invisible MudOverlay.
Is there a better way to accomplish these things?
(1) Expand child menus with left-click.
(2) Close the menu entirely when any menu item is selected.
(3) Close the menu entirely if you click anywhere outside of the menu.

May be related to #8287


Feature/ERD

Project: Social media website
Milestones:

[x] Gitflow
[x] Github Actions
[x] Rubocop
[x] Stylelint
[x] .gitignore
[x] Put a file with your ERD in the docs directory in your repo

Thanks, @lekegitrepo! 👍 🙏


entityReference.name is not entity type

entityReference.name is not entity type

@Nkrb Can you review this.

@kenakamu Thanks for the feedback. We will update the docs with the latest changes in the next release.


[QNN][ONNX][Relay] support mix-precision input types for QLinearMatMulfix

There is fix of issue #13466. CI tests prepared earlier for this case were uncommented.
cc @masahi

Hello @AndrewZhaoLuo! I've done this fix to support quantized distilbert-like model with mixed-precision in QLinearMatMut. The model is supported by ONNX RT. After this fix and fix from #13469 the model is supported by TVM with VirtualMachine. Nevertheless you are right the primitive op with mix-precision does not work on ORT and more over for TVM too. I'm working on it.


RFE - allow 'filename' to be passed in via msg.filename

It would be nice if one could build the filename and pass it into 'sox-record'. The case I just hit is I want to try out node-red-contrib-personal-wake-word and need to record the wake word multiple times. If I could dynamically build the filename, this would be easier to do.

Ill have a look at adding this functionality

Ill have a look at adding this functionality

Closed as implemented for both record and convert see:
https://github.com/johanneskropf/node-red-contrib-sox-utils/commit/520e52a633d3197855bc103d6c4913f59738849f

Closed as implemented for both record and convert see:
https://github.com/johanneskropf/node-red-contrib-sox-utils/commit/520e52a633d3197855bc103d6c4913f59738849f


Get rid of styles in description fields

f6* are done

should allow html though... define some standard classes...


Visual Studio 2015 Update 3 Error :  Found invalid hex digit in length

When I decide to published the first fresh and default project to my server  i got this error
: "Found invalid hex digit in length"
Server Machine : Windows Server 2008 R ,Client Side :  Visual Studio 2005 U3 , default & empty web solution
I tried different origin link such as below but error still there ...
<EMAIL_ADDRESS><EMAIL_ADDRESS>I checked the log belong to this error and it was this :
w3wp.exe Error: 0 : Error occured and caught in Global.asax - System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.Substring(Int32 startIndex, Int32 length)
at Bonobo.Git.Server.GitAuthorizeAttribute.OnAuthorization(AuthorizationContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList1 filters, ActionDescriptor actionDescriptor)    at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__19(AsyncCallback asyncCallback, Object asyncState)    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout)    at System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state)    at System.Web.Mvc.Controller.<BeginExecuteCore>b__1c(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState)    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout)    at System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state)    at System.Web.Mvc.Controller.<BeginExecute>b__14(AsyncCallback asyncCallback, Object callbackState, Controller controller)    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout)    at System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state)    at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state)    at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__4(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState)    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Can you try this version, please and see it fixes your problem: https://ci.appveyor.com/api/buildjobs/1xlle33tpiq2xha5/artifacts/bonobo-git-server-7265243-ffbbb5e8093028ebe5842e8a5a73ac21ce12b612.zip

Thank you for your replay willdean , I install this one , it seems to be work until the host machine request me credential so I make a user and grant access for whole holder of the web site , but it still ask for credential . I input my user name such as this  : HostMachineName\USERNAME    & Password
the log file error is :
Native library pre-loader is trying to load native SQLite library "C:\HostingSpaces\git.mysite.com\wwwroot\bin\x86\SQLite.Interop.dll"...
I think my problem is now verification & validation because I do not know on which folder should I grand the permission and what Group of user should have this permission !

That message is not an error - it's just something the SQLLite library writes to the log file.
I'm afraid I'm not clear if you're having problems using a Git client or if you're having problems going to Bonobo with a web-browser.
If you can start a browser ON YOUR BONOBO SERVER, you should be able to go to http:///home/diagnostics and get a diagnostics page which might help me help you.
If you get asked for credentials when you go to that page, then you have not configured IIS correctly.

I'm afraid I'm not clear if you're having problems using a Git client or if you're having problems going to Bonobo with a web-browser

Actually my problem is not on bonboo with a web-browser
My problem appear when I want to publish my files through Visual Studio 2015 u3  to the server , files are not copied and the windows Security message box is showing to me and ask me enter credential for access to web site .
I don't know which username and password should I type , I tried Internal Membership password , I make a user on my server with full permission on web site , but none of these not worked for me .
this is the content of diagnostic page which you wanted from me , please check below parameters , if you think i made a wrong please correct for me .
Web.Config AppSettings
--AppSettings.webpages:Enabled: 'false'
--AppSettings.ClientValidationEnabled: 'true'
--AppSettings.UnobtrusiveJavaScriptEnabled: 'true'
--AppSettings.UserConfiguration: '~\App_Data\config.xml'
--AppSettings.DefaultRepositoriesDirectory: '~\App_Data\Repositories'
--AppSettings.GitPath: '~\App_Data\Git\git.exe'
--AppSettings.GitHomePath: '~\App_Data'
--AppSettings.RecoveryDataPath: '~\App_Data\Recovery'
--AppSettings.AuthenticationProvider: 'Cookies'
--AppSettings.ImportWindowsAuthUsersAsAdmin: 'false'
--AppSettings.MembershipService: 'Internal'
User Configuration:
--User config file: 'C:\HostingSpaces\mysite.com\wwwroot\App_Data\config.xml'
--User config readable: OK
--User config saveable: OK
--User config folder: Exists, 6 files, 8 entries, writeable
Repo Directory
--Configured repo path: '~\App_Data\Repositories'
--Effective repo path: 'C:\HostingSpaces\mysite.com\wwwroot\App_Data\Repositories'
--Repo dir: Exists, 1 files, 2 entries, writeable
Git Exe
--Git path: 'C:\HostingSpaces\mysite.com\wwwroot\App_Data\Git\git.exe'
--Git.exe exists: OK
Federated Authentication
--Not Enabled:
Active Directory
--Not Enabled
Internal Membership
--User count: 2

If you've made a user in Bonobo using the Bonobo web interface called "MyUserName", with a password "Password", then when you get asked for credentials by Visual studio, you should just enter MyUserName and Password - you should not do anything like HostMachineName\USERNAME.
You should tell VS that your URL is something like http://mydomain.com/myrepo.git - don't bother with the URLs which have usernames in.

Thank you for your comment ,My Problem has solved
My Problem was in IIS   Authentication , When I got the error I had enabled the basic Authentication in IIS .
Could you please tell me whats is different  between below url which are mentioned in web interface of Bonobo Git server  :
<EMAIL_ADDRESS>and
http://mydomain.com/myproject.git

The top one is for situations where you want to be able to connect to the same repository but with different user credentials.
Personally I've never needed to use one - I always use the second kind.


Update with delete value

The values of delete cascade are being applied to the update.
https://github.com/bcit-ci/CodeIgniter4/blob/efd56c3fa853882003677e48490c6563d5aa3c52/system/Database/Forge.php#L1173

Fixed via https://github.com/bcit-ci/CodeIgniter4/pull/805


Interpreter performance improvements

Hello,
Lines https://github.com/maximecb/zetavm/blob/master/vm/interp.cpp#L375-L943 dispatches bytecodes on a switch and this can be a big performance bottleneck specially while dispatching large number of bytecodes. This can be improved by threaded dispatch via computed gotos.
Also https://github.com/maximecb/zetavm/blob/master/vm/interp.cpp#L155-L248 might benefit using a map<K,V> than an if-else as this is referenced from inside the main VM loop.
I am happy to raise a pull request if you say! 😄

Hi there!
I would actually like to mostly rewrite this interpreters. The performance is currently awful, and I think there are multiple big issues there. Some of the biggest performance killers:

I'm still doing a map lookup for every instruction being executed (opCache)
Instructions are stored in an array owned by basic blocks, with pointer indirection
Property lookups on instruction objects

What I would like to do, is build an interpreter that does some amount of compilation. It will generate a flat, compact and mostly linear stream of instructions. This will also be an opportunity to do some extra optimizations, such as combining some common sequences of instructions together.
I would actually like to go farther than that, and use the technique I developed during my PhD to do type specialization, and function call inlining within the interpreter. I think it should be possible to get much, much better performance.
That being said, the idea of using computed gotos still applies. The compressed instruction stream could have pointers for computed gotos in it, instead of opcodes to go in a switch. I think it would be interesting to build the faster interpreter first, with a switch, and then make the change to computed gotos, to see how much of a difference it makes.

Thanks a lot for the detailed explanation.
I am a budding compiler/VM enthusiast and a unified dynamic language VM was one of my dreams. I would definitely like to contribute to this project.
I had a couple of questions:

This being a VM for dynamic languages, is the compiler front-end for the language responsible for supplying Zeta the types, or will Zeta have some type inference?
How similar will this be to Parrot VM?
Due to the fact that we have bytecodes, will Zeta have a tracing JIT? If yes are we planning to write the profiler ourselves or use some existing libs?
Will LLVM be one of the JIT/Code generation/Optimization options? (I have some experience there)
Will the GC be generational like SGen/G1 or Mark-Sweep like Boehm? And are we planning to use a GC lib or writing it ourselves?
Can Rust be used as the implementation language given the safety and auto memory management it provides? (I have decent experience with Rust)

I'd be happy to have contributors on the project. I'm very motivated to work on this one and make it a novel and interesting system :)

This being a VM for dynamic languages, is the compiler front-end for the language responsible for supplying Zeta the types, or will Zeta have some type inference from the ZIM IR?

Zeta will have type specialization based on basic block versioning, meaning you will be able to pass it code without any type annotations and get good performance. That being said, you could very well design a gradually typed language with type annotations, or something with type inference like Haskell or ML and design a front end for that too, if you wanted.

How similar will this be to Parrot VM?

Some obvious differences are that this is a stack-based VM. The IR is also in an object language that resembles JSON. It's also possible for programs to introspect their own IR, and to generate new IR on the fly... Which makes it very easy for anyone to generate code on the fly. As you can see from the parser.pls front-end I have, it's possible to design a language front-end in little code. Mine has about 2400 lines of heavily commented code.
Zeta will also have a package manager which will make it easy for anyone to push their own front-end packages and make them available to everyone. The #language "lang/plush/0" line at the beginning of every plush file specifies which parser to use. Users will be able to push their own language front-end packages, and then anyone will be able to code in that language and run code on ZetaVM. This will make it trivial for anyone to add support for any language to ZetaVM, and make that support available to everyone immediately.
Besides that, once Zeta is a more mature system, I'm fairly confident that the performance of Zeta JIT will outperform parrot. I can build a JIT that is at least in the same ballpark as the performance of V8, maybe 50% as fast, maybe better.

Due to the fact that we have bytecodes, will Zeta have a tracing JIT? If yes are we planning to write the profiler ourselves or use some existing libs?

I'm planning to build a JIT based on basic block versioning, which is the technique I developed during my PhD. This is similar to tracing, but not quite the same. My current plan is to build a somewhat fancy interpreter that does some of the JITting and optimization work, and a lightweight JIT on top of the interpreter. The JIT will be relatively simple, and hopefully easy to maintain and portable as a result.

Will LLVM be one of the JIT/Code generation/Optimization options? (I have some experience there)

Not at the moment no. You could possibly build a ZIM to LLVM compiler, but I'm not planning on it. LLVM is unfortunately a bit lacking when it comes to the kind of trickery needed to make dynamic languages perform well. It's also not a very fast JIT.

Will the GC be generational like SGen/G1 or Mark-Sweep like Boehm? And are we planning to use a GC lib or writing it ourselves?

I would like to have a precise GC. I haven't yet decided which technique to use, but I was thinking that non-moving would be nice, because it performs better when you fork a process (copy on write), and it makes it possible to bake addresses into machine code. We could possibly start with Boehm or something naive. Right now, ZetaVM is kind of experimental. I'm trying to demonstrate that some ideas are viable with this system, and so I didn't implement a GC. I've been focusing on other things.

Can Rust be used as the implementation language given the safety and auto memory management it provides along with good C interop? (I have decent experience with Rust)

I would rather not. I implemented my PhD project (the Higgs JIT) in D. I did so because I thought that D was nicer to use than C++. I had to deal with compiler bugs, multiple breaking changes... And unfortunately, less people using my project. People are scared of things they don't know. I'd rather deal with the quirks of C++, if it means more people are willing to work on this project and more people might be willing to integrate Zeta into their projects.
Finally, I will be fully honest about the fact that Zeta is kind of an opinionated system. I'm hoping to design a VM that is designed to maximize portability and minimize breaking changes. That means that Zeta will not have an FFI. Everything programs will have access to will be through APIs the VM exposes... And these APIs will be intentionally minimalistic, because I believe that APIs with less surface areas and less functionality are more robust. Zeta will be intentionally conservative in adding new features. I don't think that satisfying every possible use case is desirable. I would like to adhere to a philosophy of "less is more".

Thank you! That clarifies a lot :)
I'll look into the source and try improvements. Also could you clarify on:

That means that Zeta will not have an FFI.

Does that mean Zeta won't be able to use and compiled c/c++ libs like openssl or opengl which generally come as compiled .so/.dll files without full compilation?

Everything programs will have access to will be through APIs the VM exposes... And these APIs will be intentionally minimalistic, because I believe that APIs with less surface areas and less functionality are more robust

As for the APIs Zeta provides, will these APIs be some functions? Or network APIs? If they are functions, would Zeta be available as a lib? like libzeta or something which other language front-ends will use and embed zeta vm into it?

I'll look into the source and try improvements.

Sure. Also, if you're interested, I'd like it if someone implemented a LISP front-end for ZetaVM, or a Python/JS/Lua front-end. Having front-ends for other languages besides the plush language I'm implementing would be great for testing language interop, and showcasing multi-language capabilities.

Does that mean Zeta won't be able to use and compiled c/c++ libs like openssl or opengl which generally come as compiled .so/.dll files without full compilation?

For graphics and audio, ZetaVM will link with SDL2, and expose low-level APIs to programming languages that run inside Zeta. The APIs Zeta will expose internally will be as low-level, minimalistic and neutral as possible. I won't expose OpenGL directly, but something simpler. I believe I've found a way to make it so you can write code in any language, and ZetaVM will be able to compile code into per-pixel shaders on the GPU (given some restrictions to the code you write).
For things like SSL crypto, you'd have to compile the crypto code into Zeta IR. We might have a C/C++ to zeta IR compiler at some point, or we can reimplement these things... But no, you couldn't directly call into openssl, the reason being that openssl is likely to change, which would break your code or make it unportable.

As for the APIs Zeta provides, will these APIs be some functions? Or network APIs?

The APIs I'm talking about is what Zeta provides internally to languages that run into the VM. They will be importable as packages, eg import "core/io", or import core/audio`. They will be objects/modules containing host functions, which can be called like normal Zeta functions.

would Zeta be available as a lib? like libzeta or something which other language front-ends will use and embed zeta vm into it?

I suppose we could do that eventually. Not a priority for now. At the moment, if you want to write a language frontend for Zeta, you would write something like this, which gets compiled to Zeta IR and runs inside Zeta.


Fix #16929 do not show profile load time msg with new pwsh parameter

This PR adds a new pwsh command line parameter to enable the display of the profile load time message.

PR Summary
Changes the host to not display the profile load time by default.  A new pwsh command line switch -ShowProfileLoadTime was added to allow someone to show the profile load time regardless of the length of the load time.
Usage: pwsh[.exe] [-Login] [[-File] <filePath> [args]]
                  [-Command { - | <script-block> [-args <arg-array>]
                                | <string> [<CommandParameters>] } ]
                  [-ConfigurationName <string>] [-CustomPipeName <string>]
                  [-EncodedCommand <Base64EncodedCommand>]
                  [-ExecutionPolicy <ExecutionPolicy>] [-InputFormat {Text | XML}]
                  [-Interactive] [-MTA] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile]
                  [-OutputFormat {Text | XML}] [-SettingsFile <filePath>] [-ShowProfileLoadTime]
                  [-SSHServerMode] [-STA] [-Version] [-WindowStyle <style>]
                  [-WorkingDirectory <directoryPath>]

       pwsh[.exe] -h | -Help | -? | /?

...

-ShowProfileLoadTime

    Displays the time taken to load the PowerShell profiles.

-SSHServerMode | -sshs

PR Context
Addresses #16929 to further reduce the amount of default startup banner text.

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:  I wasn't going to file an issue on https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_pwsh?view=powershell-7.2 until the PR gets a thumbs up.

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

I believe the original intent of showing the load time was all the complaints from users about how long it was taking PowerShell to startup when most of the time was in their profile.  If this is not enabled by default, I can't imagine anyone taking the time to enable this.  I wonder if it makes more sense to have this opt-out rather than opt-in?  -DisableProfileLoadTime.

FYI I have re-implemented this as an opt-out parameter -DisableProfileLoadTime.  Unfortunately, this approach does not lend itself to unit testing.

@rkeithhill The Console-Interactive WG reviewed this PR and we agree to have it opt-out rather than opt-in. So, by default, the existing behavior is not changed.
Then the ask becomes to have a new switch to hide the profile load time. However, the -nologo switch already hides the profile load time, which makes having a new switch just for that seem to be an overkill ...
@rkeithhill what's your thoughts about this?

The difference with -NoLogo is that you don't see anything displayed in the console until after all profiles are processed.  Where you typically want this feature is when your profile always takes several seconds to process and seeing the profile load time message every single session start is just, well, annoying.  Also, I prefer seeing which version of PowerShell I'm running which you lose with -NoLogo.   My preference would be to add an opt-out parameter.  I have it currently implemented with @SteveL-MSFT's suggested name -DisableProfileLoadTime but I wonder if -NoProfileLoadTime would be better (shorter and more consistent with -NoLogo)?

I agree that -NoLogo suppresses everything whereas you may want the PowerShell version.  -NoProfileLoadTime seems fine to me.

Alright, @rkeithhill can you update this PR then? It's still the showprofileloadtime implementation.

One unfortunate consequence of using an opt-out parameter is that it doesn't lend itself to testing.  From what I can see, the tests in ConsoleHost.Tests.ps1 all specify starting pwsh with -NoProfile. That makes sense.  You wouldn't want to process a dev's profile when running console host tests.

BTW I did update this PR to be opt-out.  It's ready for review again.

Here's the updated usage:
Usage: pwsh[.exe] [-Login] [[-File] <filePath> [args]]
                  [-Command { - | <script-block> [-args <arg-array>]
                                | <string> [<CommandParameters>] } ]
                  [-ConfigurationName <string>] [-CustomPipeName <string>]
                  [-EncodedCommand <Base64EncodedCommand>]
                  [-ExecutionPolicy <ExecutionPolicy>] [-InputFormat {Text | XML}]
                  [-Interactive] [-MTA] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile]
                  [-NoProfileLoadTime] [-OutputFormat {Text | XML}]
                  [-SettingsFile <filePath>] [-SSHServerMode] [-STA]
                  [-Version] [-WindowStyle <style>]
                  [-WorkingDirectory <directoryPath>]

       pwsh[.exe] -h | -Help | -? | /?

  ...

  -NoLogo | -nol

    Hides the banner text at startup of interactive sessions.

...

-NoProfile | -nop

    Does not load the PowerShell profiles.

-NoProfileLoadTime

    Hides the PowerShell profile load time text shown at startup when the load
    time exceeds 500 milliseconds.


Fix background

Changing sprite to have columns and rows and adding animated background with changeable position

Perhaps you could squash the 2 latest commits, since they are closely related.


Error while parsing files on Validator

PFA the QRDA I file
Enc Active1.txt
and the error image

Thanks for pointing this out.
The Validator should have returned an error message regarding an error in the XML below.  The priorityCode should be using a code from an "Attribute" valueset.
-Dave Czulada

<priorityCode code="48794007" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMEDCT" displayName="Human immunodeficiency virus infection with infectious mononucleosis-like syndrome (disorder)" sdtc:valueSet="2.16.840.1.113883.3.464.1<IP_ADDRESS>3" />


AAPT: error: duplicate value for resource 'attr/counterTextColor' with config ''.

Please check ref #97

Same problem (conflict with material library). Please publish an update with different variable names.

fixed in 1.4.5


Remove requirement on incuna-notifcation

We probably shouldn't require this project. We should also consider merging the changes from https://github.com/lehins/lehins-notification

ikkkk


validate that id is always set when creating documents

This is particularly important for the accounts api where you might use 'name' to identify a user instead of 'id'.

alternatively, auto-gen an id if none is provided.


3.21.1:  Batches no longer respect the default number of retries

In 3.21.1, batches no longer respect the default number of retries.
This is related to this commit:
https://github.com/third-soundcode/redisson/commit/d9959f142288b2f1cad3d218047ceb85cd454595
3.21.0  and prior had an issue that retries couldn't be disabled for batch (see sample code below).
The output shows using retries=0, still has 3 retries
May 11, 2023 12:29:32 PM org.redisson.Version logVersion
INFO: Redisson 3.21.0
May 11, 2023 12:29:38 PM org.redisson.connection.pool.ConnectionPool lambda$createConnection$0
INFO: 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
May 11, 2023 12:29:38 PM org.redisson.connection.pool.ConnectionPool lambda$createConnection$0
INFO: 24 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
batch1 (retries=3) failed: org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms) occured after 3 retry attempts, is non-idempotent command: false Check connection with Redis node: <IP_ADDRESS>/<IP_ADDRESS>:6379 for TCP packet drops.  Try to increase nettyThreads and/or timeout settings. Command: null, params: null, channel: [id: 0xcf46f459, L:/<IP_ADDRESS>:58270 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]
batch2 (retries=0) failed: org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms) occured after 3 retry attempts, is non-idempotent command: false Check connection with Redis node: <IP_ADDRESS>/<IP_ADDRESS>:6379 for TCP packet drops.  Try to increase nettyThreads and/or timeout settings. Command: null, params: null, channel: [id: 0x631f3928, L:/<IP_ADDRESS>:58274 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]

In 3.21.1, disabling retries works, but if a value is not specified, the default is no longer used (bug).
May 11, 2023 12:26:38 PM org.redisson.Version logVersion
INFO: Redisson 3.21.1
May 11, 2023 12:26:43 PM org.redisson.connection.pool.ConnectionPool lambda$createConnection$0
INFO: 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
May 11, 2023 12:26:43 PM org.redisson.connection.pool.ConnectionPool lambda$createConnection$0
INFO: 24 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
batch1 (retries=3) failed: org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms) occured after 0 retry attempts, is non-idempotent command: false Check connection with Redis node: <IP_ADDRESS>/<IP_ADDRESS>:6379 for TCP packet drops.  Try to increase nettyThreads and/or timeout settings. Command: null, params: null, channel: [id: 0x5de6dd7c, L:/<IP_ADDRESS>:51314 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]
batch2 (retries=0) failed: org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms) occured after 0 retry attempts, is non-idempotent command: false Check connection with Redis node: <IP_ADDRESS>/<IP_ADDRESS>:6379 for TCP packet drops.  Try to increase nettyThreads and/or timeout settings. Command: null, params: null, channel: [id: 0x9890d9a4, L:/<IP_ADDRESS>:51315 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]

bug is probably in these lines; The code needs to check if retryAttempts is -1, and use the default, instead of  checking for 0.
Also I noticed getRetryInterval is assigned to retryAttempts.
long retryAttempts = this.options.getRetryInterval(); /// ->getRetryInterval is assigned to retryAttempts
https://github.com/redisson/redisson/blob/7c57c1ec697942bd980e6d9e9cd038562f908ca1/redisson/src/main/java/org/redisson/command/CommandBatchService.java#L496
https://github.com/redisson/redisson/blob/7c57c1ec697942bd980e6d9e9cd038562f908ca1/redisson/src/main/java/org/redisson/command/CommandBatchService.java#L458
import org.redisson.Redisson;
import org.redisson.api.BatchOptions;
import org.redisson.api.RBatch;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;

public class BatchRetriesTest {
	public static void main(String[] args) throws InterruptedException {
		Config config = new Config();
		config.useSingleServer().setAddress("redis://<IP_ADDRESS>:6379").setRetryAttempts(3);
		RedissonClient client = Redisson.create(config);
		for (int i=0;i<1000;i++) {
			try {
				RBatch batch1 = client.createBatch( BatchOptions.defaults());
				batch1.getBucket("batch1").setAsync("value");
				batch1.execute();
			} catch ( Exception e) {
				System.out.println("batch1 (retries=3) failed: " +  e );
			}
			try {
				RBatch batch2 = client.createBatch( BatchOptions.defaults().retryAttempts(0));
				batch2.getBucket("batch2").setAsync("value");
				batch2.execute();
			} catch ( Exception e) {
				System.out.println("batch2 (retries=0) failed: " +  e );
			}
			Thread.sleep(1000);
		}
	}
}

Thanks for pointing out! Yeah there are two issues. Fixed.

Thank you @mrniko  for the quick turnaround

Hi @mrniko,
Could you check the 3.21.2 code? It appears it's still not working
https://github.com/redisson/redisson/blob/6759ccafebaf40f20cbc011d600e37a2e5f8da30/redisson/src/main/java/org/redisson/command/CommandBatchService.java#L409
This code:
.retryAttempts(Math.max(0, this.options.getRetryAttempts() - attempt.get()))
this.options.getRetryAttempts() returns the original -1 (use default) but it should be using this.retryAttempts
This line has the same problem:
.retryInterval(this.options.getRetryInterval(), TimeUnit.MILLISECONDS);


Update retry strategy, copied from OpenAI's embedding utils

My app uses gpt_index and during debugging I noticed that the get_embedding function retries too many times. Although I could workaround in other ways, but I want to use gpt_index more, I propose this simple modification to optimize it.

yes, it would be better

@jerryjliu Can I add user-defined retries? In some scenarios, six times is also a little too much.


Uncaught exception when running virtualization example program

With master, if I run the linux virtualization example without setting any of the required env vars, I'm getting this failure:
% ./virtualization
2022-09-08 12:11:46.146 virtualization[37825:952616] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[VZLinuxBootLoader initWithKernelURL:]: The URL (null) is not a file URL'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001891711a8 __exceptionPreprocess + 240
	1   libobjc.A.dylib                     0x0000000188ebbe04 objc_exception_throw + 60
	2   CoreFoundation                      0x0000000189170ff4 +[NSException exceptionWithName:reason:userInfo:] + 0
	3   Virtualization                      0x00000001ef375478 _ZN2Vz32raise_invalid_argument_exceptionEP11objc_objectP13objc_selectorP8NSStringz + 176
	4   Virtualization                      0x00000001ef2b963c _ZN2Vz20validate_is_file_urlEP5NSURLP11objc_objectP13objc_selector + 96
	5   Virtualization                      0x00000001ef33b8e8 -[VZLinuxBootLoader initWithKernelURL:] + 56
	6   virtualization                      0x00000001041a59d8 newVZLinuxBootLoader + 104
	7   virtualization                      0x00000001041a40a0 _cgo_16e5e8d7eb11_Cfunc_newVZLinuxBootLoader + 36
	8   virtualization                      0x00000001040f48ec runtime.asmcgocall.abi0 + 124
)
libc++abi: terminating with uncaught exception of type NSException
SIGABRT: abort
PC=0x188feed98 m=0 sigcode=0
signal arrived during cgo execution

VZLinuxBootLoader initWithKernelURL throws an exception because we pass it a null/empty URL, but nothing is catching this exception, so the application gets killed. It would be a lot nicer if calling VZLinuxBootLoader initWithKernelURL with invalid arguments would return a regular go error.

@cfergeau Thanks for your reporting!
Exactly, we should handle them

Maybe it's possible to get other exceptions from these methods? The current fix avoids 'file not found' exceptions. There will still be crashes if an exception is raised for another reason.


WIP_User account verification level

As a site security officer, in order to ensure only appropriate and verified users have access to sensitive information (PII and CUI), I would like the system to provide correct verification level request to login.gov upon user login.
Acceptance criteria:

[ ] A user logging in to submit their solutions with public solver role require IAL1 account authentication
[ ] A user logging in to create/manage a challenge and/or create/manage evaluation with a challenge manager role require IAL2 identify authentication
[ ] A user logging in to evaluate a submission with an evaluator role require IAL2 identify authentication

Before starting this story:

Verify current login.gov integration, does the platform require IAL2 level verification for non gov non mil accounts?


Set siblings for server clones properly.

CLA problems... but I'd also like to know what problem this is solving?
Maybe some explanatory text in the code to say how the siblings are supposed to be arranged?

LGTM

I need a core gRPC team member to merge this.

For Jenkins: test this please


Should a non-symbol Expr be callable?

A symbol like f can be called like f(0), using this code: https://github.com/aimacode/aima-python/blob/master/utils.py#L397
But that code allows weird uses like (a+b)(1) meaning Expr('+', 1). Probably this should raise an error instead when self.args is nonempty, as in this case.
(I'd go ahead and make this change without discussion except that I'm not set up to run any of the tests in iPython notebooks.)

I agree. There might be some complex math where you want to do that, but mostly you don't want to. And in particular, if someone translates the math expression (x + 1) (x - 1) verbatim into Python, rather than into (x + 1) * (x - 1), then we'd rather have it give an error than to be a function call. I'll fix it.


Only inherits some of the theme making fonts blurry

I got NEON theme installed and exported a journal page
This is what it looks in Logseq:

This is what it looks on pdf:

Notice how the Headings are blurry, background color is not there.
Also bold is not working:

Try the new 4th option called print with retained formatting :)


在react native项目中升级为web版本的时候报错

D:>react-web init mobile_new
prompt: Directory mobile_new already exists. Continue?:  (no) y
This will walk you through creating a new React Web project in D:\mobile_new
Installing react-web package from npm...
Setting up new React Web app in D:\mobile_new
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn npm ENOENT
at exports._errnoException (util.js:870:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)

@791060555 , this issue was fixed in #174


Store Apollon Diagrams per course

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Server: I added multiple integration tests (Spring) related to the features
[x] Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Server: I documented the Java code using JavaDoc style.
[x] Client: I added multiple integration tests (Jest) related to the features
[x] Client: I added authorities to all new routes and check the course groups for displaying navigation elements (links, buttons)
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into German and English

Motivation and Context

https://github.com/ls1intum/Artemis/issues/1250
Description
Apollon Diagrams now have a course assigned to them and only the diagrams that are part of the course will show up when looking for the diagrams in a course.
Steps for Testing

Log in to Artemis
Navigate to Course Management
Navigate to Exercises
Click on Create Drag and Drop Model Quiz
Create diagrams in different courses and see if they are visible in courses other than the one they were created in. They shouldn't be visible.

Screenshots

If you click on Open, please make sure that you are still in the course context and that only instructors / tutors of the same can navigate into this (this includes all REST calls to the server, please use "isAtLeastTutorInCourse()").
Generate Quiz Exercise does not need the course selection any more

What is the status of this PR?


tf.vectorized_map fails on ragged tensors

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 21.04
TensorFlow installed from (source or binary): pip install tensorflow==2.6.0
TensorFlow version (use command below): 2.6.0
Python version: 3.9
CUDA/cuDNN version: 11.4
GPU model and memory: 2080ti

Describe the current behavior
tf.vectorized_map fails on RaggedTensor
Describe the expected behavior
tf.vectorized_map succeeds on RaggedTensor
Standalone code to reproduce the issue
import tensorflow as tf

tf.__version__ # 2.6.0

A1 = tf.constant([[1,3], [1,5]], dtype=tf.float32)

b1 = tf.constant([3,4], shape = (2,1), dtype=tf.float32)

tf.linalg.lstsq(A1,b1) # SUCCEEDS, single task

A2 = tf.constant([[1,3], [1,4], [1,5]], dtype=tf.float32)

b2 = tf.constant([2,3,4], shape = (3,1), dtype=tf.float32)

tf.linalg.lstsq(A2,b2) # SUCCEEDS, single task

A1A1 = tf.stack([A1,A1])

b1b1 = tf.stack([b1,b1])

tf.linalg.lstsq(A1A1, b1b1) # SUCCEEDS, parallel task

A1A1ragged = tf.ragged.stack([A1,A1])

tf.linalg.lstsq(A1A1ragged, b1b1) # FAILS TypeError: object of type 'RaggedTensor' has no len()

@tf.function
def least_squares(task):
    A, b = task
    return tf.linalg.lstsq(A.to_tensor(), b)

tf.stack([least_squares(task) for task in zip(A1A1ragged, b1b1)]) # SUCCEEDS, serial task

tf.map_fn(least_squares, (A1A1ragged, b1b1), dtype = tf.float32) # SUCCEEDS, possible but not guaranteed parallel task

tf.vectorized_map(least_squares, (A1A1ragged, b1b1))  # FAILED, ValueError: Received a shape scalar with unknown static value

A1A2ragged = tf.ragged.stack([A1,A2])

b1b2 = tf.ragged.stack([b1,b2])

@tf.function
def least_squares_ragged(task):
    A, b = task
    return tf.linalg.lstsq(A.to_tensor(), b.to_tensor())

tf.ragged.stack([least_squares_ragged(task) for task in zip(A1A2ragged, b1b2)])  # SUCCEED, but serial

tf.map_fn(least_squares_ragged, (A1A2ragged, b1b2), dtype = tf.float32) # SUCCEED,not guaranteed parallel

tf.vectorized_map(least_squares_ragged, (A1A2ragged, b1b2)) # FAIL  ValueError: Received a shape scalar with unknown static value

Hi @sanatmpa1 ,Could you please look at this issue , providing gist for reference.

/cc @ishark

Acknowledged. Have added it to backlog of bugs to investigate for pfor support. There is a generic required support to be added for Composite Tensors.

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


BREAKING CHANGE: do not terminate pods that tolerate disruption taint for nodeclaims

Fixes #N/A
Description
This ensures that pods on nodes with NodeClaims that tolerate the karpenter.sh/disruption taint aren't deleted, since they would reschedule.
If users want their pods to not be terminated, they can add a toleration for the karpenter.sh/disruption:NoSchedule=disrupting taint.
This also adds in test duplication for NodeClaims and Machines for termination.
How was this change tested?
make presubmit
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

51 of 53 (96.23%)  changed or added relevant lines in 3 files are covered.
7 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.02%) to 82.423%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controllers/node/termination/controller.go
1
2
50.0%

pkg/controllers/node/termination/terminator/terminator.go
47
48
97.92%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/node/termination/terminator/terminator.go
1
95.45%

pkg/controllers/provisioning/scheduling/topology.go
2
86.49%

pkg/controllers/provisioning/scheduling/topologygroup.go
2
96.75%

pkg/test/cachesyncingclient.go
2
80.21%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
9261

Relevant Lines:
11236

💛  - Coveralls


when is new update gonna be?

When is the new update gonna be?

In a few days when everything is done.


Adds a ViewModel to Search

SearchDataManager to be improved in another PR

Updated. Ready for another check.

Thanks 👍 the first part of this article helped me understand that binds is a shorthand (or has the effect of being a shorthand) for a producer function that returns the single parameter (I guess it wouldn't work if an @Binds annotated function had multiple parameters, or if it didn't have a return type).
it covers also that binds requires an abstract class (I guess it's generating the implementation) while provides functions must be static (hence moving the provides to a companion object). In a Kotlin object, I think you explained in that other pr I linked, that although functions in a Kotlin object are technically instance methods, the Java code that's generated will be static?

Thanks @ataulm and @hzsweers for reviews!


Migrate the xdg_directories package to null safety.

Internal bug: http://b/177908022
This package blocks the null safety migration of the path_provider plugin. I would like to migrate xdg_directories to null safety.

This was fixed by the PR above, and has been published as a prerelease.

This was fixed by the PR above, and has been published as a prerelease.


stephan liveria podcast

I added episode 48 and episode 52

I didn't review every file but from what I did see, there needs to be further corrections before this is ready for merging.
* Make sure filename just have alphanumeric characters

* I think you can remove the header that's been added to the top of each transcript. It isn't adding any context.

* The speakers need to be reviewed for accuracy

I checked all files two times.
I removed all the headers.


Client SDK: Implement verifyPaymentSignature and verifyStakeDelegationSignature

Currently WIP.

Adds the functionality for verifyPaymentSignature and verifyStakeDelegationSignature to the Client SDK.
Added tests for the newly implemented features.

!approved-for-mainnet

the names look fine to me

!approved-for-mainnet


Release v1.9.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.563%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
960

Relevant Lines:
974

💛  - Coveralls


Power on of RM3 Mini requres adapter restart with V2.0.2

I have RM3 Mini connected on Power Supply with TV. TV and RM3 Mini are turned on/off with smart WLAN Plug.
When RM3 is powererd off then there are warnings in log as documented in adapter docu (fine with me).
Whe RM3 is powered on, then it won't work until the adapter is restarted. With the previous adapter version the adapter worked fined with the RM3 Mini powering on.
Logged error messages after power on:
2019-11-20 18:05:25.718  - warn:  broadlink2.0 (2100) stateChange error invalid id type:  RM:RM3-xx-xx-xx.L.sat_ChannelDn=RM:RM3-xx-xx-xx { val: true,ack:  false,ts:<PHONE_NUMBER>698,q: 0,from: 'system.adapter.javascript.0',user:  'system.user.admin',lc:<PHONE_NUMBER>111 }
2019-11-20 18:05:25.737  - warn:  broadlink2.0 (2100) Error in StateChange for  broadlink2.0.RM:RM3-xx-xx-xx.L.sat_ChannelDn = 'stateChange error  invalid id type: RM:RM3-xx-xx-xx.L.sat_ChannelDn=RM:RM3-xx-xx-xx { val:  true,ack: false,ts:<PHONE_NUMBER>698,q: 0,from:  \'system.adapter.javascript.0\',user: \'system.user.admin\',lc:<PHONE_NUMBER>111 }
This is reproducible.

Same problem?
(https://github.com/frankjoke/ioBroker.broadlink2/issues/68)

I don't get any log entry after "NewDeviceScan" operation. My ioBroker won't hang.
If the deviced was detected as offline and is powered on, then a "NewDeviceScan" makes the device work properly again.
If this is a workaraound, it's fine with me as I can trigger NewDeviceScan each time the plug is powered.
Still like to know if this is a bug or a feature.

Still strange things happening:

broadlink2.0
2019-11-20 18:56:52.765
info
(8080) Discover Broadlink devices for 10sec on broadlink2.0

broadlink2.0
2019-11-20 18:56:52.760
info
(8080) UDP socket listening on <IP_ADDRESS>:15001

broadlink2.0
2019-11-20 18:56:52.743
info
(8080) Devices to rename:

broadlink2.0
2019-11-20 18:56:52.741
info
(8080) Devices to add:

broadlink2.0
2019-11-20 18:56:52.734
info
(8080) broadlink2 initialization started...

broadlink2.0
2019-11-20 18:56:52.358
info
(8080) starting. Version 2.0.2 in /opt/iobroker/node_modules/iobroker.broadlink2, node: v10.17.0

host.PI2
2019-11-20 18:56:47.508
info
instance system.adapter.broadlink2.0 started with pid 8080

host.PI2
2019-11-20 18:56:17.474
info
Restart adapter system.adapter.broadlink2.0 because enabled

host.PI2
2019-11-20 18:56:17.473
info
instance system.adapter.broadlink2.0 terminated with code 0 (NO_ERROR)

host.PI2
2019-11-20 18:56:17.472
error
Caught by controller[0]:     at Timer.processTimers (timers.js:223:10)

host.PI2
2019-11-20 18:56:17.472
error
Caught by controller[0]:     at listOnTimeout (timers.js:263:5)

host.PI2
2019-11-20 18:56:17.471
error
Caught by controller[0]:     at tryOnTimeout (timers.js:300:5)

host.PI2
2019-11-20 18:56:17.471
error
Caught by controller[0]:     at ontimeout (timers.js:438:13)

host.PI2
2019-11-20 18:56:17.470
error
Caught  by controller[0]:     at Timeout.setTimeout [as _onTimeout]  (/opt/iobroker/node_modules/iobroker.broadlink2/node_modules/@apollon/frankjoke-myadapter/myAdapter.js:387:21)

host.PI2
2019-11-20 18:56:17.469
error
Caught by controller[0]:     at A.stateChange (/opt/iobroker/node_modules/iobroker.broadlink2/broadlink2.js:189:23)

host.PI2
2019-11-20 18:56:17.466
error
Caught by controller[0]: TypeError: Cannot read property 'slice' of undefined

broadlink2.0
2019-11-20 18:56:16.899
info
(7004) Terminated (NO_ERROR): Without reason

broadlink2.0
2019-11-20 18:56:16.896
info
(7004) terminating

It crashes the when sending a command to a device, that is not properly detected online/offline.
A NewDeviceScan 5s after power on seems to work.
I wonder if I should better automatically restat the broadlink adapter on power on of a device?

Newest version 2.0.9 on git should resolve such issues!