Implement multiple sessions for users

Initial work for #1139.

Fix #712 to prevent timing attacks on tokens
Use stored username on client to match token instead of iterating every user on the server

Im just thinking loud.
If you first time enter to the lounge, browser dont have any tokens stored. After getting right credentials, server sends a token and username.
If you now open new tab on browser, it will send both token and username to server. Server compares sended username tokens and if pair is found, logs in.
If you log out, server stops socket connections and browser forgets user-token pair.
Now some test cases. If you have 2 tabs open with login screen, you could log in as different users on both tabs. Last login will set the username-token pair, so if you do refresh or open new tabs on browser, last user will be used. It might be a feature, i personally dont like it and i feel it will be problem later. Proposed fix, if you log in, send allways current user-token pair and send warning that you already have logged in if those match.
Same problem is with logging out. If you are logged in on 2 tabs and log out on one tab, you still are logged in on other. Proposed fix, generate new user-token pair for every new browser. Logging out will close server side all connections with that user-token pair, even if there are many. #986 will help on that part. Maybe make token unique to IP, example if there are connections from same IP address, dont generate new token, instead use that IP address token from established connection, so there is no need to store IP address with token. Benefit, logging out logs out all connection on that IP. If you do so, there will be problem if you are on wifi and log in on 2 different machines. They share IP addresses and logging out on either one logs both out. Proposed fix, after logging in, show a mild warning that you are already logged in on this IP address and give a option to tell with 1 click that this is different machine what generates new token pair.

Proposed fix, generate new user-token pair for every new browser.

That's the eventual plan that I want to implement. Every login would generate a new token pair (#1139).
As for different tabs in same browser, you would need to have different browsers or profiles to login twice (e.g. incognito).

This PR has a consequence of requiring to login again after upgrade (because single token is no longer used), but I think this work out great, as couple releases ago we increased our bcrypt rounds, so everyone who upgrades Lounge will also refresh their passwords.

I would like to promisify manager and client side code too, but i think its not this pull job to do it.
#1235 and #1236 is mostly needed if you need to add a auth method, plus it easier to understand whats happening.

Rebased on master.

Why is "Fix #712 to prevent timing attacks on tokens" crossed out? It doesn't fix this anymore?

Nope it does not fix it.

This PR has a consequence of requiring to login again after upgrade

That's fine to me, but I'll need to remember to add a mention in the changelog entry, just in case some admins need to broadcast this to their users.

@xPaw, ping to update this PR? I believe your push notification depends on it, right? Let's get this out of the way either way :)

@astorije merge then. @metsjesus can work on that sessions UI then.

@astorije merge then. @metsjesus can work on that sessions UI then.

/Cc @metsjeesus :)


CUB Libraries and Thrust

I was wondering if there were equivalents for the CUB/Thrust Libraries available for ROCm?
Namely, I'm searching for alternative methods for:

cub::DeviceReduce::ArgMax
cub::DeviceReduce::ArgMin
cub::DeviceReduce::Max
cub::DeviceReduce::Sum
cub::DeviceRadixSort::SortKeys
cub::DeviceScan::InclusiveSum

I don't think they're on the drawing board yet.  Keep pressure on and maybe they'll eventually figure it out.  Libraries like this are required for researchers to be productive.
CUB under the covers is definitely nastier than on the top and would probably be difficult to support upstream, but since it's FOSS... maybe they can work it out.

CUB and Thurst Ports are under development. We have seen some nice progress on them.   Remember we young project and we have competing priorities, capped capacity for man/engineering hours.    We are also working on PSTL based libraries for HCC.

just FYI - I think CUB is generally more useful than most of thrust/PSTL after a point.  What I've seen is most people tend only use the stl like libraries for any of sort (including key variants), scatter, gather, and reduction.  Not too much else as complicated stuff always finds itself in new kernels for huge relative speedups.  Point being that it's easy to hit diminishing returns after just a few functions in those libraries.

We still keep running into Thurst in our Ports so we decided to knock it out.   CUB is more interested we agree.


BibTeX superscripts in math environment parsed wrong

When converting a bibtex file with a superscript somewhere, the curly brackets are not parsed. For example, if the title contains:
A $^{32}$S isotope

This ends up being:
A $^32$S isotope

In the clean_bibtex_str(s) routine on line 276 of cli.py these curly brackets would be replaced with nothing by the command in line 280:
s = s.replace("{", "").replace("}", "")

However, printing out s at the beginning of this routine shows that the title never arrives with a curly bracket in it. Not sure if this is a problem with bibtexparser or with academic-admin, but any fix would be very interesting. Alternatively, how would you solve such a title?

Seems to be related to this issue in bibtexparser.
Writing out the bibliography into the cite.bib finally contains the same error, in the example above it would say:
...
title = {A $^32$S isotope},
...

Hmmm...


Delete My Application 1220

Closes #1220

Coverage decreased (-0.05%) to 76.216% when pulling 4bbd15de3f653a4ab9b69945a93fc8375c42795c on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.1%) to 76.133% when pulling 0f7c2c26fd029ebcbc384aac43ed72ce62aaab7e on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.1%) to 76.151% when pulling 97995e9f36e68d9598bf3e96649730c6e4150e8a on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.1%) to 76.151% when pulling 6831d2b6f133e8a4358470cd35258e2bf9fc3eb9 on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.1%) to 76.142% when pulling 4b1798927def4cfab9e9262f1d62585f03c3d98b on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.05%) to 76.219% when pulling ac2206edac8164dc1dd65993a8bf1d3d5a39bf73 on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.

Coverage decreased (-0.05%) to 76.219% when pulling b19a1b882c13091c09f35ef1e2d1cd571b0eeefc on na3d:my-app-delete into fd5fbe9302a098b6f2ee914cc8c0ae8c529bad2d on linode:master.


Moving Tables to inside Full-Width Text Organism

While going over spacing issues with @ajbush and @duelj, they pointed out that tables inside a bunch of text should only have 30px of spacing instead of the full-organism spacing. I think the easiest way to do this and take into account the edge cases where a table would need the full organism spacing when it's the only thing on the page, would be to move the table molecule inside the full-width text organism.

@KimberlyMunoz sure i'll create a PR and include table as an option in the full width text.


how to get the score of an expert policy and some other details

Hi,
Thanks for sharing this interesting work. However, I have few questions in the paper:

Could I know how to get the score of an expert policy that you used to normalize the score in Tables? If possible, could you share these information, please?

When you report the results in the paper (e.g., Table 4), which score do you use -  the score in the last epoch or the best score during training?

Looking forward to your reply!
Best Wishes

For Atari, see Table 11 in Appendix B. For D4RL, see the benchmarking paper, also located here.
We use the last epoch, although we found this was not significant (in contrast, TD learning algorithms tend to be very sensitive to this).


Integration with alamofire

Hi, I just notice that Alamofire update their code.
This is the new way I found it to integrate without error handling, why?
Alamofire.request(.POST, "\(SERVERURL_SECURE)\(file)", parameters: parms).responseJSON {
            request, response, result in
            if let data = result.data {
                let json = JSON(data: data)
                return json
            }
        }

+1

@Edig actually, result.value returns the value of response, result.data just returns the error info instead. pls refer to its doc.

This does not belong here, read https://github.com/Alamofire/Alamofire/pull/627

Yes actually I solved that way, I leave it here if someone needs it
Alamofire.request(.POST, "\(SERVERURL_SECURE)\(file)", parameters: parms).responseJSON {
            request, response, result in
            if let data = result.value {
                let json = JSON(data)
                if let completion = completionHandler {
                    completion(result: json)
                }
            }
        }


Create Development Mode in HUD

Creating an option that will change settings in the HUD to allow easier deving in the HUD. Things to look at are:

turning off caching in the service worker
removing cache headers from ZAP
#80 will help
looking into service worker life cycle for more consistent updating/restarting of service worker.

We do now have a dev mode for the HUD, but it might not yet support all of these features...


Add Matern Kernels to Gaussian Process Library

Summary:
Add special cases Matern class of covariance functions to the gaussian process library.
These include:
Exponential (Matern 1/2) (gp_exp_cov())
Matern 3/2 (gp_matern32_cov())
Matern 5/2 (gp_matern52_cov())
Exponential Quadratic (Matern lim v -> inf) (gp_exp_quad_cov())
Description:
Each matern covariance function will have 4 parameterizations:
gp_function_cov(x, sigma, length_scale)
gp_function_cov(x, sigma, length_scale, jitter)
gp_function_cov(x1, x2, sigma, length_scale)
gp_function_cov(x1, x2, sigma, length_scale, jitter)
Where we x is the data vector, x1 and x2 are two different data vectors of type real (or possible ints), sigma is the marginal standard deviation, length_scale is the length scale, and jitter is a small real number that is added onto the diagonal for numerical stability during cholesky decomposition.
Expected Output:
A data matrix that is a covariance function. If the input is only x, the output is symmetric matrix that is positive semi-definite. Otherwise, output a matrix.
Additional Information:
We want to support easy summation of kernels:
gp_exp_quad(x, sigma, length_scale) + gp_exp_quad(x, sigma, length_scale, jitter)
We like to use Rasmussen and WIlliams as a reference, however, in Chapter 4 they do not include the parameterization that has the marginal standard deviation, although this parameter is used later in the book. We include this in our parameterization.
Current Version:
v2.17.0

