Mathematical exercises in Identity chapter

The Identity chapter contains some back-of-the-envelope mathematical illustrations that could be both substantively improved and illustrated/explained more effectively.

 Gov4Git notices
On Friday, 01-Mar-24 00:00:22 UTC by Gov4Git dev
Notice yoj7g2
Started managing this issue as Gov4Git concern 88 with initial priority score of 0.000000.
This project is managed by Gov4Git, a decentralized governance system for collaborative git projects.
To participate in governance, install the Gov4Git desktop app.
Notice buusfr
This issue's priority score is now 0.000000.
The cost of priority is 0.000000.
The projected bounty is now 0.000000.
Notice mclikd
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Friday, 01-Mar-24 21:15:54 UTC by Gov4Git dev
Notice dku5wx
This issue's priority score is now 300.000000.
The cost of priority is 90000.000000.
The projected bounty is now 600.000000.
Notice zssjru
The set of eligible proposals claiming this issue is empty.

This section? I could not understand the explanation.

The polycentric approach tries to manage this problem by limiting the number of players. While this obviously limits pluralism some, it is not a major problem as long as participants maintain a reasonable diversity of affiliations. Suppose, for example, that we have a population of 10 billion, each person maintains 100 relationships with potentially verifying institutions (e.g. governments, churches, employers etc.). Suppose that to have a reasonable chance for verification to work, any two people meeting must share at least 5 overlapping memberships. If memberships are randomly distributed, 300 verifiers could co-exist and still allow the chance that verification fails for any random pair of individuals to be one in several million. Of course, individuals who meet are rarely random nor do they form their affiliations randomly, nor are 5 overlapping memberships likely to be absolute necessary for most interactions especially among people meeting randomly. All of these suggest many more verifiers could thrive in such an environment of plural memberships.

Yet this number would clearly be far smaller than the population size, perhaps around 100,000, the number with the property that it goes into 10 billion 100,000 times. This would be vastly more pluralistic than our current identity landscape, allowing a far better trade-off between autonomy/control and funcitonality/security. But is even more possible?

 Gov4Git notices
On Wednesday, 27-Mar-24 15:30:05 UTC by Gov4Git dev
Notice k74uil
This issue's priority score is now 310.000000.
The cost of priority is 90100.000000.
The projected bounty is now 620.000000.
Notice h7t64g
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Wednesday, 27-Mar-24 15:41:01 UTC by Gov4Git dev
Notice n26yse
This issue's priority score is now 310.000000.
The cost of priority is 90100.000000.
The projected bounty is now 620.000000.
Notice n3l4v4
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Thursday, 09-May-24 16:41:32 UTC by Gov4Git dev
Notice 7t6sqq
This issue's priority score is now 308.000000.
The cost of priority is 90064.000000.
The projected bounty is now 616.000000.
Notice aec3e4
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Wednesday, 09-Oct-24 03:32:10 UTC by Gov4Git dev
Notice 367us7
This issue's priority score is now 312.000000.
The cost of priority is 90080.000000.
The projected bounty is now 624.000000.
Notice m2facn
The set of eligible proposals claiming this issue is empty.


Test if new literature release is missing publications

There's a well funded assumption that the new incrementally released EPMC data does not cover all publications. We need to identify examples that we are certain that were not covered in the release so the EPMC team can work against it.
As a start we'll work on the processed dataset generated by the literature etl: gs://open-targets-data-releases/22.11/output/etl/parquet/
Also once we are certain, I'll go back to verify to EPMC output: gs://otar025-epmc/

I was reviewing #2685, so I have a few examples of missing PMIDs that might be useful. The total number is around 860k:
+--------+
|    pmid|
+--------+
|29297679|
|13664338|
|30700998|
|25191313|
|31908995|
|25503845|
|29540403|
|30979036|
|29518970|
|33653743|
|28643048|
|21691589|
|12494726|
| 4151190|
|28875950|
|30941058|
| 4334754|
|30410073|
|20537126|
|29768257|
+--------+

The full list is here: gs://ot-team/irene/missing_pmid_2852
Code to reproduce:
# Prod co-occurrences
cooc = spark.read.parquet('gs://open-targets-data-releases/22.11/output/literature-etl/parquet/cooccurrences/')

# Potential new co-occurrences
full_text = spark.read.json('gs://otar025-epmc/Full-text/2022_03_23')
abstract = spark.read.json('gs://otar025-epmc/Abstracts/2022_05_27')

new_pipeline_abstract_ids = abstract.select(f.explode("sentences.co-occurrence").alias("s"), "pmid").filter(f.col("s").isNotNull()).select("pmid").distinct().persist()
new_pipeline_ft_ids = full_text.select(f.explode("sentences.co-occurrence").alias("s"), "pmid").filter(f.col("s").isNotNull()).select("pmid").distinct().persist()
new_pipeline_ids = new_pipeline_ft_ids.unionByName(new_pipeline_abstract_ids, allowMissingColumns=True).persist()

# Missing pmids
missing = cooc.select("pmid").join(new_pipeline_ids, on=["pmid"], how="left_anti").distinct().persist()