Can you specify what C++ types the different arguments can take?

@syclik updated


imgaug augmenters

AttributeError: module 'imgaug.augmenters' has no attribute 'MultiplyBrightness'
train.txt
I tried to check from which path each of these files imports imgaug. I couldn't find the highlighted packages.

The problem is solved by creating a new environment that solves the conflict between the packages.


Unable to update the Dependency-Check database

I configuretion a NVD database , when I run a jenkins job to update the Dependency-Check database, then always FAILURE
[DependencyCheck] OWASP Dependency-Check Plugin v4.0.2
[DependencyCheck] Executing Dependency-Check with the following options:
[DependencyCheck]  -name = Auto-update-NVD
[DependencyCheck]  -outputDirectory = /data/cv/workspace/Auto-update-NVD
[DependencyCheck]  -dataDirectory = /data/cv/NVDUpdate
[DependencyCheck]  -dataMirroringType = none
[DependencyCheck]  -isQuickQueryTimestampEnabled = true
[DependencyCheck]  -jarAnalyzerEnabled = false
[DependencyCheck]  -nodePackageAnalyzerEnabled = false
[DependencyCheck]  -nodeAuditAnalyzerEnabled = false
[DependencyCheck]  -retireJsAnalyzerEnabled = true
[DependencyCheck]  -composerLockAnalyzerEnabled = false
[DependencyCheck]  -pythonDistributionAnalyzerEnabled = false
[DependencyCheck]  -pythonPackageAnalyzerEnabled = false
[DependencyCheck]  -rubyBundlerAuditAnalyzerEnabled = false
[DependencyCheck]  -rubyGemAnalyzerEnabled = false
[DependencyCheck]  -cocoaPodsAnalyzerEnabled = false
[DependencyCheck]  -swiftPackageManagerAnalyzerEnabled = false
[DependencyCheck]  -archiveAnalyzerEnabled = false
[DependencyCheck]  -assemblyAnalyzerEnabled = false
[DependencyCheck]  -msBuildProjectAnalyzerEnabled = false
[DependencyCheck]  -nuGetConfigAnalyzerEnabled = false
[DependencyCheck]  -nuspecAnalyzerEnabled = false
[DependencyCheck]  -centralAnalyzerEnabled = false
[DependencyCheck]  -nexusAnalyzerEnabled = false
[DependencyCheck]  -artifactoryAnalyzerEnabled = false
[DependencyCheck]  -autoconfAnalyzerEnabled = false
[DependencyCheck]  -cmakeAnalyzerEnabled = false
[DependencyCheck]  -opensslAnalyzerEnabled = false
[DependencyCheck]  -showEvidence = true
[DependencyCheck]  -formats = XML
[DependencyCheck]  -autoUpdate = true
[DependencyCheck]  -updateOnly = true
[DependencyCheck] Performing update only
[DependencyCheck] Unable to update the Dependency-Check database
Build step 'Invoke Dependency-Check update only' changed build result to FAILURE
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
Notifying upstream projects of job completion
Finished: FAILURE

I found in the  /data/cv/NVDUpdate directory had a dc.lock.db and even if I deleted this file, it will automatically generate a new one immediately.
[data/cv/NVDUpdate]$ ll
-rw-r--r--  1 ei eu  100 Jul 10 09:17 dc.lock.db
[09:21][data/cv/NVDUpdate]$ rm -rf ./dc.lock.db
[09:21][data/cv/NVDUpdate]$ ll
-rw-r--r--  1 ei eu  100 Jul 10 09:21 dc.lock.db

I tried to re-install a new mirror database. When I update the Dependency-Check database, the new mirror database will automatically create a dc.lock.db file in the directory. Why?
How to solve the problem of automatic creation of this dc.lock.db file?

The lock file is necessary to ensure multiple instances do not try to update the database at the same time. ODC should remove the lock file when the update is complete.
Please upgrade to the latest version of dependency-check. If you are still having issues please enable debug logging for dependency-check and provide the log file.

After a few hours, the dc.lock.db file can be deleted and  I set my jenkins job to update the dependency-check database at 8:00pm. The next day, the dc.lock.db file still created. so I can't normally update the database daily.
[DependencyCheck] Unable to update the Dependency-Check database
Build step 'Invoke Dependency-Check update only' changed build result to FAILURE
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
Notifying upstream projects of job completion
Finished: FAILURE

Please upgrade to the latest version of dependency-check. If you are still having issues please enable debug logging for dependency-check and provide the full log file.

Yes, after upgrading to the latest version, dependency-check does not report errors any more, but occasionally on builds, there are errors that do not seem to affect the final result.
I did not find where can be configured, should I just ignore it?
[DependencyCheck] [INFO] Checking for updates
[DependencyCheck] [INFO] Skipping NVD check since last check was within 4 hours.
[DependencyCheck] [INFO] Skipping RetireJS update since last update was within 24 hours.
[DependencyCheck] [INFO] Check for updates complete (6 ms)
[DependencyCheck] [INFO] Analysis Started
[DependencyCheck] [INFO] Finished Archive Analyzer (6 seconds)
[DependencyCheck] [INFO] Finished File Name Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Jar Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Central Analyzer (5 seconds)
[DependencyCheck] [ERROR] ----------------------------------------------------
[DependencyCheck] [ERROR] .NET Assembly Analyzer could not be initialized and at least one 'exe' or 'dll' was scanned. The 'dotnet' executable could not be found on the path; either disable the Assembly Analyzer or configure the path dotnet core.
[DependencyCheck] [ERROR] ----------------------------------------------------
[DependencyCheck] [INFO] Finished Dependency Merging Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Version Filter Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Hint Analyzer (0 seconds)
[DependencyCheck] [INFO] Created CPE Index (1 seconds)
[DependencyCheck] [INFO] Finished CPE Analyzer (2 seconds)
[DependencyCheck] [INFO] Finished False Positive Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished NVD CVE Analyzer (0 seconds)
[DependencyCheck] 00:00  INFO: Vulnerability found: jquery below 1.9.0b1
[DependencyCheck] 00:00  INFO: Vulnerability found: jquery below 1.12.0
[DependencyCheck] 00:00  INFO: Vulnerability found: jquery below 1.12.0
[DependencyCheck] 00:00  INFO: Vulnerability found: jquery below 3.4.0
[DependencyCheck] [INFO] Finished RetireJS Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Sonatype OSS Index Analyzer (1 seconds)
[DependencyCheck] [INFO] Finished Vulnerability Suppression Analyzer (0 seconds)
[DependencyCheck] [INFO] Finished Dependency Bundling Analyzer (0 seconds)
[DependencyCheck] [INFO] Analysis Complete (16 seconds)
[DependencyCheck] Collecting Dependency-Check artifact

Exactly like the error message says - the scanner found at least one dll or exe while scanning - which are the file extensions that are examined by the AssemblyAnalyzer (i.e. .net code).  You can either install dotnet core and see if the scanner finds anything wrong with those files (they may not be .net, but they might be?). Alternatively, just disable the AssemblyAnalyzer.

After I upgraded to the latest version, I found that I can't disable the AssemblyAnalyzer in Jenkins. where can I configure disable AssemblyAnalyzer? I don't see the disable AssemblyAnalyzer configuration in the Configure System either.

@tiffanyzhou in v4.0.2 and previous of the Jenkins plugin, there is a global option titled 'Enable assembly analyzer'. If you uncheck this option, the AssemblyAnalyzer will be disabled.
Note in v5.0.0 and higher, this is entirely changed. Refer to https://github.com/jenkinsci/dependency-check-plugin/wiki/v5-Migration

@stevespringett Yes, I know that there are changes in the new version. That's why I want to know how to disable AssemblyAnalyzer in the new version in Jenkins.
Can you provide me with a specific operation?

@tiffanyzhou v5 using the CLI. There's nothing to configure in Jenkins. Use the instructions for the CLI
https://jeremylong.github.io/DependencyCheck/dependency-check-cli/arguments.html


Fix README extension

Requires https://github.com/Darwin-Che/Movie_List/pull/1 be merged first.

Actually, since the slides say that the file should be README.txt we might want to keep the extension as-is even if it's in Markdown format.


Questions about the input workload file in Astra-sim 1.0

Please provide a detailed description of your question or the information you seek.
Hi,