When looking into the post-etl matches dataset (gs://open-targets-pre-data-releases/230123_literature/output/matches/) and investigate the distribution of ingested publications per month, we see a more or less even distribution until August 2022, then there's a drop:

This plot suggests there's something happened after the daily submission was put in place. Also the outliers probably can explained by papers with no full date annotations, in such cases the date falls back the January 1st. We could think some of the entities are not properly recognized, so I stratified the matches by entity types and plot their distribution across months:

Given the evenly distributed entity types, we can conclude the model itself works just fine.
To aid the troubleshooting I looked up specific cases that were missing from our datasets. I choose the example EGFR given it is consistently studied target, should be easy to find missing publications. When looking into our data, in 2022 there were 9k publications where EGFR was identified, however EuroPMC had 34k for the same period. Some of the publications that were missing:
Missing publications:

pmid: 36430903: Morusin Protected Ruminal Epithelial Cells against Lipopolysaccharide-Induced Inflammation through Inhibiting EGFR-AKT/NF-κB Signaling and Improving Barrier Functions. 20 Nov 2022 full text: True
pmid: 36318382: EGFR as a potent CAR T target in triple negative breast cancer brain metastases. 01 Nov 2022 full text: False
pmid: 36272856: Management of EGFR mutated non-small cell lung carcinoma patients. 20 Oct 2022 full text: False

So it seems there are missing publications from both the full text and abstract only pile as well.

Thank you @DSuveges, for the analysis. I will check on our end.

@tsantosh7 Could you please also take a look at the examples provided in #2692 ? A user reported problems with the data before the daily pipeline was set up which I think are also relevant in this context. Thanks!

Hi @ireneisdoomed I will go through the logs and comment on this thread in a couple of days.

👋 just curious if there's any updates to this issue, especially in the context of https://github.com/opentargets/issues/issues/2692?

👋 just curious if there's any updates to this issue, especially in the context of #2692?

A huge effort went into reviewing and updating the literature entity recognition and pipelines. The new data will be out with the 2023.06 release. Although we are not quite there yet, but it seems the existing literature related issues are going to be fixed.

@DSuveges amazing news! Thank you so much for the update!

After a thorough check it was appeared that the silent failures of data processing jobs caused the most prevalent source of missing publications. The notable publications ('36430903', '36318382', '36272856') highlighted in this comment were all present in the new dataset:
Articles in the pre-etl dataset:
+--------+-----+----------+-----------+----------+--------+
|    pmid|pmcid|   pubdate|match_count|cooc_count|   input|
+--------+-----+----------+-----------+----------+--------+
|36318382| null|2022-11-01|        116|        64|abstract|
|36430903| null|2022-11-20|         96|        12|abstract|
|36272856| null|2022-10-19|         16|        10|abstract|
|36272856| null|2022-10-20|         64|        40|abstract|
+--------+-----+----------+-----------+----------+--------+

Articles in the post-etl dataset:
+--------+----------+-----+
|    pmid|   pubDate|count|
+--------+----------+-----+
|36430903|2022-11-01|  240|
|36318382|2022-11-01|   23|
|36272856|2022-10-20|   15|
+--------+----------+-----+

Matches in the title post-etl dataset:
+--------+----------+-------+--------------------+--------------------+---------------+----+
|    pmid|     pmcid|section|               label|              labelN|      keywordId|type|
+--------+----------+-------+--------------------+--------------------+---------------+----+
|36318382|      null|  title|triple negative b...|breastcancernegtripl|    EFO_0005537|  DS|
|36430903|PMC9695078|  title|                EGFR|                egfr|ENSG00000146648|  GP|
|36318382|      null|  title|                EGFR|                egfr|ENSG00000146648|  GP|
|36430903|PMC9695078|  title|               NF-κB|                nfkb|ENSG00000109320|  GP|
|36272856|      null|  title|non-small cell lu...|carcinomacelllung...|    EFO_0003060|  DS|
|36272856|      null|  title|                EGFR|                egfr|ENSG00000146648|  GP|
|36430903|PMC9695078|  title|                 AKT|                 akt|ENSG00000142208|  GP|
+--------+----------+-------+--------------------+--------------------+---------------+----+

When all publications with existing normalized matches were compared we see this:
+-------+--------+
|overlap|   count|
+-------+--------+
|    new| 4_179_869|
|   both|10531518|
|    old| 2_885_964|
+-------+--------+

Although in the new dataset we have a ~4M extra publication, we also lose ~3M publications that were found in the old, but not in the new dataset. Interestingly, in the number of normalized matches, there's only a modest 6% increase from 420M to 445M.

This is not an issue anymore.


cache hash(local_node_id)

added logic for caching hash(local-node-id) and test for src_id method. this was done to avoid hash calc that happens when a client is repeatedly sent RandomPackets 👀
resolves #32
@AgeManning lmk if i need to change anything or if you want more context

Note, that there is a filter (in the recv side of the socket) that limits incoming packets so we shouldn't able to be flooded with packets at this layer.

@AgeManning ya I definitely noticed a difference in this implementation vs others based on this.  I've been meaning to get your thoughts on rate limiting.  I'll ping u on tg.


Add scaling options

The primitives right now just produce a primitive that is close to a unit vector. The original idea was that people would scale the primitives using the .vertex() trait. There are a few cases where I don't think this is satisfactory. The cone primitive for example has different normals based on these values, so for the sake of our uses we should add them.

Indeed, the addition of normals makes this point strong. We could also adjust the UVs. E.g. a cube with sizes (5, 1, 1) should have more UV space alongside X axis.


response parser for ArceeRetriever

Description: Response parser for arcee retriever,
Issue: follow-up pr on #11578 and discussion,
Dependencies: NA

This pr implements a parser for the response from ArceeRetreiver to convert to langchain Document. This closes the loop of generation and retrieval for Arcee DALMs in langchain.
The reference for the response parser is api-docs:retrieve
Attaching screenshot of working implementation:

*api key deleted

Successful tests, lints, etc.
Re-run pytest with --snapshot-update to delete unused snapshots.
==================================================================================================================== slowest 5 durations =====================================================================================================================
1.56s call     tests/unit_tests/schema/runnable/test_runnable.py::test_retrying
0.63s call     tests/unit_tests/schema/runnable/test_runnable.py::test_map_astream
0.33s call     tests/unit_tests/schema/runnable/test_runnable.py::test_map_stream_iterator_input
0.30s call     tests/unit_tests/schema/runnable/test_runnable.py::test_map_astream_iterator_input
0.20s call     tests/unit_tests/indexes/test_indexing.py::test_cleanup_with_different_batchsize
======================================================================================================= 1265 passed, 270 skipped, 32 warnings in 6.55s =======================================================================================================
[ "." = "" ] || poetry run black .
All done! ✨ 🍰 ✨
1871 files left unchanged.
[ "." = "" ] || poetry run ruff --select I --fix .
./scripts/check_pydantic.sh .
./scripts/check_imports.sh
poetry run ruff .
[ "." = "" ] || poetry run black . --check
All done! ✨ 🍰 ✨
1871 files would be left unchanged.
[ "." = "" ] || poetry run mypy .
Success: no issues found in 1868 source files
poetry run codespell --toml pyproject.toml
poetry run codespell --toml pyproject.toml -w

thanks @EricLiclair!


Broken MkDocs code annotation

Navigate to:
https://mkdocstrings.github.io/recipes/#bind-pages-to-sections-themselves
Note the unrendered #2 and #3 (probably a copy-paste oversight):

Reported upstream:

https://github.com/mkdocstrings/mkdocstrings/issues/418

Nice catch, thanks :slightly_smiling_face:


Add any needed support for sin/cos/tan and asin/acos/atan

At first simply use and test the stock routine(s) for sin/cos/tan. It remains to be seen if asin/acos/atan need special treatment. Pay particular attention to the arccosine function since boost::math::constants historically derives the constant pi from the backend number type's implementation of arccosine(-1).

This issue is intended for the cpp_double_float backend only.


GlyphLayout unexpected whitespace omitted

Hello,
I will try to explain what I'm trying to do and what is the problem here.
If you don't consider this as a bug, then please explain how to overcome this behavior of GlyphLayout.
I'm working on the 3D framework for TV platforms, than uses Libgdx underneath it.
I'm trying to create 3D input field widget. It is basicallly a decal with texture that I've prepared in runtime while drawing BitmapFont into FBO.
I noticed a problem that GlyphLayout omitts multiple whitespaces, and then my text isn't rendering correctly.
Also it omitts white spaces in the end and start of the run.
This is the problem for me because when I try to calculate position of the cursor in the input field...
String that should be rendered and the count of Glyphs in GlyphLayout is not the same.
Some of whitespaces are omitted during wrap, and those two are not in sync anymore.
I sync the cursor index manually, RIGHT key (cursorIndex++), LEFT key (cursorIndex--).
So when I try to put cursor in the next line...the index of selected character in the string is not the same as the index of glyph in glyph layout...and I miss the correct position of where cursor should be.
I have a workaround for it, but I'm not sure if this is the right way to do...
In the GlyphLayout class in wrap method, when I do this everything looks good in my usecase:
// Determine index where first run ends, ignoring whitespace before the wrap index.
int endIndex = wrapIndex;
//for (; endIndex > 0; endIndex--)
//	if (!fontData.isWhitespace((char)first.glyphs.get(endIndex - 1).id)) break;
// Determine index where second run starts, ignoring whitespace after the wrap index.
int startIndex = wrapIndex;
//for (; startIndex < glyphCount; startIndex++)
//if (!fontData.isWhitespace((char)first.glyphs.get(startIndex).id)) break;
So basically I prevented the white space omittment, and everything draws correct if I have multiple whitespaces together, also the number of characters in String and the number of glyphs in GlyphLayout is the same, and caluclation of cursor position is correct.
Is the the right way to achieve this?
If this is the only way...I can send a pull request that changes the visibility of this method from private to protected, and I can override this behaviour.
What do you think about this?

Please show the problem with an SSCCE.

Here you go.
Either way string lenght is 25, if text is wrapped on white space, number of glyphs will be reduced, and not be in sync with the given string.
In this use case string lenght is 25, glyphCount is 20.
Is this correct behavior?
public class GlyphLayoutWhitespaceTest  extends GdxTest {
private GlyphLayout layout;
private String text = "0123456789<PHONE_NUMBER>";
private int width = 20;
private BitmapFont font;

@Override
public void create () {

	font = new BitmapFont();
	layout = new GlyphLayout(font, text, Color.WHITE, width, Align.left, true);

	int glyphCount = 0;
	for(GlyphRun run : layout.runs){
			glyphCount+= run.glyphs.size;
	}

	System.out.println("STRING LENGHT " + text.length() + " GLYPHS " + glyphCount);

}

}

The number of glyphs doesn't need to match the text. This is the point of shaping, which is converting characters into glyphs for rendering.

Ok, I understand that. Thats why I asked is there a way to make workaround that.
I have looked in the TextArea.java and TextField.java...but having troubles understand what is really going on...it is lacking out of comments.
Besides that, I noticed that when I type in my text field (I append new char to existing string, and ask bitmap font to draw it)...When the new line is wrapped on whitespace (new line is beginning with white space)...it will not draw the following multiple whitespaces.
I think that this may be a side effect of omitting multiple whitespaces.
It would be nice if you can give me some instructions and advices how to achieve this.
Basically I'm reinventing the wheel here, with the TextField.java but drawing it's content to texture and applying it to decal.

What would it draw for whitespace? Whitespace is nothing.
You are writing a new TextField? Copy/paste TextField and make it do what you want, or use TextField as a reference. Each GlyphRun has xAdvances, see javadoc for that field and how TextField uses it.


Update style.css

For a more modern style
FYI: The render button turns green when there has been a file upploaded
Whole page, sections are collapsible

Progress Bar:

Thanks for your pull request @Its4Nik.
Although the updated design brings a more modern approach, my preference is to keep the current simple version. I felt the same way about PRs https://github.com/dstein64/gifcast/pull/4 and https://github.com/dstein64/gifcast/pull/10.

Thanks for your pull request @Its4Nik.
Although the updated design brings a more modern approach, my preference is to keep the current simple version. I felt the same way about PRs https://github.com/dstein64/gifcast/pull/4 and https://github.com/dstein64/gifcast/pull/10.

Okay i see, then i am going to use that for my selfhosted instance.
Thank you tho!


Issues generating images

I get this error
Failed to load resource: the server responded with a status of 404 (Not Found) on image command

Fixed by rewriting code ;)

@rossman22590 can you explain in more detail plz? I have the same issue.

ditto @rossman22590

@rossman22590 can you explain in more detail plz? I have the same issue.

for anyone still having issues with this repo - i found someone that forked it and it works! shoutout @SoyZhou
https://github.com/SoyZhou/midjourney-ui


Reworked the front-end, components are now function based, upgraded r…

…eact, add react router dom, made pages, and removed material ui

Clicking refresh causes an error:
Not Found
The requested resource was not found on this server.


vtk-m[cuda] Install Fails

Problem
Running vcpkg install vtk-m[cuda] (triplet set with VCPKG_DEFAULT_TRIPLET=x64-windows) fails to build with Visual Studio 2017.
Environment

OS: Windows 10 Enterprise x64, Build 1909
Compiler: Visual Studio 2017 Community, v15.9.38
Vcpkg version: 2021-08-12-85ab112d5ee102bc6eac8cdbbfdd173a71374e04
CMake version: 3.21.0-rc2

Steps to Reproduce
vcpkg Setup
> cd C:\
> git clone https://github.com/microsoft/vcpkg.git
> cd vcpkg
> bootstrap-vcpkg.bat
> vcpkg integrate install
> git pull
> vcpkg update
> bootstrap-vcpkg.bat
> vcpkg integrate install

Install vtk-m[cuda]
NOTE:
1. Set VCPKG_DEFAULT_TRIPLET=x64-windows in environment variables
> vcpkg install vtk-m[cuda]

Output
Computing installation plan...
The following packages will be built and installed:
    vtk-m[core,cuda]:x64-windows -> 1.5.0#1
Detecting compiler hash for triplet x64-windows...
Could not locate cached archive: C:\Users\hendra11\AppData\Local\vcpkg\archives\8d\8d5ed2a2e4420b67a9018ccf1492f564f9302f0e2b6b11096539c3f124fafd3a.zip
Starting package 1/1: vtk-m:x64-windows
Building package vtk-m[core,cuda]:x64-windows...
-- Feature CUDA forces static build!
-- Downloading https://gitlab.kitware.com/vtk/vtk-m/-/archive/f2aa6ad5be1a97e3fb41ef4680ee2c76c3434ac0/vtk-m-f2aa6ad5be1a97e3fb41ef4680ee2c76c3434ac0.tar.gz -> vtk-vtk-m-f2aa6ad5be1a97e3fb41ef4680ee2c76c3434ac0-1.tar.gz...
-- Cleaning sources at C:/vcpkg/buildtrees/vtk-m/src/76c3434ac0-e768dfe740.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/vcpkg/downloads/vtk-vtk-m-f2aa6ad5be1a97e3fb41ef4680ee2c76c3434ac0-1.tar.gz
-- Using source at C:/vcpkg/buildtrees/vtk-m/src/76c3434ac0-e768dfe740.clean
-- Configuring x64-windows
CMake Warning at scripts/cmake/vcpkg_configure_cmake.cmake:421 (message):
  The following variables are not used in CMakeLists.txt:

      BUILD_TESTING
      VTKm_USE_DEFAULT_TYPES_FOR_VTK

  Please recheck them and remove the unnecessary options from the
  `vcpkg_configure_cmake` call.

  If these options should still be passed for whatever reason, please use the
  `MAYBE_UNUSED_VARIABLES` argument.
Call Stack (most recent call first):
  ports/vtk-m/portfile.cmake:49 (vcpkg_configure_cmake)
  scripts/ports.cmake:140 (include)

-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message):
    Command failed: C:/vcpkg/downloads/tools/cmake-3.21.1-windows/cmake-3.21.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j49
    Working Directory: C:/vcpkg/buildtrees/vtk-m/x64-windows-dbg
    See logs for more information:
      C:\vcpkg\buildtrees\vtk-m\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:104 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:44 (vcpkg_build_cmake)
  ports/vtk-m/portfile.cmake:52 (vcpkg_install_cmake)
  scripts/ports.cmake:140 (include)

Error: Building package vtk-m:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: vtk-m:x64-windows
  Vcpkg version: 2021-08-12-85ab112d5ee102bc6eac8cdbbfdd173a71374e04

Additionally, attach any relevant sections from the log files above.

Expected Behavior
vtk-m[cuda] installs without error
Failure Logs
install-x64-windows-dbg-out.log

Investigation of the output log reveals the same error repeating itself:
C:\vcpkg\buildtrees\vtk-m\src\76c3434ac0-e768dfe740.clean\vtkm/cont/ArrayHandleView.h(114): error #1866: attribute does not apply to any entity

For some reason, installing paraview first then made it so that installing vtk[cuda] was fine. Either that, or it was because I then installed Visual Studio 2019...not sure.

Investigation of the output log reveals the same error repeating itself:

that is not the error. the stdc++14 flag warning is the error. update cuda to 11.4 and it will work

@Neumann-A Thank you. I will try this and report back.
Side Note: I don't see a "required/minimum dependencies" section in the VTKm 1.6 manual. I will create a feature request on the VTKm repo for this and link it here.
VTKmUsersGuide-1-6.pdf

Please see
Feature Request: Add Minimum/Required Dependencies List/Section to User Guide
for status of feature request to add minimum required dependencies to VTKm user guide.

I can confirm that installing CUDA 11.4 solves this issue.


feat: allow users to configure the database and credentials for ensureExists

Hey, I just made a Pull Request!
This PR fixes #15419

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Write some tests to ensure the merging logic, etc. works as expected and help avoid regressions, etc. in the future

No tests existed for ensurePgDatabaseExists and hence I was unsure about adding any. Mainly because I am not 100% aware of the testing setup used and not sure how to test this method which makes a DB call. But if I abstract the merging to a different method, I can write tests for that.

Can this be extended to work with other database providers. I can't see any reason it needs to be PG specific (aside from the specific parts)

I have checked the other DB providers and they seem to be doing their own thing.
Mysql does something like https://github.com/backstage/backstage/blob/af85d98bad67e336328ae71d8f16d94dc0ea2c52/packages/backend-common/src/database/connectors/mysql.ts#L151-L153 and I have no idea if this works or not. And sqlite doesn't even have a similar method as far as I could see. Hence, I want to stick to postgres for this PR.

-Update the docs https://backstage.io/docs/tutorials/configuring-plugin-databases
I will, once the changes get approval. Or if the code changes can't be approved (even provisionally) without changing docs, let me know and I will update them.

Honestly, after thinking for quite a while, I feel like PR might be doing more harm than good. The PR aims to solve the problem of a Postgres DB server not having the postgres DB, like in Digital Ocean ones. Instead of using the additional options proposed in this PR, one can just create the postgres DB in the target DB server and call it a day.
Maybe, instead of this PR, the docs could be updated to mention the gotcha of postgres DB needing to exist.
@andrewthauer What do you think? Should we move ahead with this PR?

I'm feeling that your last comment @SayakMukhopadhyay probably hits the nail on the head.
I'm thinking that it's better to have this requirement to manually create it, and we can document that too as you mentioned, rather than introduce additional complexity and have to maintain that.

In that case, I am closing this PR. I will shortly open another PR for a possible addition to the docs.

Sorry for the delay, I have some thoughts I'd like to clarify on this even given the agreed outcome.
My thinking was that if we introduce more API surface through  a config addition it should be more broadly applicable. Having a separate admin credential to create databases and using a different credentials for per plugin access seems universally applicable. Which is why I didn't think it made sense to add something very specific to your use case that required a config addition that was very narrowly focused.
The other option could have been to modify the ensure exists method to use a non default database defined in the default connection config and setup different credentials for every plugin. This would avoid needing to add a new config surface, but the downside being this would require repeating the credentials for every backend plugin that has a db. The additional admin connection would have solved this.
That all said, if you are happy documenting a workaround that seems appropriate. I do think having more general support for admin credentials would be good from a security and flexibility perspective. But something that can be done later.

@andrewthauer @benjdlambert a big reason why I started thinking negatively about this PR was due to how Ownerships were handled.
RIght now, newly created DBs and schemas are owned by connection.user. This is because right now, the DBs are created using connection.user but using the postgres DB. This, imo, is the preferred outcome.
But when using adminConnection as in this PR, the DBs and schemas are getting owned by adminConnection.user which is not preferred imo. DBs which are owned by adminConnection.user wont give access to connection.user thus defeating the purpose of doing all this.
Can this be worked around? Certainly, we just need to set the owner to connection.user when creating DBs and schemas using the adminConnection.user but that means reworking the SQL calls. This makes me a bit weary as I am not sure of what kind of regressions it would cause.
Hence, I started thinking of closing this PR. If you folks think that the feature is still something that you want to have implemented, then I can certainly reopen this PR. I will need some oversight if I have to work on fiddling with SQL cause I am not aware of all the gotchas this project might have.
Anyway, I will keep the branch and fork alive, so the codebase will be there for the foreseeable future.

@SayakMukhopadhyay - Thanks for the the explanation. Ownership of databases created by an admin user does pose some challenges that would require additional support.

Some managed DBMS don't allow postgres db creation. They just provide a single db with name different from postgres.
Unfortunately, this restriction doesn't allow to use backstage...
Should the issue be reopened?


fix: 🐛 change render position

This PR shows breaking changes in other repos.

Sorry, this was not intended to be a PR in this repo...


#60: reinstate missing copyright

Closes #60.
The approach taken in this PR is inspired by this stack exchange question & answer, and simply adds the original copyright information back in, above the more recent copyright updates.
For reference, here is a link to the original copyright information in the project that this current project was forked from:
https://github.com/benkfra/j1939/blob/master/LICENSE

I'm going to presume that there are no objections to this PR merging through and see if I can go ahead with a merge,


Allowing the ImgPreviewer to allow Elements

Hey!
I have been using this awesome package to work with my project but I have hit a issue which I think would be a great addition to your package.
When passing in paramaters to the ImgPreviewer() it only allows for "selector" right now. I think being able to pass in HTMLElement would make things much easier when dealing with logic around initalising the lightboxes.
My use case:
const lightboxes = $(".lightbox");

if (lightboxes.length > 0) {
  lightboxes.each((index, lightbox) => {
    new ImgPreviewer(lightbox, {
      fillRatio: 0.7,
      imageZoom: {
        step: 1,
      },
      style: {
        modalOpacity: 0.8,
        headerOpacity: 1,
        zIndex: 1,
      },
      bubblingLevel: 1,
      onClose: () => {},

      triggerEvent: "click",
      onShow: () => null,
    });
  });
}

Let me know if this sounds like something you might be interested in!

Sorry for taking so long to reply, I've been too busy lately.
Your idea is great. Now this plug-in does not implement the multi-instance function. The changes in this part are still quite big. I will take the time to look at this part.
If you are interested in implementing this feature, pr is very welcome！


isPrimitive method subtle bug

Hi Juha,
Just watched your Minimum Viable View Library talk, fascinating and amazing that in 2k of Javascript you can out perform major frameworks, brilliant stuff keep up the good work!
Playing with the FRZR code and spotted a subtle bug @ https://github.com/pakastin/frzr/blob/master/src/mount.js#L68
Should be:
return typeof check === 'string' || typeof check === 'number' ||  typeof check === 'boolean';
as
return typeof check === 'string' || check === 'number' || check === 'boolean';
is checking for typeof check === 'string' OR check is a string of 'number' etc
or you can do a lookup say:
var textTypes = { string: 1, number: 1, boolean: 1 }
if (typeof x in textTypes) { ... }
Look forward to more goodness from FRZR
regards,
Jamie

Hi! Great finding! Although I just realized that because of the bug I've been able to use conditionals, like following:
function Login (forgot) {
this.el = el('form',
this.email = el('input, { type: 'email' }),
forgot && this.pass = el('input', { type: 'password' }),
this.submit = el('button', { type: 'submit' }, forgot ? 'Send instructions': 'Login')
});
}
..so I probably drop the support for booleans (which apparently never worked), add for Dates actually (could be useful) and fix for numbers..
I should also add a test case for this. Thanks for contributing and kind words! 👍
Related to #22

Fixed now, thanks for noticing! 😎


[ZEPPELIN-1628] Enable renaming note from the main page

What is this PR for?
Now users can rename a note from the main page! This new feature will improve UX.
I divided ZEPPELIN-1598 into sub-tasks since renaming folder gonna be huge. I will open PR for ZEPPELIN-1629 after merging this PR.
By the way, I have a question! Does a writer can rename a note? Currently, only an owner can rename a note.
What type of PR is it?
[Feature]
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1628
Screenshots (if appropriate)

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@tae-jun Awesome!
I tested this patch but seems it needs to prevent blank title when we rename the note. Please see the below gif img.

@AhyoungRyu Thanks for the quick review!  I will fix it. Please wait 😄

@AhyoungRyu I fixed it! It took some time to improve UX 😄
Now when an input text is not valid, users can't click the button and the modal shows error message

CI is green!

@tae-jun Thanks for your prompt response. The latest change looks good to me 👍

@AhyoungRyu Thanks for the review! :)

Thanks @tae-jun for useful feature contribution.
LGTM and merge to master if there're no further comments.


Add type hints to \Slim\Http\Uri

This PR adds type hints to \Slim\Http\Uri.

Coverage remained the same at 99.275% when pulling aaabf0a6ade502325cb746a0f19e90f1618b3c30 on adriansuter:patch-uri into 473a81173018e19e18c78e31d221e51973a6d199 on slimphp:master.


Can't create SSL certificate

Hello all,
unfortunately I am not able to create a SSL certificate through the Nginx Proxy Manager interface.I try to create it on my main domain.com, but without success. It doesn't matter if I create it via the tab Proxy Hosts (internal error) or SSL Certificate.
Error:

Error: Command failed: certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-5" --agree-tos --authenticator webroot --email<EMAIL_ADDRESS>--preferred-challenges "dns,http" --domains "maindomain.de"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
at ChildProcess.exithandler (child_process.js:308:12)
at ChildProcess.emit (events.js:314:20)
at maybeClose (internal/child_process.js:1022:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)