I'm very curious about the input txt file about workload in Astra-sim 1.0 (like the DLRM_HybridParallel.txt from https://github.com/astra-sim/astra-sim/blob/master/inputs/workload/ASTRA-sim-1.0/DLRM_HybridParallel.txt ). So may I ask you how to generate these workload files based on the given model and parallelism strategies? Is there any tool to generate them?
Thank you so much and any help would be appreciated!

Hi @XStargate,
Excuse my belated response.
Those numbers are generated via analytical calculations. This slide, especially slide 11-12, could assist you understand how those workloads are generated. In general, referring to this tutorial can help.
After all, you can represent a workload in ASTRA-sim 1.0 by marking its computation time and communication sizes, if required. The communication size is defined mathematically per the parallelization strategies the workload is assuming. Compute time of each layer can be modeled via various toolchains, including the analytical method shown in this demo, or external tools such as SCALE-sim, GPU Simulators, or even just measure real GPU communication times.
Hope this helps.


Potential issue with apt installation of icub-common

Brief description
I think I may have come across a small issue with installing icub-common from a fresh installation. In short I think this issue may be caused by a combination of ycm-cmake-modules being bundled together with icub-common and apt providing an old version of cmake. At the end of the I provide my solution to this issue, but I am wondering what you would recommend as the most stream line approach.
Detailed context
From a fresh installation of ubuntu 18.04, after doing the standard
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 57A5ACB6110576A6
sudo sh -c 'echo "deb http://www.icub.org/ubuntu bionic contrib/science" > /etc/apt/sources.list.d/icub.list'
sudo apt update
sudo apt install icub-common

I end up getting the following error:
The following packages have unmet dependencies:
 icub-common : Depends: ycm-cmake-modules but it is not going to be installed
               Depends: cmake (>= 3.12.0)
E: Unable to correct problems, you have held broken packages.

Which is obviously caused by ycm-cmake-modules requiring a newer version of cmake than what apt provides (3.10.2).
Previously if I wanted to install ycm from source, it would be pretty easy to purge the old cmake and either install a newer version via snap (3.17.2), or to build cmake from source (3.16.4 or higher).
The issue is that if I have done either of these options, apt doesn't "know" about the newer version of cmake that is already installed and instead tries to install the old 3.10.2 version which immediately throws the above error of a version conflict.
Solution
My solution was to follow this guide to point apt at a repository to supersede the old cmake.
After setting that up when I install icub-common, ycm-cmake-modules is able to recursively find and install the newer cmake (3.17.2).
I just wanted to point out that this is a problem that some people may stumble upon. I am unsure if pointing apt at another repository is the most elegant solution, but I wanted to quickly share my quick solution to this.
What are your thoughts?
Accompanying material

Thanks @kothiga for reporting the issue and your workaround 👍
I reckon that @mbrunettini has already come across something related while gearing up in view of distro 2020.05. Thus, we should be able to get it fixed soon, hopefully.
cc @drdanz

Thanks @kothiga : an updated cmake is mandatory for the latest releases of YARP and that's why there is the dependency in ycm-cmake-modules (but not only).
We should:

check dependencies of yarp cmake packages for the upcoming release
improve our instructions were it specifies that a recent cmake is required and provide the istructions to install from a repository as you suggested (there is official kitware repo )
let me clarify that this issue only affects Ubuntu 18.04, while latest LTS (20.04) has a more recent version of cmake: packages for 20.04 will be provided with the upcoming release of our software

I added the instruction to add KITWARE repository on icub wiki
As specified in the wiki, only packages for Ubuntu 18.04 are affected.
I think we can close this now

Closing then 👍
@kothiga feel free to add up further comments if required.


✨ feat(core): Add support for .setup.mjs files

Current dependencies on/for this PR:

new-dawn

PR #1072   👈

This stack of pull requests is managed by Graphite.


[BugFix] Logic error in glue code for StC loads on SD with no HD

This PR is ready to merge.
Feature or improvement description
PR #607 introduced the ability to apply Structural control loads to the SubDyn mesh.  However, if HydroDyn was not used with SubDyn, then the SubDyn load meshes for load mapping in the glue code would not be created.  This caused segmentation loads if an StC load was applied to SubDyn without running HydroDyn (i.e. in a simulated earthquake).
Related issue, if one exists
#317
#541
#617
Impacted areas of the software
ServoDyn StC loads with SubDyn, but without HydroDyn.
Additional supporting information
This came to our attention from an outside collaborator at NTNU who is looking at the ability to apply seismic loads at the base of a jacket structure.  For testing, they were turning of HydroDyn which triggered this segmentation fault.
Test results, if applicable
There are no current test cases for this feature.  We are expecting to add one in a few months once this method of applying seismic loads has been validated.

Dear Andy.
There is another error that has shown up with the error is as follows:
Generating incident wave kinematics and current time history.
Error in call to FFT. The imaginary component at the largest positive frequency must be zero.
FAST_InitializeAll:HydroDyn_Init:Waves_Init:VariousWaves_Init:Error occured while applying the  FFT to InitOut%WaveElev.
This error comes when I try to simulate EQ, wind and waves. The error does not show up when I only simulate EQ and waves with the same input files.
I have attached my HydroDyn file but I do not think that the problem lies there. Hope you could help me with this error, since it is urgent for me to do this simulations.
Jacket_HydroDynzip.zip


UnloadCopyUtility: Allow option to specify statement_timeout

Background: Running UnloadCopyUtility to migrate big database tables fails after 20 minutes with
WARNING:root:ERROR:  Query (71361) cancelled on user's request

It looks like statement_timeout is currently hardcoded in
https://github.com/awslabs/amazon-redshift-utils/blob/master/src/UnloadCopyUtility/util/redshift_cluster.py#L15
without any option to adapt it.
Issue: As a user, I want to be able to set and adapt statement_timeout parameter according to my problem. Be it via ENV variable, config.json or cmd line parameter.

Driver has been moved to the recently released redshift_connector. Timeout is not hard coded any longer and the connection will not be closed while the unload is running.


[Question]: Where are the 1.30 release notes?

Your question
It looks like 1.30 was released to nuget, but there are usually a release added to the GH repo and release notes, but I can't find them this time:
https://github.com/microsoft/playwright-dotnet/releases

That said, I've just looked at the playwright repo and seen that it was a maintenance release + browser update. It would still be nice to know that from the release notes here too.

I updated it for the .NET release as well, its a maintenance release.


We need customization option of js version for mediapipe

Hi guys, mediapipe is doing really great, and it's evolution rate is impressive.
problem:
we can customize android, desktop, python verison of mediapipe but we can not do the same for js.
we can build custom AAR, APK as per our requirement (which is much efficient), but we have no such things for js.
usecase:  I have created a virtaul try-on for rings using mediapipe which is working fine, but i guess it need optimization for mobile, for that I need to add MedaiPipe PacketCloner as in model graph, but we can not do that normally.
tries:

I have also tried emscripten(to convert C++ to wasm, as you guys also using the same.) and tried to configure it but i guess it takes a lot  to configure such a big project and I stucked at error https://github.com/google/mediapipe/issues/877.
Tried saving mediapie online graph runner https://viz.mediapipe.dev/demo/hand_tracking, it's working on my local (with custom graph-models) but i ended up a large js files( though I am trying to understanding it's structure).  but as it's generic platform so it won't be that optimized.
Trying tensorflow library (ended up it's too slow, and almost no customization availble there.), and it is using same mediapipe official libraries at backend (also not synced with latest verison).
Trying https://cdn.jsdelivr.net/npm/@mediapipe/ it's working fine but in mobile fps are too low(5-6) which requires customization (addign a PacketCloner can fix this issue.), I am trying to customizing this.

final:
either you guys could make it public (emscripten config for js(/third_party/mediapipe/web folder) - PackedSolution) or add PacketCloner as default with a switch to use it or not.
or atleast share original hands.js(not uglified version)
A little help can spark something great.

hey @sgowroji let me know if I can get help from any of 4 options mentioned in problem.

This is indeed a bigger project, and requires some more effort, so while it is something we'd like to do, it will be a little while before we can.  It's not just a simple matter of exposing configs, because a lot of the sub-libraries themselves are different when being built outside of Google versus inside, so a decent amount of bazel/BUILD engineering will likely be necessary.  However, I left a comment on that issue (#877) to hopefully help out any efforts there if that's an avenue people would like to pursue.
I'm surprised the js files are large-- there's a decent amount of JS code required to run the Wasm blob, but I'd imagine the majority of the size would be in the .wasm file, which (for the Visualizer) would just be much larger than you'd need, since it has to include lots of calculators.  It should be relatively optimized too, but generally runs ML on CPU, so might not be as fast as the codepens (depending on your platform/device).
I can't really speak to this much at this time.
More customization here is something we're looking into as a logical next step.  To kick things off, mhays@ has already released the Typescript defines, which should make the codebase more decipherable (see issue #1408).  Hopefully that can help your current experiments while we figure out the customization roadmap!

Hi @vkrytpo, Did you get a chance to go through the above comment. Thanks!

@tyrmullen , thanks for the response.
I guess, I can try using**( issue #877)** and  (issue #1408)

Hi @vKrypto, did you successfully deploy your own custom JS model following any of the mentioned approaches above? I'm much interested! Thanks!


Excel file not loading unless I save it on my pc  first

I have this excel file wich is produce by an other app wich is not mine.
I download this file and then upload it to my application (angular 9). This will give me a workbook but there is no sheets in it. If I open and save the same file, this will open and work as expected.
Now I don't want to have to pass trought this step. I don't know if that's a bug or a security mesure, but if it's a security mesure I would like to know how to bypass it.
Here you can see my code:
public onFileChange(e: any): void {
    this.fileContent = [];
    let workBook = null;
    let jsonData = null;
    const reader = new FileReader();
    const file = e.target.files[0];
    if (!file) {
      return;
    }
    reader.onload = (event) => {
          const data = reader.result;
          workBook = XLSX.read(data, { type: 'binary' });
          console.log(workBook);
          jsonData = workBook.SheetNames.reduce((initial, name) => {
            const sheet = workBook.Sheets[name];
            initial[name] = XLSX.utils.sheet_to_json(sheet, { header: 1 });
            return initial;
          }, {});
          jsonData = jsonData.Sheet1;
          console.log(jsonData);
          jsonData = jsonData.slice(3);
          jsonData.forEach((t: any) => {
            ...
          });
          this.saveFile();
        };
        reader.readAsBinaryString(file);
  }

It would seems that the file dosen't have any sheet in it and by opening and saving it, I create a sheet wich is then usable. I would like to know if it is possible to create that sheet without having to open it manually to save it.

Can you share the file @Leccho ?

No there's sensible information in it and since it's not my program, I can't produce a dummy.

File without presaving it:
Sheets {}
SheetNames []
Strings (172) [{.........
File after opening in excel, save and close:
Sheets {Sheet1: {.............}} (contain all rows)
SheetNames ["Sheet1"]
Strings (172) [{.........

There's probably some sort of parse error.  Can you read the file with the option WTF: 1:
          workBook = XLSX.read(data, { type: 'binary', WTF:1 });

A bunch of errors are silently ignored by default, the WTF option forces them to be thrown

I guess my question would be could I create that Sheet1 programmatically ?

No error is raised. I feel like what should be done is creating this sheet programmatically just as if I openned the file and saved it myself. Is there a way to do such thing ?

Well I don't think this is a SheetJS issue so I'm gonna close this.


Preserve dtypes in left_complement, right_complement, and dual

Split from #355

CI failures are the usual, this code was written by Hugo anyway, so I'm going to go ahead and merge


[ENG-6] Add MVP CI/CD

Description
Please include a summary of the change and any fixed bugs/implemented features. Please also include relevant motivation and context. List any dependencies that are required for this change.
Example:
ENG-6
This PR adds:

a build-test github workflow
a status badge for the workflow on the main readme page
explicit container names in docker-compose.yaml

Title
PR title should match the following syntax:
[ENG-XXX] Name
Where ENG-XXX is the Jira issue number and Name is a brief description of the changes made in the PR.
Type of Change

[ ] Bug fix
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Reference (optional)

[x] Jira ticket
[ ] Notion doc
[ ] Figma design
[ ] Lucidchart
[ ] Other

Self Review
Please ensure that the following check list items are all completed before submitting the PR for review.

[ ] I have added comments in code wherever applicable

should this be merged even tho the checks failed? are they tests that should fail?


Exception from Actor's method is not surfaced to the caller

Describe the proposal
#Expected Behavior
Exception's error message (not stacktrace) from Actor's method is surfaced to the caller.
Add details like exception method, line number, exception type and generate an UUID to match the exceptions both on callee as well as caller side.
UPDATE:
Throw an exception with a message in the Actor's method. On the client (ActorProxy), try to call that method. The message from the actor's method should also be in the exception in the client.
UPDATE 2:
Dapr's .Net SDK uses "X-DaprErrorResponseHeader" to signify that there is an exception serialized at the body. This implementation should be compatible with .Net SDK (both directions, calling into Actor or being called by the client). I recommend using the 1.12.0-rc.2 version of the runtime to validate this as there is a regression in 1.10 and 1.11 still to be patched.

Thanks for this @amulyavarote Could you add more details like the current log and how it looks?

Current logs are quite generic. They should say something like "Actor method invoke exception". We have to add details to this message.

Example of exception details:
Dapr.Actors.ActorMethodInvocationException: Remote Actor Method Exception, DETAILS: Exception: NotImplementedException, Method Name: ExceptionExample, Line Number: 14, Exception uuid: d291a006-84d5-42c4-b39e-d6300e9ac38b

Please refer to .NET SDK for a reference on the solution here.

Dapr's .Net SDK uses "X-DaprErrorResponseHeader" to signify that there is an exception serialized at the body. This implementation should be compatible with .Net SDK (both directions, calling into Actor or being called by the client). I recommend using the 1.12.0-rc.2 version of the runtime to validate this as there is a regression in 1.10 and 1.11 still to be patched.

\assign

@Preeb34 Are you working on this? I think the slash in your assign comment needs to be reversed:
/assign
Can you please try it that way and see if it assigns you? Let me know if you need help with anything!

I just updated the comment and sorry about that!

I just updated the comment and sorry about that!

@Preeb34 Can you create a new comment with /assign for this issue if you are working on it?

/assign


Expand edit view

Describe the feature you'd like
Currently, the editing view is limited to a certain area. What leads to the fact that wide tables are displayed very squeezed. It would be nice if the editing interface would stretch over the entire area of the browser when editing pages. So that the entire white space under the menu can be used as a writing surface.
Describe the benefits this would bring to existing BookStack users
A big advantage would be the possibility to display more information on one page. But also wide graphics and tables could be displayed larger. Which makes them more readable and user friendly.
Can the goal of this request already be achieved via other means?
Currently I don't know that this function could be covered with another function. There are similar solutions only for tables, but not for the complete workspace.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
6 months to 1 year
Additional context

I have marked the area in question in yellow in this image.

Hi @22Alena22,
The edit view is intended to mirror the display view of page content. I wouldn't look to change the content width just for the edit view.
The set content wide has been discussed, with some potential  workarounds, in #1757.
I have previously provided my thoughts in regards to the set width in #3408.

Since I wouldn't look to add the specific requested feature as per my message above, and since there's been no further discussion, I'll close this off.

I've thrown together some CSS and JavaScript that can be put into the "Custom HTML Head Content" -> Extra Wide Pages and Editor for selected pages | Reddit


TLS error: 268435696:SSL routines:OPENSSL_internal:UNSUPPORTED_PROTOCOL error for external service

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
We have externalservice which supports only TLS 1.0 version and it cannot be updated due to some internal reasons. When we enabled TLS origination for external service with Istio 1.8 version, we are getting 503 UF,URX error upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: TLS error: 268435696:SSL routines:OPENSSL_internal:UNSUPPORTED_PROTOCOL. On debugging further observed Istio 1.8 is using envoy 1.16 version and Minimum TLS protocol version by default, it’s TLSv1_2 for clients and TLSv1_0 for servers.. Maximum TLS protocol version by default, it’s TLSv1_2 for clients and TLSv1_3 for servers [link: https://github.com/envoyproxy/envoy/blob/v1.16.0/api/envoy/api/v2/auth/common.proto#L44].
Istio 1.4.5 works fine with our external service and we have issue once we migrated to 1.8 version of istio. Istio 1.4.5 was using envoy 1.12 version, in which Minimum TLS protocol version was TLSv1_0. So i think it worked well.
How can we override settings now so that we can have our calls to external service with TLSv1_0. We use ServiceEntry, DestinationRule, VirtualService and no egress gateway.
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: externalservice-api-with-tls-origination
  namespace: default
spec:
  hosts:
    - api-prod-na.rr.externalservice.com
  ports:
    - number: 30443
      name: http-port-for-tls-origination
      protocol: HTTP
    - name: https
      number: 443
      protocol: HTTPS
  resolution: DNS
  location: MESH_EXTERNAL
  endpoints:
    - address: api-prod-na.rr.externalservice.com
      ports:
        https: 443

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: originate-tls-for-externalservice-api
  namespace: default
spec:
  host: api-prod-na.rr.externalservice.com
  subsets:
    - name: http-api-calls # This catches routes for the plain HTTP subset
      trafficPolicy:
        loadBalancer:
          simple: ROUND_ROBIN
        portLevelSettings:
          - connectionPool:
              http:
                http1MaxPendingRequests: 1024
              tcp:
                connectTimeout: 500ms
                maxConnections: 1024
            port:
              number: 443
            tls:
              mode: SIMPLE
              caCertificates: /etc/ssl-certs/externalservicecacerts.pem
  trafficPolicy:
    loadBalancer:
      simple: ROUND_ROBIN
    portLevelSettings:
      - connectionPool:
          http:
            http1MaxPendingRequests: 1024
          tcp:
            connectTimeout: 500ms
            maxConnections: 1024
        port:
          number: 443
        tls:
          mode: DISABLE
          caCertificates: /etc/ssl-certs/externalservicecacerts.pem

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: tls-for-externalservice-api
spec:
  hosts:
    - api-prod-na.rr.externalservice.com
  http:
    - match:
        - port: 30443
      route:
        - destination:
            subset: http-api-calls # Mark with subset so we can override the destination rule for TLS origination.
            host: api-prod-na.rr.externalservice.com
            port:
              number: 443
          weight: 100

Describe alternatives you've considered
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[ X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

I see option to override min_tls_protocol is supported only for Gateway. As we don't have egressgateway, how can we set min_tls_protocol to use TLSV1_0 for sidecar.

This is not currently supported. You could possibly hack it together with https://istio.io/docs/reference/config/networking/envoy-filter/.
Since Istio is not breaking this application, you are just not able to use an Istio feature (tls origination), this seems lower priority and would be less likely we will expose APIs to decrease security


orchestrator: Only consider DOWN nodes invalid.

When the dispatcher starts, it sets all nodes status as UNKNOWN.
This is a valid state and we should not attempt to re-schedule tasks at
that time.
If the node still fails to reconnect, at that point the Dispatcher will
set the status to DOWN and the orchestrator will reschedule tasks.
Fixes #921
Signed-off-by: Andrea Luzzardi<EMAIL_ADDRESS>

LGTM

LGTM

[Current coverage][cc-pull] is 54.33%

Merging [#934][cc-pull] into [master][cc-base-branch] will increase coverage by 25.87%

2 files (not in diff) in protobuf/ptypes were created. more
2 files (not in diff) in protobuf/plugin were created. more
9 files (not in diff) in manager/state/store were created. more
5 files (not in diff) in manager/state/raft were created. more
1 files (not in diff) in manager/state were created. more
7 files (not in diff) in manager/scheduler were created. more
6 files (not in diff) in manager/orchestrator were created. more
4 files (not in diff) in manager/dispatcher were created. more
7 files (not in diff) in manager/controlapi were created. more
2 files (not in diff) in ...tor/networkallocator were created. more

@@             master       #934   diff @@
==========================================
  Files             9         75      +66
  Lines          1177      11293   +10116
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            335       6136    +5801
- Misses          794       4295    +3501
- Partials         48        862     +814

[][cc-pull]

Powered by Codecov. Last updated by [59fc667...9f60200][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/59fc6676ac336e35373344273959274e2e96d8ef...9f6020088e6981d584bc84edad1d92c551a65fe1
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/934?src=pr


Ignore multiple events...

Hi!
Please have a look at my implementation of suppress multiple events. It's configurable for the user and not fixed to 25 seconds.
Also the time is restarted, if event comes in during the timeout.
Here an example for 15 seconds:
first event arrives
second after 10 seconds - ignored
third after 20 seconds - also ignored, because timer restarts after second one.
fourth after 35 seconds - is executed
and so on...
Your decision, which one you want to have :-)

Hi @crocri
Whilst having it configurable is definitely good, your solution with object assign is a big anti pattern in Typescript.
Additionally you have a potential bug due to clearing of the timeout without resetting it in nlrmaljexecution, as Node can recycle those id's after the timer did fire.
If it is okay for you I'll modify your PR to mitigate the bug and change it to match best practices.
Thanks and best regards
Thiemo

Hello @crocri
Did some updates and prepared an option to follow up on your idea

also ignored, because timer restarts after second one.

This option is not yet included in the config page and translations as I'd like your feedback on this approach first.
In my opinion this has to be configurable, as Ring is no 24/7 recording, meaning some users definetly want to catch every event, while still they want to debounce the doorbell by e.g. 20s. Meaning they don't want several events within the 20s, but I'm not sure if they'd be happy, if a double press (0s --> 10s) would result in another press after 29s being ignored.
Additionally if somebody keeps dancing in front of a camera for like 5 Minutes straight, it might be beneficial to have e.g. 10 videos (one every 30s) instead of really just one, but sure this depends on the user and his needs/wants.
Best regards
Thiemo


How to model by column vectors in jscip?

Hello,I want to know how to model by column vectors in jscip.I want to use jscip in Java to build the following model.eg

But I can't find the function to build matrix variables in jscip.

Like the one shown above, Java will report an error.
I hope you can give me some advice, thank you very much.

I am not sure about your error above, but one specialities of SCIP is that its models are based on general, potentially nonlinear constraints. So a SCIP model cannot be generated column/matrix-wise.
(Of course, one could create or use a wrapper that provides such functionality and translates columns to SCIP constraints, but JSCIPOpt does not have that functionality.)

For linear problems, you need to rearrange them into standard form, so that you have one coefficient vector for the objective, one coefficient matrix for the constraints, and one right-hand-side vector for the constraints.
Using a for loop is a reasonable approach, but your variable name syntax is wrong. The variable name is a string, so if you write [j] into it, it will just be passed to SCIP as is. And then SCIP complains about the invalid characters, but even without those, the variables would all have the same name. Try something line "realcar_" + j or "realcar" + j instead of "realcar[j]".
JSCIP cannot magically change the semantics of the Java language.

Oh, and of course Variable realcar[j] = … is also invalid Java, you need to allocate a Variable[] before the loop and then just use realcar[j] = …. That, too, is basic Java and not a JSCIP issue.


Fix up safety client for versioned API

When running:
python -m llama_stack.apis.safety.client localhost 5000
The API server was logging:
INFO:    ::1:57176 - "POST /safety/run_shield HTTP/1.1" 404 Not Found
This patch uses the versioned API, uses the updated safety endpoint, and updates the model name to what's being served. The above python command now demonstrates a passing and failing example.

@stevegrubb We will be deleting these client.py files which served two purposes initially -- they were used as REST clients but also had some easy-to-use testing functionality which developers used when working with the stack server. Now, the client functionality has moved to https://github.com/meta-llama/llama-stack/blob/main/llama_stack/distribution/client.py. Tests have moved to either pytest or examples in llama-stack-apps.


fix: handle invalid query locator error

adds some debug logging to help trouble shoot errors in the future.
the bug here is that we were checking for the invalid query locator error, but then not handling it, so we ended up returning that no records were returned from salesforce.

:tada: This PR is included in version 1.3.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


chore: update dependency to hugr 0.10.1

use the Some utility in a few places

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.81%. Comparing base (ed3c0b8) to head (48d0c1b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #735      +/-   ##
==========================================
- Coverage   92.81%   92.81%   -0.01%
==========================================
  Files          71       71
  Lines        8160     8159       -1
==========================================
- Hits         7574     7573       -1
  Misses        586      586

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Home page logo too small?

Page URL:
https://mabarber92.github.io/
make the logo in the upper left corner larger, so that it covers the entire space between the top of the page and the title banner?

Unfortunately, because of the theme this is proving enormously difficult to fix. That gap is supposed to contain the 'tag line' which I've left as an empty string, because I think it's a bit superfluous to have it up there. I think the way it's using the bootstrap grid means that the image will always be fixed to that size unless I make changes in the hardcoding, which I'm a little nervous about as it might create issues for us later on when the theme is updated.
A solution might be to have the logo in the banner instead (but then we'll lose the logo on the other pages).
Do you have any ideas about how to go about this?


Be able to import content from another site in draft form

Related to #23. When importing content from another site include an option to import the content in draft form.

duplicate


Add a 40-man roster feature

This PR resolves #27, adding a roster feature.

@digitalSaint Great work!


Link not generating and getting stuck at setting seed. (I hope I'm reporting this in the correct place idk what I'm doing)

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.05             Driver Version: 535.104.05   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:04.0 Off |                    0 |
| N/A   39C    P8               9W /  69W |      0MiB / 15360MiB |      0%   E. Process |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
fatal: destination path '/content/KoboldAI' already exists and is not an empty directory.
Wed Feb  7 00:09:23 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.05             Driver Version: 535.104.05   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:04.0 Off |                    0 |
| N/A   39C    P8              10W /  69W |      0MiB / 15360MiB |      0%   E. Process |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
Colab Check: True, TPU: False
INFO       | main::732 - We loaded the following model backends:
GooseAI
Legacy GPTQ
OpenAI
Horde
Read Only
KoboldAI API
KoboldAI Old Colab Method
KoboldCPP
Basic Huggingface
Huggingface
Huggingface MTJ
INFO       | main:general_startup:1447 - Running on Repo: https://github.com/henk717/KoboldAI Branch: united
MESSAGE    | Welcome to KoboldAI!
MESSAGE    | You have selected the following Model: NeverSleep/Noromaid-13b-v0.1.1
TODO: Allow config
INFO       | modeling.inference_models.hf:set_input_parameters:198 - {'0_Layers': 40, 'CPU_Layers': 0, 'Disk_Layers': 0, 'quantization': '4bit', 'id': 'NeverSleep/Noromaid-13b-v0.1.1', 'model': 'NeverSleep/Noromaid-13b-v0.1.1', 'path': None, 'menu_path': ''}
INIT       | Starting   | Flask
INIT       | OK         | Flask
INIT       | Starting   | Webserver
INIT       | OK         | Webserver
MESSAGE    | Webserver started! You may now connect with a browser at http://<IP_ADDRESS>:5000/
INIT       | Searching  | GPU support
INIT       | Found      | GPU support
===================================BUG REPORT===================================
Welcome to bitsandbytes. For bug reports, please run
python -m bitsandbytes
and submit this information together with your error trace to: https://github.com/TimDettmers/bitsandbytes/issues
bin /usr/local/lib/python3.10/dist-packages/bitsandbytes/libbitsandbytes_cuda122.so
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: /usr/lib64-nvidia did not contain ['libcudart.so', 'libcudart.so.11.0', 'libcudart.so.12.0'] as expected! Searching further paths...
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('/sys/fs/cgroup/memory.events /var/colab/cgroup/jupyter-children/memory.events')}
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('8013'), PosixPath('http'), PosixPath('//<IP_ADDRESS>')}
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('//colab.research.google.com/tun/m/cc48301118ce562b961b3c22d803539adc1e0c19/gpu-t4-s-29aals2wowlyp --tunnel_background_save_delay=10s --tunnel_periodic_background_save_frequency=30m0s --enable_output_coalescing=true --output_coalescing_required=true'), PosixPath('--logtostderr --listen_host=<IP_ADDRESS> --target_host=<IP_ADDRESS> --tunnel_background_save_url=https')}
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('/datalab/web/pyright/typeshed-fallback/stdlib,/usr/local/lib/python3.10/dist-packages')}
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('/env/python')}
warn(msg)
/usr/local/lib/python3.10/dist-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: WARNING: The following directories listed in your path were found to be non-existent: {PosixPath('//ipykernel.pylab.backend_inline'), PosixPath('module')}
warn(msg)
CUDA_SETUP: WARNING! libcudart.so not found in any environmental path. Searching in backup paths...
CUDA SETUP: CUDA runtime path found: /usr/local/cuda/lib64/libcudart.so
CUDA SETUP: Highest compute capability among GPUs detected: 7.5
CUDA SETUP: Detected CUDA version 122
CUDA SETUP: Loading binary /usr/local/lib/python3.10/dist-packages/bitsandbytes/libbitsandbytes_cuda122.so...
Loading checkpoint shards:   0% 0/6 [00:00<?, ?it/s]/usr/local/lib/python3.10/dist-packages/transformers/utils/bitsandbytes.py:17: FutureWarning: transformers.utils.bitsandbytes module is deprecated and will be removed in a future version. Please import bitsandbytes modules directly from transformers.integrations
warnings.warn(
Loading model tensors: 100%|##########| 68/68 [00:23<00:00,  2.52it/s]
Loading model tensors: 100%|##########| 70/70 [00:34<00:00,  2.50it/s]
Loading model tensors: 100%|##########| 70/70 [00:34<00:00,  2.54it/s]
Loading model tensors: 100%|##########| 69/69 [00:33<00:00,  2.22it/s]
Loading model tensors: 100%|##########| 71/71 [00:33<00:00,  2.45it/s]
Loading model tensors:  93%|#########3| 14/15 [00:08<00:00,  2.36it/s]
Loading checkpoint shards: 100% 6/6 [02:49<00:00, 28.29s/it]
generation_config.json: 100% 159/159 [00:00<00:00, 655kB/s]
Loading model tensors: 100%|##########| 15/15 [00:08<00:00,  1.70it/s]
tokenizer_config.json: 100% 1.12k/1.12k [00:00<00:00, 5.22MB/s]
tokenizer.model: 100% 500k/500k [00:00<00:00, 12.0MB/s]
added_tokens.json: 100% 21.0/21.0 [00:00<00:00, 73.0kB/s]
special_tokens_map.json: 100% 549/549 [00:00<00:00, 2.24MB/s]
tokenizer.json:   0% 0.00/1.84M [00:00<?, ?B/s]
tokenizer.json: 100% 1.84M/1.84M [00:00<00:00, 15.4MB/s]
INIT       | Starting   | LUA bridge
INIT       | OK         | LUA bridge
INIT       | Starting   | LUA Scripts
INIT       | OK         | LUA Scripts
2024-02-07 00:12:27.055799: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-02-07 00:12:27.055862: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-02-07 00:12:27.057387: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-02-07 00:12:29.615244: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Setting Seed

I'll give this a try and let you know.

Quick question. What if I wanna run tavernai locally?

PC Mac or Linux?
Running TavernAI locally is easy on any of them, however running the actual LLM AI model inference back-end (Kobold, etc.) locally may or may not be a thing that your GPU is actually capable of doing.  You might wind up still using colab to stand up a model on an API for you remotely, to use with your local tavern.
If you want to hop on discord for further discussion just @ me in the server. https://discord.gg/tgpPu247

Okay I'm in the server


Unknown Operating System issue

The table of 'Assessment readiness issues' is very useful. But I have an issue with one line, 'Unsupported operating system'.
First, the error in the Azure Migrate portal is 'Unsupported OS', not 'operating system'. The errors should match EXACTLY between the Portal and the docs, otherwise there is always an underlying concern I might be looking at the wrong line.
Second, the error description only covers the VMware case. I have this error right now with Hyper-V. The description needs to reflect all possibilities.

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

ID: 6e359e11-8328-07e0-168b-7920c8a37d5e
Version Independent ID: b673f646-874d-6a12-9fa8-d5be52c7035d
Content: Troubleshoot assessment and dependency visualization in Azure Migrate - Azure Migrate
Content Source: articles/migrate/troubleshoot-assessment.md
Service: azure-migrate
GitHub Login: @musa-57
Microsoft Alias: hamusa

@jtuliani Thank you for your query, our team will look into it and get back to you at the earliest.

Tagging @rashi-ms to look into this suggestion

Thanks a lot @bsiva  and @rashi-ms  for helping on this thread.
@jtuliani Thanks again for sharing your valuable feedback. Assigning this issue to @rashi-ms to further evaluate the feedback and enhance the document accordingly.

@jtuliani Thanks for your feedback.  Can you let us know which line you're referring to. A search for exact text "Unsupported operating system" doesn't show up a result in this article. Is the ask for all references to "operating system" in the assessment readiness table should be changed to "OS" for clarity? Can you also let us know which error description only covers the VMware case. This will help ensure we fix the issue accurately. Thanks!

@jtuliani  Hi, I'm going to close this since I don't have enough information to make doc changes.  If you want to reopen please let us know. Thanks!
#please-close


doc: net: Enhance DNS resolver documentation

Add more information about DNS resolver to documentation. Move
generic DNS information from the sample application into DNS
resolver documentation.
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

Codecov Report

Merging #13509 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #13509   +/-   ##
=======================================
  Coverage    52.5%    52.5%
=======================================
  Files         318      318
  Lines       46529    46529
  Branches    10755    10755
=======================================
  Hits        24431    24431
  Misses      17199    17199
  Partials     4899     4899

Continue to review full report at Codecov.

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

Updated according to comments.


Merge shex_compact and shex_ast crates?

When implementing imports in ShEx, it seems there is a circular dependency between the AST and the Compact crates.
The problem is that when resolving an import, one needs to parse the corresponding IRI, and the parser could require content from ShEx compact, so it seems impossible to isolate ShEx AST and not depend it on ShEx compact to parse those imports.
I am not sure if it is possible to have circular dependencies between crates in Rust so it may make more sense to just join both crates together.
The main reason for separating both crates was for modularity while implementing the compact parser...but once it has been implemented, it may make sense to put all the code in a single module (or crate).

After some thought, I think we can move the functionality of resolve_imports to the shex_validation crate t avoid the circular dependency (shex_validation depends on both shex_ast and shex_compact) and because the functionality of resolving imports is necessary when validating...
One problem, though, is that it will not be possible to resolve imports alone within the shex_ast crate but I think it is a minor problem now.


Release the package with Django 3.2 support

Hey, we are working on upgrading edX codebase to Django 3.2. This package is being used in the codebase but it isn't yet released with Django 3.2 support. Kindly consider releasing it with Django 3.2 support.
Thanks

Hi @Jawayria
The package is compatible with Django 3.2 and even with the upcoming Django 4.0. The only thing which has changed since 1.2.2 is the tests, the CI environment and some configuration.

(The last code change to the relevant js_asset/ folder happened in February 2019.)


AI Based Parameter Prediction Model for conv_hip_igemm_group_fwd_xdlops Solver

This model predicts kernel_id's (kernel parameters) for the conv_hip_implicit_gemm_grouped_fwd_xdlops solver. These are the gpu kernel runtimes of the model's predicted parameters compared to the default parameters (in milliseconds):
Model  GPU Kernel Time Forward Conv. Elapsed
mean:  1.0351979585798816 ms
std:  3.697059412553356 ms
Default  GPU Kernel Time Forward Conv. Elapsed
mean:  3.5112720892245406 ms
std:  11.53792551329461 ms
The model's average runtime in microseconds:
Time taken by Model
mean:<PHONE_NUMBER>495172
std:  55.71458305871032

Some minor comments.
BTW, the statistics you have provided in the description, could you also provide:

how many problems you tested?
were those problems taken from FindDB?

Around 12.5K problems
Taken from tuning, I'm not sure if our current FindDB in MIOpen takes into account the configs I ran within my session. But then again these problems were gotten from all of NHWC configs I could find in the conv_config table, so these entries may line up with what is currently in MIOpen's FindDB.

@DrizztDoUrden Can you please review this PR?

@junliume  Can we merge this when convenient ?


Error output should observe --color option

Neither of CARGO_TERM_COLOR=never or passing the "--color never" option to rustfmt results in non-colored error output. Likewise, the "--color never" option is ineffective when running rustfmt directly. This often makes it very difficult for me to read error messages.
The only viable (if cumbersome to type) workaround I've found is to redirect stderr and pipe it through another command, like 'more' (e.g., "cargo fmt 2>&1 | more").
FWIW, this is on Windows 11 in cmd shell running in Windows Terminal. Same thing happens with the old Windows Console Host, as well as using PowerShell in Windows Terminal.
Example:

To the best of my knowledge, cargo-fmt has never incorporated the CARGO_TERM_COLOR environment variable. Cargo subcommands/plugins do not inherently receive and honor the same environment vars that cargo itself does. In general it's best to refer to the respective tool/plugin/subcommand's docs to see what mechanisms they support.
WRT rustfmt's --color never, the unclosed delim error is coming from rustc itself. rustfmt operates in the earliest stages of the compiler workflow which allows it to be able to work in the presence of various invalid syntax that would never compile. However, unclosed delimiters are a pretty catastrophic error even in the earliest of those parsing phases, and that forces rustfmt to simply return the compiler error message and bail out.
In simpler terms, rustfmt's option does work for rustfmt output (both error and formatting diff), but does not control rustc behavior, and an unclosed delim error was one of the few edge cases where a user will see the raw rustc error text vs. rustfmt output from processing a rustc error.
There's probably some combination of rustc args that could be utilized to skip colors but I think that might be trickier than it seems at first blush (yes rustc has its own --color never flag, but I think that conflicts in an incompatible way with various diagnostic defaults).
This feels significantly edge case-y enough that I'm disinclined to have t-rustfmt invest any significant time into it, though if you are anyone else is sufficiently motivated to submit a PR (either to add CARGO_TERM_COLOR support to cargo-fmt which translates into --color never for rustfmt, and/or to see if there's any incantation rustfmt could pass into rustc's parser process) then we'd probably (eventually) review and take under consideration.

The unclosed delimiter error wasn't the one which first showed me the behavior -- I saw it in the course of my normal coding and simply assume I had made an error attempting to disable error colors. When I went to figure out what I was doing wrong, it was simply the first thing I tried WRT to forcing an error, and since it worked, I went with it.
rustc itself seems to honor the --color never flag for this example, which is why I opened this issue.
It sounds like you're open to a fix, and I certainly would like to avoid having to work around the issue, so I'll see if I can carve out some time figure out how to address it within rustfmt (along with adding CARGO_TERM_COLOR support -- rustfmt feels core enough that the lack is jarring).
My assumption would be that, should I find time to address these, they should likely be separate pull requests, yes? Or would it be preferable to make it a package deal? Certainly the env var support seems pointless w/o the --color never fix.
Thanks for taking the time to provide feedback (and for rustfmt in general)!

OK, I see the issue. The fn default_handler in parse/session.rs doesn't take the color option into account at all. Passing in the color option value and using that to determine the ColorConfig passed when creating the EmitterWriter fixes the issue.
I can put together a PR for the fix, and perhaps open a separate issue for cargo-fmt supporting CARGO_TERM_COLOR.


[WIP] Remove the CMake dependence when building from setup.py.

Some baseline compilation times on a slow (Chromebook) computer:

full compilation time in release mode

real    3m20.192s
user    3m10.504s
sys     0m12.654s

linking-only in release mode

real    0m52.832s
user    0m50.578s
sys     0m3.352s

full compilation in debug mode

real    4m49.084s
user    4m45.499s
sys     0m14.281s

linking-only in debug mode

real    0m8.494s
user    0m6.615s
sys     0m1.735s

That's an interesting trade-off.

@henryiii I've fully merged in #130 and tested it, including ArrayBuilder in Numba (which uses ctypes to access libawkward.so).

Remember, we need to manually squash to 2-3 commits then rebase and merge, since we do a large renaming and several edits; if we just squash and merge git will loose the history tracking on the python files in src/awkward1. Let me know when you are ready and I can do it.

@henryiii It's ready. Please do it.

I copied this branch as save/PR129-henryiii-build-procedure.

@jpivarski and @henryiii - nice work, local builds are a lot faster! Thanks!


Add more examples to the documentation

We should improve our documentation by adding most requested examples:

[x] Custom Context Menu
[x] Custom Editor #73
[x] Custom Renderer #27
[x] Accessing Handsontable instance #75

All of these are now online at:

http://docs.handsontable.com/pro/vue
http://docs.handsontable.com/vue


Broken kong.yml links

The kong.yml links on the download page is broken, possibly in other places as well.

I fixed it already in one of the branches.


Bluetooth: Host: Add a configuration for writable name

In the file gatt.c, GAP service contains the Device Name
characteristic. If writable, authentication and authorization may
be defined by a higher layer specification.It means that GATT
clients can write to device name GAP characteristic without
bonding. So we add a configuration for writable name without
bonding.

@LingaoM and @HuangJunMIOT will you update this PR?


bowtie: fix build on darwin

Description of changes
Adds patches to fix this build on Darwin machines.
ZHF: #172160
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 172458 run on aarch64-darwin 1

1 package built:

bowtie


Interest in CR-FM-NES Strategy?

After some experiments with xNES demonstrated impressive performance I started searching for the latest "successor", if any existed. This led me to Fast-Moving NES (FM-NES) and its extension Cost-Reduced Fast Moving NES (CR-FM-NES).
When compared to xNES and CMA-ES, FM-NES demonstrated similar, or better performance per their paper:
" The results show that the performance of FM-NES is better than that of the other methods on the Ellipsoid problem, the Rosenbrock problem, the Cigar problem, the IC-Rosenbrock problem, and the IC-Cigar problem. In particular, for the Rosenbrock problem, the Cigar problem, the IC-Rosenbrock problem, and the IC-Cigar problem, which have ridge structure, FM-NES has succeeded in finding the optimal solutions about 1.71, 1.78, 1.67, and 1.42 times faster than DX-NES-IC, respectively. Furthermore, FM-NES showed better performance than CMA-ES on the unconstrained problems with ridge structure, the Rosenbrock problem and the Cigar problem, on which DX-NES-IC showed worse performance than CMAES. On the other hand, on the Sphere problem, the IC-Sphere problem, and the IC-Ellipsoid problem, FM-NES shows almost the same performance as DX-NES-IC and better performance than xNES, CMA-ES, xNES/R, and CMA-ES/R. Overall, the result suggests the effectiveness of FM-NES. "
When compared to FM-NES, Sep-CMA, and VD-CMA, CR-FM-NES demonstrated similar, or better performance per their paper:
" Our experimental results suggest that compared to FM-NES, CR-FM-NES has achieved significant speedup on some problems or at least achieved competitive performance. Furthermore, CR-FM-NES showed favorable performance over VD-CMA [35] and SepCMA [38].
The main limitation of the proposed method lies on the restricted representation of the covariance matrix. As noted in [35], CR-FM-NES will fail optimization when the covariance matrix cannot approximate the inverse Hessian of the objective function. "

The authors provided a publicly available, numpy-based implementation of CR-FM-NES on github. I thought it could be a good fit for evosax, though it would be challenging for me to implement myself as I am still new to the evosax framework and jax in general.
Is this something you are interested in?

Hi @Obliman, Thank you for bringing this up! Yes, I am very much interested in adding more scalable ES to evosax. E.g. a VkD-CMA version has been on my bucket list for a while. After checking the numpy implementation it looks fairly easy to rewrite it in JAX. Do you want to give it a try, open a PR and I help out when you get stuck? Otherwise, this would go on my ToDo-list for after the end of my summer internship. Cheers, Rob

I've started on it in a fork of the repository here.
So far it's just been converted from numpy to jax.numpy, but it's a start.

Thank you for giving it a first shot! If you want to you can try to make your implementation match the evosax ask/tell API and separate out the es_state and es_params. Otherwise, I would continue with your first port attempt at a later point.

FYI: After some experimentation I've found that the control over VRAM usage that I get with Numpy+Pytorch is better for my application than jax. Due to this I do not intend to work on the evosax variant of the algorithm for the foreseeable future.
By the way, thanks for building this library. It's been very informative and great for experimenting with ES methods.

Added in PR #34 and released in v0.10.0


worker: load config from venv

The rest will be provided by the worker manager.
My next PR will add yaml config parsing to the worker manager.

cc @isra17 review plz

lgtm


Grid does not provide a template for column

The grid should provide a mechanism to bootstrap a column like adding a panel inside column and icons with Angular 2/4. it uses jQuery but it's not practical at all

We have a sample here, which demonstrates how to use the templates into the columns.
Is there something you cannot achieve with the described approach.

@adouani , is there any other sample you required for your project or may we close this issue as answered?

Closing due to inactivity.


support absolute filenames

solves #265

Looks very promissing - I'll look into it.

Had to fix one thing but looks good:
https://github.com/ampedandwired/html-webpack-plugin/tree/yyx990803-master

I am on the road right now and my internet is quite bad - Probably won't be able to publish this before tonight.


Fixes for various issues in the pwm_nrf5_sw driver

drivers: pwm_nrf5_sw: Avoid mixing gpio and gpiote
drivers: pwm_nrf5_sw: Fix polarity issue when using multiple channels

@cvinayak Thank you. I have submitted the static initialisation fix as a separate PR (#9546).
I revert to using the GPIO driver for 0% and 100% PWM duty cycle to save power - and I will look into synchronising the start of a newly added PWM channel to avoid the latencies.

Closing. The driver will be rewritten and the issues raised here taken care of in #15287.


Can't click or drag floating squares on api web portal

Hello,
I use Brave browser. Not all boxes can't be clicked or dragged.
I switched to chrome and realized brave was actually blocking fingerprints by default.
So I disabled it and it works fine now.
Just to letting you know this project is nice, it would be nicer if there were other forms of ui accessibility bcuz i wouldnt have known they were clickable otherwise.

This will be addressed in the UI re-design for version 1.0. We're aware of the Brave issue.

See #724


Add unattended reboot check for lockfiles

This is a first stab at https://trello.com/c/Z5T7xEcX/72-add-lockfile-functionality-to-nightly-reboots-have-important-jobs-write-release-this-lock after discussing with @alexmuller
Checks that other jobs don't have active lockfiles before the unattended reboot can go ahead.
This assumes the jobs are already using setlock to acquire locks.
For now, this check is just going to immediately release the lock after acquiring it, to keep things simple. There's a short period of time when jobs could still be started after this check runs, but we think this is still an improvement.

Really like the logic on this, easy to add and I think it'll work effectively to check across a bunch of different jobs :+1:
I was wondering if the setlock -n check will work if the backup job is just touching an empty file rather than using setlock to create one as per https://github.com/alphagov/govuk-puppet/blob/321d0449b2e582252c080649c93650d2d1146a2f/modules/backup/files/etc/automysqlbackup/prebackup#L4
I think setlock should always be used regardless so perhaps just easiest to update the pre/post-command options.

@surminus ah... yes, this won't work properly for the mysql backups because just touching the file is not enough (setlock -n will exit with 0 in that case). The man page says:

   Here's the complete story: child is given a descriptor for a locked ofile pointing to the disk file named fn.  The lock disappears when this ofile is

  o      closed by all the processes that have descriptors for it or

  o      explicitly unlocked.

I think setlock should be used for this as well, but I'm not sure exactly how to implement it yet because automysqlbackup is an external module, and we just create the pre/post scripts. I'll see if I can take another look at it later today.

Looks like we can customise the cron template via a parameter to automysqlbackup::backup, so that might be the best place to put a setlock in.
https://github.com/nextrevision/puppet-automysqlbackup/blob/master/manifests/backup.pp

@MatMoore: I've changed the backup to use setlock but the mechanism is a hack. I've not tested it yet but would be interested in your opinion.

Could we use lockfile-create and lockfile-check instead of setlock? http://linux.die.net/man/1/lockfile-create

@surminus are those commands interoperable with setlock? If it works that would be preferable to using setlock in this way I think.
What I had in mind originally was customising the cron script generated by that module to use a setlock command rather than defining pre/postbackup scripts.
$cron_template        = 'automysqlbackup/automysqlbackup.cron.erb',

I didn't look into it any further though - any idea if that would work?

On second thoughts, I wonder if we can emulate the behaviour of setlock in bash by having bash open the lockfile for writing.

@MatMoore not sure if they would work together, I think both sets of commands just put a write-lock on the specified file, could be worth testing.

I wonder if flock would do what we want, might look into that.

:bird:

@mattbostock do you think this can be merged?

@tijmenb My understand is that it won't work as-is and I'm afraid I didn't get chance to look into an alternative lock mechanism. This is definitely a change we want though.

Allright, I'll close this until alternative lock mechanism has been looked at. Is there a ticket on your backlog?

@tijmenb It's being tracked in the Second Line backlog: https://trello.com/c/Z5T7xEcX/72-add-lockfile-functionality-to-nightly-reboots-have-important-jobs-write-release-this-lock


Create a DNS seeder health check utility

Motivation
It's hard to tell if Zebra's DNS seeders are working and returning useful nodes.
Previous Work
Zebra has a Grafana dashboard that shows initial peer (DNS seeder) versions:
https://github.com/ZcashFoundation/zebra/blob/main/grafana/peers.json
Design Ideas
Using zebra-network's isolated connections, create a utility binary that checks:

For Mainnet and Testnet:

For every default DNS seeder DNS name:

For IPv4 and IPv6:

Do DNS resolution on the seeder DNS name
Check the number of returned results
Check connecting to each IP
Check the network protocol version for each node

This should allow us to diagnose the following issues with DNS seeders:

Low number of addresses
High number of down (or incorrect) nodes
High number of outdated network protocol versions

Design Alternatives
We could modify an existing Bitcoin DNS seeder health checker.

This would be nice for the hackathon, but we already have a dashboard for this purpose

This came up recently

I think we're just initially going to do this using dig or a similar DNS command.


Add support for fetching/creating public/anonymous gists (no token is needed for those)

Didn't even see this issue lol. Here's a pull request: https://github.com/zoffixznet/perl6-Pastebin-Gist/pull/6


misc

@kha the files vm_pos_info.* are missing

Fixed, thanks. Plus a new expr gdb pretty printer as bonus.


Filter with global term count in the HPO MTC filter

Implement the global count rule to remove terms that are not present in a sufficient proportion of individuals.
The rule can drop a term unless it annotates at least n individuals (or a proportion, say 20% by default).

@pnrobinson this issue is regarding the new MTC filter that you envisioned after the call with Mike. The new filter uses a threshold $t_{NEW} \in (0, 1)$ to filter HPO terms that are not present in at least $t_{NEW}$ individuals.
However, before I implement it, I need more info. Specifically, I want to ensure that it is not redundant with the Skip terms that occur very rarely rule, which takes a threshold $t_{HMF01} \in (0, 1)$ as well.
The new MTC filter is more restricting than HMF01, so we should ensure that it is run after HMF01. Moreover, the threshold values must satisfy $t_{HMF01} \le t_{NEW}$, otherwise we should report a bug to the users.
I plan to add a new threshold parameter $t_{NEW}$ to the default_filter constructor.
Does this sound OK to you?


Using code in other projects

Are there any conditions/licenses for using this code in a project, whether directly using it or copying a portion of the code?

Hi @Marsfan ,
At present the license is at the top of the file. In case of the bme280.h file,
/**
 * Copyright (C) 2016 - 2017 Bosch Sensortec GmbH
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 *
 * Neither the name of the copyright holder nor the names of the
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
 * OR CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
 *
 * The information provided is believed to be accurate and reliable.
 * The copyright holder assumes no responsibility
 * for the consequences of use
 * of such information nor for any infringement of patents or
 * other rights of third parties which may result from its use.
 * No license is granted by implication or otherwise under any patent or
 * patent rights of the copyright holder.
 *
 * @file	bme280.h
 * @date	13 Jul 2017
 * @version	3.3.0
 * @brief
 *
 */

@BoschSensortec Ahh. I somehow overlooked that. Thanks