The data of my server
-fresh installed Ubuntu 18.04
-open ports: 443, 80, 81, 4443, 8080, 8181
-Docker in the latest version
-my maindomain.de points directly to the IP of the server
Thanks and many greetings,
Lucas

I am having this same problem.  I went to renew my certificates with Let's Encrypt when I added a new subdomain (I have the firewall and DNS configured properly) using SWAG, and it failed, and now I cannot get it back up.  I switched to NPM hoping it would resolve my problem, but it just flat out doesn't work either.  Nobody seems to have the answer when using HTTP authentication.  I know my DNS and firewall are configured properly because when I have the proxy hosts configured, they proxy appropriately.  The root of my domain also returns the Congratulations page (when nothing is configured).
I got the same error as @orthl, and the log file shows (which is the same in SWAG):
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
  Domain: mydomain.com
  Type:   connection
  Detail: Fetching http://mydomain.com/.well-known/acme-challenge/OssSOiCsawenBZZ29gfC5GqimXiqrdDNx4olXWt5Y-s: Timeout during connect (likely firewall problem)

Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.

The problem I am having with all certbot users is that the default is to clean up all the files when it's done, even on error and I don't know how to get ahead of that to "test" the connection to confirm access from Let's Encrypt.  I have tried adding a test.html file in the /data/letsencrypt-acme-challenge/ directory to see when I request a certificate if I can reach it, but I get a 404 error.  From what I can tell, the Nginx server remains running the entire time it's requesting a certificate, which means my firewall is likely not directing traffic appropriately for the certificate process because certbot is using a different port (80?) and it's not exposed on the docker, or you are redirecting traffic in Nginx temporarily.  Not really sure what is going on and I am at my wits end on how to troubleshoot.
I am really hoping someone figures out this Let's Encrypt issue using HTTP authentication as I don't have the DNS option (I'm on Google Domains - Not Google Cloud).
By the way, I am running the docker container in Unraid.  I am more than willing to help troubleshoot more, but I don't know what additional things I might need to do.

I am having this same problem. I went to renew my certificates with Let's Encrypt when I added a new subdomain (I have the firewall and DNS configured properly) using SWAG, and it failed, and now I cannot get it back up. I switched to NPM hoping it would resolve my problem, but it just flat out doesn't work either. Nobody seems to have the answer when using HTTP authentication. I know my DNS and firewall are configured properly because when I have the proxy hosts configured, they proxy appropriately. The root of my domain also returns the Congratulations page (when nothing is configured).
I got the same error as @orthl, and the log file shows (which is the same in SWAG):
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
  Domain: mydomain.com
  Type:   connection
  Detail: Fetching http://mydomain.com/.well-known/acme-challenge/OssSOiCsawenBZZ29gfC5GqimXiqrdDNx4olXWt5Y-s: Timeout during connect (likely firewall problem)

Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.

The problem I am having with all certbot users is that the default is to clean up all the files when it's done, even on error and I don't know how to get ahead of that to "test" the connection to confirm access from Let's Encrypt. I have tried adding a test.html file in the /data/letsencrypt-acme-challenge/ directory to see when I request a certificate if I can reach it, but I get a 404 error. From what I can tell, the Nginx server remains running the entire time it's requesting a certificate, which means my firewall is likely not directing traffic appropriately for the certificate process because certbot is using a different port (80?) and it's not exposed on the docker, or you are redirecting traffic in Nginx temporarily. Not really sure what is going on and I am at my wits end on how to troubleshoot.
I am really hoping someone figures out this Let's Encrypt issue using HTTP authentication as I don't have the DNS option (I'm on Google Domains - Not Google Cloud).
By the way, I am running the docker container in Unraid. I am more than willing to help troubleshoot more, but I don't know what additional things I might need to do.

Well, I found out that my ISP (Cox Communications) suddenly started blocking port 80 for some reason after years of it being open (despite web searches indicating its blocked).  That was the reason it was working before but suddenly stopped.  I am now working down the path of converting over to Cloudflare DNS, and so far, this is working as expected.  Thankfully, they aren't blocking 443.  Sure would be nice if they could develop an alternative port to use other than 80.
@orthl you might want to confirm your ISP has port 80 open, as testing from within my network (hairpin NAT is enabled) always showed it working.  Check from outside sources to confirm.


Allow comments in tsconfig referenced in AotPlugin conf

OS?

Windows 10

Versions.

node @ v7.5.0

Repro steps.

This happens in an app that wasn't created using the CLI.

Provide AotPlugin with tsConfigPath
tsconfig.json referenced has comments starting with '//' in it.
AotPlugin throws error due to unexpected token '/'.

MS allows for comments in tsconfig, Would be great if ngtools supported this, too.

@sumitarora This is not for 1.0. Sorry for the mis-assignment. For now let's push this one further down the road.


⚠ ClamAV has degraded performance

In 3dad176, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 196 ms

Resolved: ClamAV performance has improved in 7c88d4d.


 I absolutely love it.
If I can make one suggestion though, I think a trigger based on the display turning on or off -- or more likely, being on or off -- could be very useful. I don't let my desktop go to sleep, as I use it for server tasks and/or need to remote into it frequently from afar, so currently I just lock it and let the screens turn off at night. It would be incredibly useful to me to have this trigger, as I could make it so the RGB in my desktop is only active when I'm sitting at my computer using it, just as one example.
It may be possible, albeit a little hacky, to watch for a process? I'm not sure if there is a process that dies when the screens turn off/on.

This is a good idea. Unfortunately I tried to implement this but I cant find a way to detect user idle time/screensaver from a service.
Unless someone knows a way to do this I think the only way is to write a small app that runs in user space and sends that info to the service via IPC. The IPC trigger would be implemented with #46

Yeah. From my quick googling it seems services are barred form interacting with login sessions, and detecting idle state of the user falls under that umbrella. I found a couple things having the same issue, perhaps there's some insight there?
https://social.msdn.microsoft.com/Forums/vstudio/en-US/4cdb1251-da4b-4693-a58f-841c64c8f8bc/screen-saver-notifications?forum=netfxbcl
https://stackoverflow.com/questions/248186/service-needs-to-detect-if-workstation-is-locked-and-screen-saver-is-active
https://www.codeproject.com/Articles/13384/Getting-the-user-idle-time-with-C
https://stackoverflow.com/a/59400162
Don't know if any of these are helpful or not, cause, at best, it seems it'd have to be done as a workaround basically.
A small program over IPC would work easy enough maybe. Could double as a small GUI for turning off the service, restarting, etc. perhaps. The other suggestion I saw googling was to change the program to run as a background task in task scheduler, but I'm not sure it's as easy to translate a service like that, or what sorts of issues you run into doing it that way. My experience writing C# or windows services is nil.

Unfortunately I tried many things but I think there is no way to get user idle time, or even if the screensaver is running.
Like I said this would be doable with the IPC trigger.
PR is welcome if anyone manages to do this.

Just to update, I merged IPC feature in this build. It should allow you to write a small app that checks for screensaver/display off events in user space and send it to the service using websockets. Should be documented on next release, for now you can check the code to figure out how to enable it and what data to send.

So I know it has been while, but I ran across this project, and am actually using it to control my LG TV. From a Windows service, it;s able to detect idle state, and when the displays are turned off, though I am not sure how. I could dig into it further and figure out exactly how, though I am not much of a Windows programmer.
https://github.com/JPersson77/LGTVCompanion
Food for thought perhaps?


failed to resolve

Failed to resolve: com.github.smarteist:autoimageslider:1.4.0-appcompat
Show in Project Structure dialogShow Details
Affected Modules: app

This library is not available on maven so you only have 2 options

search for some different library that's also available on mavencentral or

add this line in your build.gradle(Project-level), in both the repositories blocks
jcenter()


Refactor assembly.status module

moved part of the functionality to the argument parser to reduce code complexity
added some additional type hints
adjusted documentation

Still a draft until unit tests are provided, but would like to review the code with @ens-LCampbell first.

Thank you @ens-LCampbell 😊 To be completely honest, not sure if what I'm doing with the parsers is the standard or a good practice, but it felt more modular.


chore: make fuel-tx optional to forc-util

Description
closes #4667.
To be more WASM friendly and increase reuseability of forc-util this PR hides fuel-tx related utilities under fuel-tx flag.
Checklist

[x] I have linked to any relevant issues.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[ ] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[ ] I have requested a review from the relevant team or maintainers.

cc @ra0x3, is this in line with what you requested in the issue?


Create Members SDK

Create the initial members sdk - this will be a fairly low level one.
The api it should expose will be like
const Members = require('@ghost/members-sdk');

const members = Members(options); // options can be undefined, for now...

// returns Promise.resolve(true|false) of if they are logged in or not
members.hasSession();

// returns Promise.resolve(token|null) if they are logged in or not
members.getToken();

// returns Promise.resolve(true|false) on whether it worked or not
members.destroySession();

thoughts?

@rishabhgrg @JohnONolan what you think of this?

I think we need this too right?
// returns Promise.resolve(true|false) on whether it worked or not
members.startSession();

Yeah good point


Notification Area disappears when disabling taskbar

Summary
When disabling the taskbar option in Cairo Desktop settings, the notification area is also removed completely from the Menu Bar.  This is despite the notification area being enabled in the Menu Bar settings.
Version:
0.3.6906.0 - Pre-release
Expected behavior:
Notification Area should operate independently of the taskbar.

I actually made an intentional change here to not show the notification area if the taskbar is disabled (but it still needs some follow-up adjustments).
It is disabled for a few reasons:

If the taskbar is disabled, it is assumed the Explorer taskbar is visible, meaning the result would be multiple notification areas.
When the Cairo notification area is enabled, the Explorer one stops receiving updates from applications, meaning they will operate inconsistently. Only allowing one notification area provides a more consistent experience.

However, there are some issues with this change that we need to resolve:

Settings should make this clear.
If Cairo is running as shell, we can't assume the Explorer taskbar is visible, so we should allow the notification area to show in this case.

The two items I mentioned above will be resolved in the next release. The Cairo notification area will still be intentionally hidden when the taskbar is disabled, but only when Explorer is shell.

The above items have been addressed in the latest release.


Bring Procore bugsnag up to date with master.

We have been running a older version on blanquer/bugsnag-ruby. We should use a procore repo + have it up to date.

I think we might be able to move away from having a fork at all.


Bad table column in Azure AD / SCIM document

https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#table-2-default-user-attribute-mapping
The heading of the second column in this table is "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" which would seem to suggest that every attibute in this column is part of the Enterprise User schema extension, which certainly isn't the case.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 271dc426-fb47-7441-d627-ec11f8c7a6ea
Version Independent ID: 4cb8bfc8-4748-e501-425a-e4c2da0f5f5a
Content: Tutorial - Develop a SCIM endpoint for user provisioning to apps from Azure AD
Content Source: articles/active-directory/app-provisioning/use-scim-to-provision-users-and-groups.md
Service: active-directory
Sub-service: app-provisioning
GitHub Login: @kenwith
Microsoft Alias: kenwith

@Andrew-Webb
Thanks for your feedback! We will investigate and update as appropriate.

@Andrew-Webb
Thanks for your feedback! We will investigate and update as appropriate.

I have added this item to our backlog so that it can be prioritized and worked on as appropriate.
#please-close

I have added this item to our backlog so that it can be prioritized and worked on as appropriate.
#please-close


Should we provide better alternative for NFT collection icon if none is available?

When a token icon isn't available for download (i.e it's not in iconassets, OpenSea API and not in our fallback repo), we fall back to the image of the first token the user own. Do we want to provide a better alternative or is this good enough?
Screenshot after #3860 is applied, which supports pulling bigger images from iconassets repo for NFTs.

Somehow this comment comes very handy.
https://github.com/AlphaWallet/alpha-wallet-android/pull/2271#issuecomment-1034029873

@colourfreak refer to #3894. Not directly relevant though. This issue is for when the image isn't available at all.


git to be added to all item names

I don't think this will break any logic....

I'm actually worried at this point to make this change....


Private endpoint creation for sites doesnt work says resource not supported

[Enter feedback here]
When trying to create a private endpoint for website it says resource not supported.
Please see the following image below:

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d16533ae-5e19-5769-4c29-581152f8c30c
Version Independent ID: 3f1b2b47-0bfe-b65c-ad0a-cca3586f7ba7
Content: Quickstart - Create a Private Endpoint using the Azure portal
Content Source: articles/private-link/create-private-endpoint-portal.md
Service: private-link
GitHub Login: @asudbring
Microsoft Alias: allensu

@akashperfect , thank you for your feedback. We are currently reviewing this feedback and will get back to you shortly!


add nulls_last option to field sorting

Proposal to fix #84. If this should be optional, I would like to discuss which option is suitable to make it so.

@morlandi What do you think about this?


FYI - Newest jspdf screws things up (1.4.1 -> 1.5.3)

When I installed html2pdf.js in a new project, it grabbed the latest jspdf as its dependency. Well, my previously perfectly breaking pages suddenly a) didn't break right and b) didn't fit width-wise anymore. Rolling back to 1.4.1 fixed that.
This is being used in a Quasar (VueJS) project.
Here is my onPrint function that generates the PDF (notes follow):
onPrint () {
      // DON'T UPGRADE JSPDF past V1.4.1
      this.$q.loading.show({
        spinner: 'QSpinnerGears',
        message: 'Generating PDF...',
        customClass: 'bg-blue-10'
      })
      let internalLoading = this.$q.loading
      let element = document.getElementById('reportComponent')
      let facilityName = this.facilityName
      let reportName = this.selected.name
      let locationAbbr = this.facility
      let today = moment()
      let opt = {
        margin: [100, 15, 75, 15],
        filename: this.selected.componentName + '-' + locationAbbr.value + ' - ' + today.format('MM/DD/YY HH:mm') + '.pdf',
        image: { type: 'jpeg', quality: 1 },
        // pagebreak: { mode: ['avoid-all', 'css'] },
        pagebreak: { avoid: '.avoid' },
        html2canvas: { scale: 2 },
        jsPDF: { unit: 'px', format: [925, 1197], orientation: 'portrait', compress: true, putOnlyUsedFonts: true }
      }
      this.$html2pdf().set(opt).from(element).toPdf().get('pdf').then(function (pdf) {
        // Your code to alter the pdf object.
        let totalPages = pdf.internal.getNumberOfPages()

        for (let i = 1; i <= totalPages; i++) {
          pdf.setPage(i)
          pdf.setFontSize(20)
          pdf.setTextColor(0)
          // header
          let img = new Image()
          img.src = '../../assets/SH Logo Blue.png'
          pdf.addImage('data:image/png;base64,SOMETHING HERE', 'PNG', 30, 20, 75, 75)
          pdf.text([facilityName], 450, 60, 'center')
          pdf.setFontStyle('bold')
          pdf.text([reportName + ' - ' + locationAbbr.value], 450, 80, 'center')

          // footer
          pdf.setFontStyle('normal')
          pdf.text('Printed: ' + today.format('ddd, MM/DD/YYYY HH:mm'), 35, 1167)
          pdf.text('Page ' + i + ' of ' + totalPages, 430, 1167)
          pdf.text('SutterNow Reports', 765, 1167)
        }
        internalLoading.hide()
      }).save()
      // console.log('worker', worker)
    }

My DIV that contains what I'm outputing is 900px wide. What happens with the newer jsPdf is that it doesn't fit in the 925 wide jsPdf document. The right side is cut off. It forces an increase to something like 1235 wide (and 1600 high), in order to show the whole contents, but the height doesn't work right. The page break is below the 1600 line and the header and footer will not work with the updated dimensions. In fact, I have to keep the header and footer as-is, even though the jsPdf width/height have changed. Additionally, the breaks happen in the middle of elements, or they're hidden below the bottom of the page. In other words, 'unbroken' elements aren't continued on to the next page.
I'm wondering if anyone else is seeing this. I think new folks might not know what they're seeing when this just doesn't work for them, but older users of html2pdf .js who upgrade jsPdf might be able to chime in with their results.
Also, this might not be related, but I can no longer install jsPdf 1.4.1 using npm. I had to just copy it from an older project. I was getting errors that didn't make sense and for which I couldn't find resolution online and didn't have time to investigate further.

How is your width adapted to PDF

Hi @rconstantine, thanks for the report and sorry I didn't respond earlier. I've had a few reports of issues with jsPDF v1.5.3, I haven't had a chance to investigate yet.

This has been long overdue, sorry - should be fixed now in v0.9.3, which locks jsPDF to 1.4.1. I'll be looking at upgrading to jsPDF 2.x soon.


555 STL Map problem

Related Issue

I have added code for Map problem in Containers Folder of STL .(Issue number #555 )

Proposed Changes

Added Map problem in Containers Folder of STL.
Updated README.md

Additional Info

Used C++ to add problem of Map in STL.
This is one of the commonly asked interview questions.
This code solves an issue (#555 )
I have tested this code on VS code and online compiler using multiple inputs and matched the output with the expected output.
This change will not affect or create conflict with any other code.

Checklist

[x] ✅ My code follows the code style of this project.

[x] 📝 My change requires a change to the README.

[x] 🎀 I have updated the README accordingly.

[x] 👀 I have read the CONTRIBUTING document.

[x] ✨ I have added tests to cover my changes.

[x] 🚩 All new and existing tests passed.

[x] 🌟 ed the repo

[x] New feature (non-breaking change which adds functionality)

Output Screenshots

Screenshot #1
Screenshot #2

Input
Output

@Lakhankumawat Please add labels.

All the things which you are trying to add are already present inside here https://github.com/Lakhankumawat/LearnCPP/blob/main/H-HashMap/Map.cpp
& here https://github.com/Lakhankumawat/LearnCPP/blob/main/H-HashMap/
Please go through them ones and since this pull request is related to an existing topic i am closing it , i would recommend you come up with something new .
close #555


Longitudinal planner: make v_desired a FirstOrderFilter

With v_desired initialized at 0 and updating the value to any number, there's a 1.22% difference between current vs. with FOF. If it's not worth it, feel free to close. I just thought it might be nice to use.

 Can you keep v_desired a float and make a new v_desired_filter object?


separating surfaces takes too long

Separating the surfaces is a recursive problem and takes exponentially longer as number of vertices that are connected together increases. For large surfaces that is very long.
A fix is to implement optional multiprocessors (using subprocess in python) to separate multiple surfaces at once.
Best fix is to change how adjacencies are found in PyMOAB (out of scope of this project).

new algorithm has been used to make this faster.


Feat: Add RU language

What ❔

Add RU language
Fix some EN locale typos

Why ❔

Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[x] Tests for the changes have been added / updated.
[x] Documentation comments have been added / updated.

Iit is better to try to automate the work with keys to avoid diffs between locale files


feat: refactor data explorer and add XDD facets support

Description

Refactor components utilized by the dat explorer to match the Vue Script Setup component style.
Add frontend and backend support for using facets provided by the XDD service
Other misc bug fixes and style improvements

Resolves #178
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide reproduction instructions and list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@amostafa-uncharted can you provide a bit more detail on the changes here?  36 files is non trivial and as a reviewer I don't know where to start.

@amostafa-uncharted can you provide a bit more detail on the changes here? 36 files is non trivial and as a reviewer I don't know where to start.

This PR attempt to refactor almost all components used by the data explorer and hence too many files are touched. However, please note that most of the refactoring is mainly to rewrite each component in the Vue style with the script setup tag. While I do not honestly find such a refactoring needed, it has been a long standing requirement from @YohannParis in favor of consistency. You may focus on the changes made prior to the refactoring effort, i.e., ignore the last 3 commits or so and examine the changes up to that point. I'll try to add more details at the the description of the PR.


Unable to load Disqus

When I updated Hugo the latest version I met that it didn’t load disqus comments both locally and remotely. So I’ve replaced Hugo’s version in sequence, found v0.34 and former worked successfully.
I include my disqusShortname in params section of config.toml and {{ template "_internal/disqus.html" . }} line in single.html of Hugo Frais theme properly(maybe).
Where internal template is, such HTML & JS below are embeded with v0.34 but after v0.35 the field goes completely blank.
I used Windows 32bit versions on Windows10 v1803 consistently.

    Disqus comments not available by default when the website is previewed locally.

    Please enable JavaScript to view the comments powered by Disqus.

comments powered by Disqus

"mydisqususername" is placeholder I set to submit issue here. Actually that line is:
s.src = '//' + "hakuoku" + '.disqus.com/embed.js';

And the problem with v0.35 and later continues...

I can't reproduce.
Having
disqusShortname = "it-gro-github-io-hugo-theme-w3css-basic-github-io"

in config.toml
Using
{{ template "_internal/disqus.html" . }}

I get this resulting html for disqus:
        var d = document, s = d.createElement('script'); s.async = true;
        s.src = '//' + "it-gro-github-io-hugo-theme-w3css-basic-github-io" + '.disqus.com/embed.js';
        s.setAttribute('data-timestamp', +new Date());

looks good to me...

I didn't place my disqusShortname line in plain config.toml area but it's params area.  So it hadn't worked.
Thanks for your kind advice, anyway 🙇


Useful resources for GitHub actions

Please ignore

https://stackoverflow.com/questions/58597010/how-to-access-a-github-issue-comment-body-using-github-actions

https://gist.github.com/oneohthree/f528c7ae1e701ad990e6


glft animated mesh animation time?

I see you have play and stop methods, but how does one increment animation time with this?
trying some rigged example gltf meshes from here
https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0
all static, cant get them to play

Unfortunately it doesn't support rigged animations yet. I'm working towards a v1.0 before moving on to that feature.
It does support morphing and transformation animations though. For example, you can try it with https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/AnimatedMorphSphere and then: model.animations[0].play() and it will use the shared ticker in PixiJS and update the animation time.

Oh, and the play feature is only in develop branch right now.

ah I see, thats a shame :)
I look forward to getting that support :)
Nice work on this so far btw. Thanks for clarifying

@blurymind I added support for rigged animations. You can check develop branch if you are still interested.

Thank you for working on this. Its exciting to me from the angle of using a
3d mesh inside a 2d game. In this case the engine being gdevelop using this
library wrapped in an extension. And the other way around using 2d sprites
in a 3d world being the mesh.
I will give this a try and test it on a bunch of test examples :)
On Mon, 17 Aug 2020, 20:49 Jens Malmborg<EMAIL_ADDRESS>wrote:

@blurymind https://github.com/blurymind I added support for rigged
animations. You can check develop branch if you are still interested.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jnsmalm/pixi3d/issues/3#issuecomment-675077595, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRRWVIJDO6GGIV3N3TZIHTSBGCUTANCNFSM4PL3Z5HA
.

Let me know if you have any feedback or run into problems!

This is great! Congrats on a fantastic work!
The only thing missing is animation blending :)
https://threejs.org/examples/webgl_animation_skinning_blending.html

It would be fantastic if we can blend animations
On Tue, Aug 18, 2020 at 1:43 PM Krtolica Vujadin<EMAIL_ADDRESS>wrote:

This is great! Congrats on a fantastic work!
The only thing missing is animation blending :)
https://threejs.org/examples/webgl_animation_skinning_blending.html
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jnsmalm/pixi3d/issues/3#issuecomment-675455434, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRRWVN5AE42MTW5UEZYQ6DSBJZQHANCNFSM4PL3Z5HA
.

Hey thanks for building this as a UMD module btw - it should make it easier to test in gdevelop. Might try to use it to make an extension
But with this library it could become possible to create psOne era style games where 2d and 3d is blended. So it makes me wonder how much of the 2d pixi stuff can mesh with the 3d stuff
For example having a 3d model for the characters on a hand painted 2d background -like in the old final fantasy (7, 8 and 9) games. Of course that would require using the 3d camera and writing a mask shader to fake the character being behind objects that are a part of the 2d background. I wonder what the simplest way to achieve this would be
A simpler example would be just for a top down game where the character can move in 8 directions in a 2d world
Another example is the opposite - a 3d mesh that is used for the level and 2d sprites for the player/enemies
This is definitely something fun to explore and try to do with this library

For example having a 3d model for the characters on a hand painted 2d background -like in the old final fantasy (7, 8 and 9) games. Of course that would require using the 3d camera and writing a mask shader to fake the character being behind objects that are a part of the 2d background. I wonder what the simplest way to achieve this would be

For this, would it work having 3 layers? Background in 2D, characters in 3D and then foreground in 2D? Or the foreground objects could be in 3D, but just using mesh quads as sprites. Don't think you need to write a mask shader for this. Another way could be to render the 3D characters to a texture and then use that texture as a regular 2D sprite.
To mix 2D and 3D you could use the functions Camera.main.screenToWorld and Camera.main.worldToScreen.

Thank you for implementing this! :) 🎉 🎉


MIP62 Amendment: Minimal set of changes to resolve responsibilities changing.

(also some formatting fixes)

Thanks Long, this was added by https://github.com/makerdao/mips/commit/d72523769e9eb8310d6f256c620aad61eea4e04f so closing this PR to keep things tidy

accidentally closed the wrong PR 🤦♂

Vote passed - https://vote.makerdao.com/polling/QmQjv36P


Resolving react-query.

Got an error because yarn auto-installed react-query v4.
✘ [ERROR] Could not resolve "react-query/core"

    node_modules/vue-query/lib/index.mjs:2:180:
      2 │ ...nt as QueryClient$1, QueryObserver, QueriesObserver, InfiniteQueryObserver, MutationObserver } from 'react-query/core';
        ╵                                                                                ~~~~~~~~~~~~~~~~~~

Had to add a custom resolution to my package.json...
"resolutions": {
  "react-query": "3.39.0"
}

Which version of vue-query are you using?
v1 has specified "react-query": "^3.39.0", as a dependency so i see no way of v4 installed here, unless due to some specific project setup or a bug in the package manager.
v2+ on the other hand depends on "@tanstack/query-core": "^4.3.7",.
So i do not think there is anything wrong in this package, unless you pinpoint what exactly is the issue.

<EMAIL_ADDRESS>still resolved to react-query/core for me via yarn.
Upgrading to<EMAIL_ADDRESS>resolved this!
Thank you


Cannot find module eslint-config-airbnb-base/rules/best-practices after upgrade to 14.0.0

Problem
After upgrading from 12.3.1 to 14.0.0 I start getting this error (I tried the upgrade in two different projects with the same error):
Oops! Something went wrong! :(

ESLint: 7.32.0

Error: Cannot read config file: /project/node_modules/eslint-config-airbnb-typescript/lib/shared.js
Error: Cannot find module 'eslint-config-airbnb-base/rules/best-practices'
Require stack:
- /project/node_modules/eslint-config-airbnb-typescript/lib/shared.js
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /project/node_modules/eslint/lib/cli-engine/cli-engine.js
- /project/node_modules/eslint/lib/eslint/eslint.js
- /project/node_modules/eslint/lib/eslint/index.js
- /project/node_modules/eslint/lib/cli.js
- /project/node_modules/eslint/bin/eslint.js
Referenced from: /project/node_modules/eslint-config-airbnb-typescript/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
    at Function.Module._load (internal/modules/cjs/loader.js:730:27)
    at Module.require (internal/modules/cjs/loader.js:957:19)
    at require (/project/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
    at Object.<anonymous> (/project/node_modules/eslint-config-airbnb-typescript/lib/shared.js:2:43)
    at Module._compile (/project/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Module.require (internal/modules/cjs/loader.js:957:19)

Dependencies:

@typescript-eslint/parser: ^4.29.3
@typescript-eslint/eslint-plugin: ^4.29.3
eslint: ^7.32.0

I had the same issue, but I found this instruction under "Breaking Changes" for version 13.0.0:

Install eslint-config-airbnb (or eslint-config-airbnb-base) and @typescript-eslint/parser as dependencies. Follow the updated README.md file.

Following the instruction solved the problem for me.

Install eslint-config-airbnb (or eslint-config-airbnb-base) and @typescript-eslint/parser as dependencies. Follow the updated README.md file.

This implies that eslint-config-airbnb-base is optional. But it's required as of 14.x. Or rather it's unclear when one needs to install it.
Either eslint-config-airbnb needs to declare eslint-config-airbnb-base as direct dependency (dependencies) or a (optional) peer dependency (peerDependencies). Right now the dependency is implicit and I'm pretty sure new package managers such as yarn v2 complain about these types of dependencies.


Script doesn't do anything? Hotkey needing to be pressed?

I've installed the script but...nothing is happening. Is there a hotkey I need to use to activate the script? I don't see one mentioned in the readme file.

Don't click 'Play' on the first screen, the script automatically does that but fails if it can't.


Add GDPR record unzipping

Include zip.js library for unzipping JS files

This accounts for a large portion of the 5,000 lines in this PR; there doesn't appear to be a CDN that hosts these JS files so I just copied them into the repo

Create file upload for uploading zip files
Read GDPR records from said files
Dump them to the console

HELP this PR has 200+ lines of code to review 😨

Ideally to make this PR less confusing, the zip.js files should've been added to the repo in a single PR, and the work using zip.js would go in another. Just a note for future PR's.


Redirect triggers page reload in deployed version when redirecting with redirecting to a full URL

What version of Remix are you using?
1.7.4
Steps to Reproduce
Have an action function with a redirect in which you redirect to to a full URL with the protocol/host.
Expected Behavior
Page does not reload, as it does while running the code locally.
Actual Behavior
Page does reload (when deployed).
Ryan's comment:
"we have code to make sure to do a window.location =  instead of history.pushState in that case
we should add some code to be less naive and check if the window.origin is the same, too"

👋 Hey!  I think this is the same thing being asked for in this Proposal so I'm going to close this out in favor of that if you'd like to upvote that proposal.
If you need a workaround in the short term, I'd probably just do it through actionData/useEffect which is effectively what Remix does under the hood for different origins as is.
export function action() {
  return json({ hardReloadUrl: 'https://www.currentorigin.com/whatever' });
}

export default function Component() {
  let actionData = useActionData();

  React.useEffect(() => {
    if (actionData?.hardReloadUrl && typeof window !== 'undefined') {
      window.location.replace(actionData.hardReloadUrl);
    }
  }, [actionData]);

  return <Form method="post>...</Form>
}


src: stream: Make the old settings compatible.

Turns out that we can make the tag "type" as optional for VideoCaptureConfiguration ("type": "video"), but required for any other, like RedirectCaptureConfiguration ("type": "redirect").
Fixes #81.

Draft: I'm still testing all cases.

That's a requirement to make it easy for the frontend to detect the object type inside the json. enums must be tagged


Show a gray background when popover come out

Is there a way to show a optional grey background mask as what a normal modal/alert/action sheet does?

@skywalkerlw,
As a workaround now I'm using this solution with ZStack:
var body: some View {
  ZStack {
    content

    if showingPopup {
      Color.systemGray2.opacity(0.5).edgesIgnoringSafeArea(.all)
    }
  }
  .popup(isPresented: $showingPopup) {
    createSubscriptionRequiredPopup()
  }
}


sparse SVD cutoff

Hello,
scipy.sparse.linalg.svds introduces a cutoff in singular values. Values smaller than eps*f*largest_singular_value are replaced by zero,   where eps is the machine precision value of the datatype of the input and f  is 1e3 for single precision and 1e6 for double precision (hence cond = 2.220446049250313e-10 for double and cond = 0.00011920928955078125 for single precision). This is done at https://github.com/scipy/scipy/blob/v1.5.2/scipy/sparse/linalg/eigen/arpack/arpack.py#L1875-L1879.
First problem is this feature is not documented. Second is these values are not that small and are hard-coded: it is not possible to change them. They appear to come from scipy.linalg.pinvh, however there the cutoff is documented and can be specified. There is a tol argument in the API that is used to compute the eigenvalues of A.H @ A but has no effect on the cutoff.
I think tol could also be used as a cutoff for the singular values as well as a parameter for eigsh, or else a cond keyword argument could be added.

They are coming from #3719 but pinvh recently got changed to more variable expression. Apparently I missed those hardcoded values at the time. But the pinvh cutoff values come from the dense algebra conventions. Sparse arrays don't follow these conventions and I don't know from the top of my head a good source for these values. Maybe Gilbert's or Tim Davis' books have something?

I am not familiar with this literature. I took a quick look at Tim Davis's book, it does not address SVD and I saw nothing about some norm convention.
I note that PR #11829 already deals with small singular values handling. As far as I understand it it should remove the need of a cutoff.

I am not sure how a sparse function can be replaced by its dense counterpart in #11829 . We need to make sure that it doesn't get choked on large arrays.

Numerical Recipes p. 795 says

A plausible answer to the question "how small is small ?" is to edit in this fashion all singular values whose ratio to the largest is less than 𝑁 (problem size) times the machine precision

I'd suggest  max( N, 1e6 ) eps > 2e-10 with verbose=1 to print how many got trimmed.
See also how-much-regularization-to-add-to-make-svd-stable on scicomp.stack.

That rule of thumb applies to the dense arrays. Sparse arrays have significantly less arithmetic operations hence needs a different cut-off value.

@ilayn, why ? Trimming is applied to the spectrum (singular values), and sparse A / dense A.A  have exactly the same spectrum. Or would you have an example where they differ ?

The typical threshold value max(m, n)*eps is coming from the error bounds for floating point operations but in sparse arrays you don't perform that many operations if the array has only 1000 nnz entries and the array is a million by million. So having a million in that bound is too conservative.

@ilayn, could you point me to some real (not random) test cases on the web, with A . AT 10k x 10k or 20k x 20k or so ?  Thanks

@denis-bz What do you mean by "real (not random)" and what is the test we want to have?

Please add an option to "scipy.sparse.linalg.svds" to set the "cutoff" parameter to zero or please give the option not the use this cutting off option in svds function. This option is something we need for our python package "pyFBS". We are working on a new filter implementation based on truncated singular value decomposition, so svds. Since "scipy.sparse.linalg.svds" is a very strong tool for calculating a subset of singular values, we are also using it integrated with our python package. But, we need the option which allows us to set the cutoff parameter to zero. I do not want to use the "sophisticated detection of small eigenvalues from pinvh", which is used by "scipy.sparse.linalg.svds" automatically. Please make it used-defined or give the user the option to not use this cutting off the singular values.

As I already explained in #16210, I think it is necessary to have this "cutoff = 0" option (or a similar implementation) also for the "arpack" algorithm
We have already the matlab implementation of our new svds based filter. In matlab with svds command, we are able to get all the singular values without cutting off the smallest singular values (Matlab also uses in svds the Arpack algorithm as default). Also with svds of scipy, we are able to get all the singular values, only if we set the cutoff value manually to zero. (Hard-Coded) Due to this automatic/not-user-defined cutting off of the smallest singular values in svds of scipy, we can not keep the quality level of our new filter implementation.
That's why, I think this cutoff variable should be user-defined. With this enhancement, scipy will serve the option for its users to have consistent results with matlab, which is a high reliable reference software for such applications like svds.

Hi @mgoldeli,
scipy.sparse.linalg.svds has a tol parameter, default 0 -- is that what you're using ?
How do you check the accuracy of eigvals / eigvecs ?
(Bytheway, _svds.py does
eigvals, eigvec = eigsh(XH_X, k=k, tol=tol ** 2, maxiter=maxiter, ncv=ncv, which=which, v0=v0)  # tol**2 ?
...
# Use the sophisticated detection of small eigenvalues from pinvh ...

Please have a look at https://github.com/scipy/scipy/pull/11829# that attempts to solve this issue and adds several new unit tests specifically for small singular values.
Just setting "cutoff = 0" does not pass these unit tests, so is not a proper fix for all cases, even if it works for some.
@mgoldeli I am looking at the MATLAB 2021b svds code now. They no longer use ARPACK in svds as far as I can see.

Thank you for the quick replies.
Okay. Apparently, making the cutoff parameter user-definable will cause another issues in the code. I can understand that.
@denis-bz I am using the tol = 0 all the time.

eigsh( XH_X, k=k, which="SM" ... ) is not a good approach for small singular values, because

they're squared, so σ < 1e-6  =>  σ² < 1e-12, down in the noise
see finding-smallest-eigenvectors-of-large-sparse-matrix-over-100x-slower-in-scipy than Octave on SO

@mgoldeli, can you tell us a bit about your problem -- how big, σ_min, σ_max -- or point to similar problems on the web ?
Thanks

eigsh( XH_X, k=k, which="SM" ... ) is not a good approach for small singular values, because

they're squared, so σ < 1e-6  =>  σ² < 1e-12, down in the noise
see finding-smallest-eigenvectors-of-large-sparse-matrix-over-100x-slower-in-scipy than Octave on SO

@denis-bz I am unsure about relevance of your link to finding the smallest eigenvalues?

eigsh( XH_X, k=k, which="SM" ... ) is not a good approach for small singular values, because

they're squared, so σ < 1e-6  =>  σ² < 1e-12, down in the noise
see finding-smallest-eigenvectors-of-large-sparse-matrix-over-100x-slower-in-scipy than Octave on SO

@mgoldeli, can you tell us a bit about your problem -- how big, σ_min, σ_max -- or point to similar problems on the web ? Thanks

@denis-bz Yes sure.

These are my eigvals in ths svds function:

Then my cutoff value is calculated as 4727.6

Due to this cutoff feature, my smallest 4 singular values are set to zero, which are 66.7, 51, 38.5, 28. In order to show this issue easier, I added a new variable into svds code which is "slarge_WihoutCutoff"

Actually, I wanted to get also these 4 smallest singular values in the output s of the svds function. But, I can't get them because of this cutoff parameter, which is bigger than my smallest 4 singular values.

I hope, with this example it is much more easier to understand the issue that I want to point out here.

Those tolerances are clearly bad and pinv, pinvh already steered away from these hardcoded values. So we need to fix them. There is no doubt about that. However, I think you would be better off by using the dense arithmetic anyways if you are looking for all singular values since it wouldn't make any sense to rely on those small values that are coming from sparse algorithms.
Cutoff value is supposed to give you a handle to define the threshold to assume from where the noise roughly starts. Hence our initial discussion on how to define sparse noise floor. The (n, m)*X*eps is the numerical standard for anything dense where X is typically 100 or 1000. This is to account for O(n**3)-ish floating point error build up. In sparse arrays these numbers might be too high since we don't do operations on zero elements (or shouldn't) thus entrywise numerical buildup should be taken lower. But due to sparse computation accuracy there might be more uncertainty coming in by the approx. solvers.
That particular threshold needs to be defined here. And it is not a random number that can be left to all users since not all sparse users are well-trained in these hence the defaults matter immensely. We have to first get those values and then the threshold parts are comparatively easier to implement.

@mgoldeli could you please run your code in https://github.com/scipy/scipy/pull/16240 to check if it fixes your problem?

@lobpcg Hey Andrew,
Yes, it solves the issue. So, I can get my last 4 singular values as I want in the output 's'.That's good.
But, doesn't this new svds implementation increase the computational time?
For the documentation, I am uploading the data that I used in the example above.
Issue_svds.zip

@lobpcg Hey Andrew,
Yes, it solves the issue. So, I can get my last 4 singular values (smallest) as I want in the output 's'. That's good.
But, doesn't this new svds implementation increase the computational time?
For the documentation, I am uploading the data that I used in the example above.
Issue_svds.zip

Thanks for checking! The time increase should be insignificant. If you can time yourself please post the results. There is no memory increase.
I have no setup to run locally myself at the moment so cannot time.

I made a quick test with 1000 and 2000 loops by calling the svds code. 1. Results are the times of the original svds code and 2. results are times of the svds code in https://github.com/scipy/scipy/pull/16240

Results with original svds code

Results with the svds code in https://github.com/scipy/scipy/pull/16240

@mgoldeli thanks very much for timing! The time increase is larger than I have anticipated.
Let me ping the author @evgueni-ovtchinnikov of the original PR https://github.com/scipy/scipy/pull/11829 where my https://github.com/scipy/scipy/pull/16240 is copied from hoping that he might be able to investigate if this is normal for your data posted as https://github.com/scipy/scipy/files/8791825/Issue_svds.zip

@mgoldeli @lobpcg the time increase is substantial because the matrix Data in Issue_svds.zip is too small - just 4000 by 24.
With such a small size, there is hardly any point in using svds rather that much more robust and accurate svd - on my laptop 1000 svds calls took 2.14 sec and 1000 svd calls 2.7 sec.
Actually, svds becomes much more efficient than svd if min(data.shape) >> k, in which case the extra cost of the new more reliable svds becomes negligible.

For what it's worth, I have been running a similar post-processing for some time for reasonably large dense matrices. A typical run computes k=100 eigenvectors out of ncv=300 generated Lanczos vectors of a (20k, 20k) matrix with eigsh, then calls svd(A @ eigvec).
Time spent in scipy.linalg.svd is less than 0.2% of the time spent in eigsh, so in such a case the additional cost is negligible.


Create a fictional example organization with infrastrcuture, online presence, etc for trainees to explore

This would be like the reconisance version of offensive securities virtual lab
References:

https://github.com/ladynerd/marvelous-org

See :
https://github.com/OpenInternet/SAFETAG/issues/97
https://github.com/OpenInternet/SAFETAG/issues/98

(From internal tracker, moving all issues to github)
Created: 07/Aug/14 11:17 AM
We need fake organizations, and needs assessments for a variety of the SAFETAG training activities.
Examples of sections that need fake organizations:

https://github.com/OpenInternet/SAFETAG/blob/master/content/index.adids.08.md#activity-stub-activity
https://github.com/OpenInternet/SAFETAG/blob/master/content/index.adids.02.md#activity-activity
https://github.com/OpenInternet/SAFETAG/blob/master/content/index.adids.02.md#activity-activity

I knew we had that issue created! :joy: We should move over all the other content related issues.


More better docs

There are more and more features. These should all be documented somewhere like in an mdbook.
This should be a sort of reference book with all features and syntax.

Done now in #40 :D


Infra 435

Goal
What changed? What is the business/product goal?

Change 1
Change 2

I'd love feedback/perspectives on:

Implementation Decisions

Deployment steps

[ ] Database migrations?
[ ] Secrets?
[ ] Post in #changelog:

Write a #changelog message using our best practices if this PR (potentially) impacts users. Describe the 'why' and 'what'. @mention relevant teams. Link to this PR.

References
Jira ticket:

https://getpocket.atlassian.net/browse/BACK-

Documentation:

Project doc

test PR


[Compile Time Constant Extraction] Add _ConstExtractable

Add _ConstExtractable protocol to standard library

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please test

Is there an evolution proposal that went along with this?  If this is not yet approved, should this not be spelt with a leading _?

@compnerd SE-0362 standardized the in-development language feature model to use experimental feature flags instead of (or in addition to, depending on the circumstance) the _ attribute spelling: https://github.com/apple/swift-evolution/blob/main/proposals/0362-piecemeal-future-features.md#embracing-experimental-features

@hborla might be good to be more explicit about that in the prose.  I never realized that was part of the proposal.

@compnerd That's fair, and we should also include that in the Swift Evolution process document. I'm not sure it's been updated to include mention of experimental features since SE-0362 has been accepted. I'll make that change 👍🏻


Issue templates

Add templates for use when reporting bug/issue or making a feature request.

Thanks @MagicalCodeMonkey, really appreciated!


I wrote no code, built no app, and got no revenue

The Norevenue bussiness strategy allows arbitrarily steep exponential growth!
revenue(t+1) = C * revenue(t)  ∀ C≫0


Adds a factory fn for main export

adds a factory fn as main exported module
breaks out defaulting of mw and receiver listener to init() fn that is called in the factory fn (makes constructor have less side-effects, easier to test)
adds travis cfg and badge (currently just linting)

👍


MDN detail

@BenThom21 was this the right one? https://github.com/wesbos/Syntax/pull/165 The difference here seems a space in this commit https://github.com/wesbos/Syntax/pull/166/commits/ef4bea017e8fce3fae8fdcb14d3bc015434ac455


Added govmomi project as a submodule in kops

govmomi is needed to interact with Virtual Center. This PR adds govmomi as a dependency in kops.
Testing done:

Verified that I could use govmomi structs.
make ci is successful

LGTM.
I am wondering if there is any way in Go, to list dependencies and then download them during first build. Similar to what we do in Java, Python, NodeJS, etc.. Let's discuss this offline.


Transfer repo to suffolkLITLab org

Part of https://github.com/SuffolkLITLab/docassemble-AssemblyLine-documentation/issues/352

Done!


Create pico_w.sh

Based on discussion on: https://github.com/v923z/micropython-builder/issues/5 I created a pull request for Raspberry Pi Pico W board.
Not tested, but guess that only thing to modify compared to pico.sh is the port parameter: build_rp2 "PICO" => build_rp2 "PICO_W"

I have now tested it on my local Linux environment. Works.

@sakluk You closed the PR before I had a chance to merge it. You should re-open this, and the next one, otherwise, I can't make it part of the workflow.

@v923z sorry for the mesh. I'm learning how to use git.
I realized that I tried to pull request before I had tested in my own branch. Now I'm learning how to test the system in my fork. When I tried to create a pull request against master in my fork, I got error message the new pico_w.sh script was not found. I'm looking a way to fix that problem...


Add AGG_SIG_ME_ADDITIONAL_DATA to config

https://github.com/Chia-Network/chia-dev-tools/issues/52

Is this necessary? Don't we just use the same as mainnet and all other testnets?

@Quexington did you close wrong pr?


[fix] update to TS 4.4.3

Closes #2322
I chose a mix of "just type it as any" and coalescing the errors.
The pnpm lock file contains TS 4.3.5, too, and I don't know how to get rid of it. Help appreciated.
Deliberately no changelog, as it's only internally in my opinion.
Before submitting the PR, please make sure you do the following

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

The pnpm lock file contains TS 4.3.5, too, and I don't know how to get rid of it. Help appreciated.

I found typescript mentioned in the files below:
packages/create-svelte/templates/default/package.json:		"typescript": "^4.3.5"
packages/create-svelte/shared/+typescript/package.json:		"typescript": "^4.0.0",

Maybe we should just make both of them ^4.0.0 so that we don't have to update it for minor releases?

I solved it by bumping other packages (which is good anyway)


Hsla pr

Some ideas for giving the coder a little control over the randomness of colors. What do you think?

@nickmasso: these look great! Thanks! Smart implementations.
I have a few questions:

Why does random-color-by-hue have a default? Why is that default 270?

Why does random-color-by-hue clamp saturation and lightness between 20 and 80, specifically? Why not 0 and 100? Granted, you'd end up with more 'boring' colors, but, random, nu? Perhaps this should be an optional parameter?

@mknadler Thank you! Here's my responses to your two questions.

I guess I was thinking that if someone was really not wanting to think too much about the color they wanted, they could just have a shade of blue (though looking now I think I may have gotten the degree wrong for blue). Do you think it would make more sense to not have a default? That seems fine to me.

I picked 20 and 80 somewhat arbitrarily, but yes the intent was to prevent the user from getting grayscale colors much of the time. Could you say more about your idea for an optional parameter? Like an extra boolean for eliminating grayscale colors? What if there was another function called random-gray()?

@nickmasso

270 seems to be a lovely purple, actually. I'm thinking a default hue is unnecessary here, as, after all, randomizing by hue is the main purpose of the function.

A boolean could actually be a good solution for this; for now, I think perhaps saturation, especially, should have it's maximum default value upped to 100. Another solution, I'm thinking, would be to allow the user to just manually pass in their own saturation and lightness modifiers; something like background: random-color-by-hue(120, 0 through 90, 20 through 85, 1), or background: random-color-by-hue(120, 0, 90, 20, 85, 1),  for instance.

I made this pen to demonstrate the difference between a max saturation of 80 and 100; missing out on some more vivid colors with it capped at 80:
http://codepen.io/mknadler/pen/b26ec34221f79a631b08373544c27f93
What I'm planning on doing, if you're cool with it, is merging your work as-is, and then subsequently changing:
A. The default $hue: 270 to a non-default parameter;
B. The random-between(20, 80) saturation default to, for now, random-between(20, 100)
C. Adding saturation and lightness parameters to random-color-by-hue
Sound good?

Sounds great!
You're totally right about the saturation cap. My mistake. And I didn't know you could use through like that. Really cool.

Not manually, you can't!
From sass -i:

$test: 20 through 30
(20 "through" 30)
type-of($test)
"list"
nth($test, 1)
20
nth($test, 2)
"through"

so, it'd be a list. If that is the syntax that ends up being used (straight up numbers might be more consistent with the rest of the library, though), I'd have the function check to see if a list was passed through, check to see if the second value in that list was a string, parse that list into numbers, and then feed those numbers into random-between..


Tweaks to lint gutter and icecoder theme

Slightly slimmer gutter, with a 2px margin to left, to give a little space when you have maybe a gutter to left. cursor changed to help icon which seems to make more sense.
Warmer background color added for icecoder theme, plus fixed matching bracket (was a bordered box, which caused jumping and char became invisible (black on almost black), now grey box with white char).

I've merged the theme changes as d6e8f34 (though to me the new brackground looks colder, rather than warmer).
The gutter change for the lint addon isn't a good idea -- it causes the icons to stick out of the gutter, which will look terrible when the next gutter has no padding on the left.

OK I see your point on the gutter. There was also changing the cursor from pointer to help also which seemed to make sense but no biggie.

I'm not generally a fan of using elaborate pointers.  Since the tooltips come up instantly anyway, there doesn't seem to be much need for an informative pointer.


How to support pab

Can some documentation supporting pab be provided?

we don't have any plans to do that for the time being 🤔
Can you please explain why something like this might be useful for you?


Fix or investigate intersphinx mappings.

Fix or investigate intersphinx mappings. Specifically the Schema class would be valuable as a link.Ben shared that the NVT workflow page is an example with an intersphinx link to merlin.io.Dataset.

This is in the nice-to-have category and not a blocking requirement for any release.
I spotted one mistake (mine) in the models repo, in the docs/source/conf.py file, the "main/core" should be "core/main".
intersphinx_mapping = {
    "python": ("https://docs.python.org/3", None),
    "cudf": ("https://docs.rapids.ai/api/cudf/stable/", None),
    "distributed": ("https://distributed.dask.org/en/latest/", None),
    "torch": ("https://pytorch.org/docs/stable/", None),
    "merlin-core": ("https://nvidia-merlin.github.io/main/core/", None),
}

However, making that correction with the latest code in main and rebuilding the doc does not make Schema in the in API documentation for DCNModel into a link to the Merlin Core documentation.
More troubleshooting and research is needed. I want to correct it, but my understanding is that this is a nice-to-have.


SL-18330: Support parsing direct from stream; improve C++ compatibility.

The major feature introduced by this PR is that llsd.parse() can now accept a seekable binary stream instead of requiring the caller to read the stream (e.g. a file) into memory before parsing.
It also improves recognition of MIME-type headers produced by the C++ LLSD library embedded in the Second Life viewer.

Codecov Report

Merging #4 (f178592) into main (10992b7) will decrease coverage by 0.96%.
The diff coverage is 86.45%.

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
- Coverage   90.30%   89.34%   -0.97%
==========================================
  Files           5        5
  Lines         743      826      +83
==========================================
+ Hits          671      738      +67
- Misses         72       88      +16

Impacted Files
Coverage Δ

llsd/fastest_elementtree.py
58.33% <50.00%> (+8.33%)
:arrow_up:

llsd/base.py
84.36% <86.13%> (-2.17%)
:arrow_down:

llsd/serde_binary.py
94.44% <100.00%> (+0.03%)
:arrow_up:

llsd/serde_notation.py
90.62% <100.00%> (+0.34%)
:arrow_up:

llsd/serde_xml.py
99.21% <100.00%> (+0.03%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

also, per recent developments, I think it is not necessarily worth maintaining python2 and 3.4 fallback code for new enhancement work like this.  If one wanted to juice our codecov metrics, it could be done by ripping some of that old stuff out.

Since this PR has become essential for ongoing DRTVWR-558 Puppetry work, absent further objections or requested changes, I'm going to merge this soonish.