Transpiler bug: conflict with comments

Tried to build this code
_eol = char(13)
_hexDigitMap = {}
for i in range(0,15)
	if i < 10 then
		_hexDigitMap[str(i)] = i
	else
		_hexDigitMap[char(55+i)] = i	// (lowercase hex digit)
		_hexDigitMap[char(87+i)] = i	// (uppercase hex digit)
	end if
end for

_escapeFrom = ["\\", """", char(8), char(9), char(10), char(12), char(13)]
_escapeTo = ["\\", "\""", "\b","\t","\n","\f","\r"]
_escapeIndexes = _escapeFrom.indexes

With the following wrong results:
_eol = char(13)
_hexDigitMap = {}
for i in range(0, 15)
	if i < 10 then
		_hexDigitMap[str(i)] = i
	else
		_hexDigitMap[char(55 + i) // (lowercase hex digit)] = i <--- wrong brackets closure
		_hexDigitMap[char(87 + i) // (uppercase hex digit)] = i <--- wrong brackets closure
	end if
end for

_escapeFrom = [
	"\\",
	"""",
	char(8),
	char(9),
	char(10),
	char(12),
	char(13), <--- wrong comma
]
_escapeTo = [
	"\\",
	"\""",
	"\b",
	"\t",
	"\n",
	"\f",
	"\r", <--- wrong comma
]
_escapeIndexes = _escapeFrom.indexes

The problem solver if I move the "// (uppercase hex digit)]" comments out of the conflict line (up or down)

Hey @Xisec,
thanks for reporting. Sorry that it took a bit of time to address the issue. I had to essentially refactor parts of the transformer.
The issue related to the comment should be fixed now with version 0.7.0. The example:
_eol = char(13)
_hexDigitMap = {}
for i in range(0, 15)
	if i < 10 then
		_hexDigitMap[str(i)] = i
	else
		_hexDigitMap[char(55 + i) // (lowercase hex digit)] = i <--- wrong brackets closure
		_hexDigitMap[char(87 + i) // (uppercase hex digit)] = i <--- wrong brackets closure
	end if
end for

should now result into
_eol = char(13)
_hexDigitMap = {}
for i in range(0, 15)
	if i < 10 then
		_hexDigitMap[str(i)] = i
	else
		_hexDigitMap[char(55 + i)] = i // (lowercase hex digit)
		_hexDigitMap[char(87 + i)] = i // (uppercase hex digit)
	end if
end for

Regarding your second report:
_escapeFrom = [
	"\\",
	"""",
	char(8),
	char(9),
	char(10),
	char(12),
	char(13), <--- wrong comma
]

Unfortunately that is by design since MiniScript does not allow multiline arrays without tailing commas unless you would write:
test = [
	"\\",
	"""",
	char(8),
	char(9),
	char(10),
	char(12),
	char(13)]

which would look to nice IMO.

Also a hint since you're building the code. I recommend for building to use either default or uglify since beautify is usually an option you would use in development phase. I for example only use the beautifying via the formatter which you can activate in your VSCode settings by for example activating format on save.

Closing issue for now. In case you're still experiencing issues feel free to reopen this issue.


proj: fix test suite

When testing #213831 internally we ran into a build failure caused by that change for the proj package (on x86_64-linux).  We're not sure how that's possible, but the nature of the build failure was that the network tests for the proj package were failing due to missing certificates, so I fixed the build failure by adding cacert as a test dependency.
It's still not clear (A) why the cert suddenly became necessary after the change in #213831 or (B) why the build worked at all before, but this is probably the right thing to do regardless because the test suite does have a network component.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Fits CONTRIBUTING.md.

Very curious! I'm wondering if sandbox = false had anything to do with it? I found a couple packages that fail when sandbox = false but not when sandbox = true...

Yeah, although even so it would still not explain why the linker-related change affected the behavior.  It wasn't just because of triggering a new build, because I also verified that triggering a rebuild of proj before my linker change still succeeded.

So so odd! Thanks for sharing this curiosity!


Partially initialized module 'dspy' has no attribute 'OpenAI' (most likely due to a circular import)

I kept getting an error of
    llm = dspy.OpenAI(
          ^^^^^^^^^^^
AttributeError: partially initialized module 'dspy' has no attribute 'OpenAI' (most likely due to a circular import)

Code
from datasets import load_dataset
import dspy
# from dspy.teleprompt import MIPROv2 as MIPRO
# from dspy.functional import TypedPredictor
# from dspy.evaluate.evaluate import Evaluate
import os
from dotenv import load_dotenv

# load_dotenv()

llm = dspy.OpenAI(
    model='gpt-4o',
    api_key=os.environ['OPENAI_API_KEY']
)

dspy.settings.configure(lm=llm)

Commands I ran
pip install dspy-ai

> python --version
Python 3.12.6

Found the bug. It was because my file's name isdspy.py


Power category shouldn't be in advanced

To Reproduce
Steps to reproduce the behavior:

Go to 'Blocks -> Advanced.'
See 'Power' Category

Expected behavior
Why does 'Power' category
Screenshots

Desktop (please complete the following information):

OS: windows 10
Browser: Edge

fixed


add better tests and CI

[ ] Add tests to cover more functions
[x] Add CI

Tests to add:

[ ]  matcher on text path
[ ]  wildcard path
[ ]  route struct methods
[ ]  method not allowed
[ ]  utils functions
[ ]  params
[ ]  custom rule matcher
[ ]  all internalHandler types
[ ]  context

Test coverage: 78.6%

fdf9a26 should close this issue


ci: replace @teppeis/renovate-config with @cybozu/renovate-config

Codecov Report

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


Couldn't build correctly because of monorepo

Amplify CLI Version
10.7.1
Question
After reading the documentation I am still confused how to use amplify to build my monorepo. My directory structure is
projectRoot/:
  package.json
  amplify.yml
  - reactapp/
       - package.json
  - graphqlapp/
       - package.json

Now I only want amplify to build and publish the reactapp, because the graphqlapp is legacy that has been manually deployed with AWS sam. I ran amplify publish from the reactapp, but it seems that amplify always picks up my graphqlapp, tries to build it, and fails with an error, which is what I don't want. Moreover, amplify doesn't seem to be able to recognize the existence of the react app, because after it failed to publish, I went to the console and was only able to see the "backend", and the "frontend" says waiting to be deployed.
I have set the amplify.yml at the root directory with the content:
version: 1
applications:
  - appRoot: ./reactapp
    frontend:
      phases:
        preBuild:
          commands:
            - cd react-app
            - npm ci
        build:
          commands:
            - npm run build
      artifacts:
        files:
            - "**/*"
        discard-paths: yes
        baseDirectory: ./build

And also I've set the AMPLIFY_MONOREPO_APP_ROOT env in the command-line to AMPLIFY_MONOREPO_APP_ROOT=/projectRoot/reactapp.
What am I doing wrong?
How do I make it ignore the existence of graphqlapp entirely?

I think it's trying to read the package info from the projectRoot/package.json. How do I make it read from "reactapp/package.json" instead?

Hey @ylilarry :wave: thanks for raising this! The amplify.yml file is a build specification for Amplify Hosting, where amplify publish will use the values selected in your project configuration (amplify/.config/project-config.json) to build and publish changes to your backend and frontend

Yes the CI workflow works as expected. I hope that the documentation could clarify this with a warning: "amplify.yml is not used when manual publish is used" because that was kinda subverting the expectation.


shift components to chakra ui components

The current state: using the components in the components folder.
Goal: within the website page, swap out our components with chakra ui components and adjust to fit in with current theme (in the future, the adjustments will be done via design creating a custom chakra ui theme).

Specifics:
Within each page there are components that come from the components folder. With the exception of "Hex," other components should be swapped with their Chakra UI counterpart or closest component of the sort. Then they should be adjusted accordingly to fit with the theme.
Here is the Chakra UI site for reference: https://chakra-ui.com/.

Specifically, convert the footer component and the Rebranded page to chakra UI.


fix: fix ide path routing based on path option

When I think about it again, it can be solved with a combination of path and prefix options. However, there is an error when using graphiql/playground, but I will upload a new PR that has been corrected.


How to specify command-line ("run") arguments for an executable?

How can I specify command-line ("run") arguments for an executable (i.e. cmake target)? I would have expected to find this here, but even after spending more than 10 minutes of googling and reading, I still haven't found any documentation of how to do it. This should be documented much better.
I am specifically looking for how to do it in VS 2019 Preview.

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

ID: 781298c5-3bb4-0bd4-06ca-b09517a76ebc
Version Independent ID: acb60102-701d-ccb2-d138-2ceb35813292
Content: CMake Projects in Visual C++
Content Source: docs/ide/cmake-tools-for-visual-cpp.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

I have updated the documentation to mention using "Targets View". @patrikhuber thanks for the feedback!


New remote manifest for Cloud API reference.

This PR changes our build to automatically pull the Cloud API releases from a remote maniest file.
Fixes DOC-6070.

This change is


StackOverflowException when running example from "Generating Bindings" with NuGet Package

I created a new Visual Studio 2015 project, added the CppSharp project via NuGet (v0.8.17).  Then I created a main function as below.
public class Program
{
    static void Main(string[] args)
    {
        ConsoleDriver.Run(new MyLibrary());
    }
}

My MyLibrary class implements ILibrary, but all of its functions are empty.  If I add IncludeDirs, Headers, LibraryDirs, and Libraries, the same problem happens.  When I run the program, I get:
Process is terminated due to StackOverflowException.

If I inspect the dump file that gets produced, I see a lot of calls to CppSharp.dll!CppSharp.MSVCToolchain.FindVSVersion(...).
OS: Windows 10 64-Bit
Used headers
N/A
Used settings
N/A
Target: MSVC

Late here, but same problem. It is very like that the installed Visual Studio 2015 is not with rc.exe in PATH. Consider repair VS2015 update3's installation with choosing:

Windows and Web Development -> Universal Windows App Development Tools -> Tools (1.4.1) and Windows 10 SDK (10.0.14393)

ref: https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt


OOTB Command Palette offers many commands that do not exist

1 Launch OOTB V1.42.1 on Windows 7.
2 In Command Palette attempt to execute Git: Open Checkout to...

Expected: Git checkout dialog box
Observed:  "command 'git.checkout' not found".

It seems that the Git extension is disabled. Can you check in the extensions panel? Can you check your user settings?

It seems that the Git extension is disabled. Can you check in the extensions panel? Can you check your user settings?

As I said I'm using VS Code OOTB. I've made no change to extensions or extensions-related settings.
Have you tried this on an OOTB installation?

Are there any other errors?
What does the Console show in Developer: Toggle Developer Tools?

What does the Console show in Developer: Toggle Developer Tools?

You seem not to have git installed.
You should've gotten a notification in the bottom right corner of the workbench saying that Code couldn't find git.exe. Did you get one?

Nevertheless, the commands should not appear when git is missing, so I hid them in that case.

You should've gotten a notification in the bottom right corner of the workbench saying that Code couldn't find git.exe. Did you get one?

No. Did you?
The only notification I got was the one I showed in the report.

Nevertheless, the commands should not appear when git is missing, so I hid them in that case.

"In that case." Isn't the program supposed to hide inactive commands automatically in general?


Fix updating composite actions

I think #6660 has regressed this case. I noticed it thanks to https://github.com/dependabot/dependabot-core/issues/4178#issuecomment-1432287375.
I'll try to add a spec and ship this soon.

Thanks @Nishnha! Yup, all uses: should count as dependencies. I added an extra spec to check that.


cephfs admin: need functions equivalent to 'fs subvolume snapshot ...'

As per #341.
Functions need to be roughly equivalent to:

fs subvolume snapshot create
fs subvolume snapshot info
fs subvolume snapshot ls
fs subvolume snapshot rm

done.


Area erasing rotates on stations.

Description
Area erasing box appears to be a bit rotated when you are on a station, making area erasing harder to use
Reproduction

Open build menu
Enable the erase mode
Ctrl+LMB
Drag your mouse around

Screenshots
Demonstration:

Area erase on another map (terminal in this example)

Thought we had an issue but this was always supposed to be temporary.


Counters+ is broken on 1.18.3

Description:
The plugin does not work on the latest moddable version. The UI does not show up when entering its settings. Tested with only Counters+ dependencies installed.
Logs:
_latest.log
CountersPlus.txt

[CRITICAL @ 20:38:56 | UnityEngine] KeyNotFoundException: The given key was not present in the dictionary.
[CRITICAL @ 20:38:56 | UnityEngine] System.Collections.Generic.Dictionary2[TKey,TValue].get_Item (TKey key) (at <eae584ce26bc40229c1b1aa476bfa589>:0) [CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.Utils.CanvasUtility.CreateTextFromSettings (CountersPlus.ConfigModels.ConfigModel settings, System.Nullable1[T] offset) (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.UI.MockCounter.UpdateMockCounter (CountersPlus.ConfigModels.ConfigModel settings) (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.UI.FlowCoordinators.CountersPlusSettingsFlowCoordinator.RefreshAllMockCounters () (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.UI.FlowCoordinators.CountersPlusSettingsFlowCoordinator.DidActivate (System.Boolean firstActivation, System.Boolean addedToHierarchy, System.Boolean screenSystemEnabling) (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] HMUI.FlowCoordinator.Activate (System.Boolean firstActivation, System.Boolean addedToHierarchy, System.Boolean screenSystemEnabling) (at <4ed6ccd55f634459bd4b39b724b413c6>:0)
[CRITICAL @ 20:38:56 | UnityEngine] HMUI.FlowCoordinator.PresentFlowCoordinator (HMUI.FlowCoordinator flowCoordinator, System.Action finishedCallback, HMUI.ViewController+AnimationDirection animationDirection, System.Boolean immediately, System.Boolean replaceTopViewController) (at <4ed6ccd55f634459bd4b39b724b413c6>:0)
[CRITICAL @ 20:38:56 | UnityEngine] BeatSaberMarkupLanguage.BeatSaberUI.PresentFlowCoordinator (HMUI.FlowCoordinator current, HMUI.FlowCoordinator flowCoordinator, System.Action finishedCallback, HMUI.ViewController+AnimationDirection animationDirection, System.Boolean immediately, System.Boolean replaceTopViewController) (at <5fc3fa84aebb4325810c2779e62189cf>:0)
[CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.UI.MenuButtonManager.b__4_0 () (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] CountersPlus.UI.FlowCoordinators.CountersPlusSettingsFlowCoordinator+<>c__DisplayClass21_0.b__0 (Zenject.DiContainer _) (at <4552991e560344699ec3dc0e861d2962>:0)
[CRITICAL @ 20:38:56 | UnityEngine] GameScenesManager+<>c__DisplayClass30_0.b__1 (Zenject.DiContainer container) (at <09a448c281024307b38abd59cf7acfa0>:0)
[CRITICAL @ 20:38:56 | UnityEngine] GameScenesManager+d__36.MoveNext () (at <09a448c281024307b38abd59cf7acfa0>:0)
[CRITICAL @ 20:38:56 | UnityEngine] UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <451019b49f1347529b43a32c5de769af>:0)

Counters+ 2.2.3 and 2.2.4 are known to be buggy and problematic. I have removed them from GitHub releases. Please downgrade to 2.2.2 while we wait for mods to become available for Beat Saber 1.19.


Inlclude link to JAC website in IA email

In the IA email send to assessors, the following is included:

Guidance on completing the form and what to include in your assessment can be found on the JAC website.

We should include a link directly to the JAC website here, to improve user experience.

@Rebecca-mcknight1991 When you're back, would love your thoughts on this :-)
Not sure which page would be best to link to? Or do we want to avoid links in emails completely, to reduce the phishing risk?


Traits chapter cleanup

This does a small reorganization of the traits (new-style) chapter. IMO it makes sense to group the logic things together. Before, canonicalized queries were kind of in the middle of all the "logic" topics.
I also did some fly-by additions, and edits to break up the text. The edits make the text easier to scan/read by my eye, but this is extremely subjective, so let me know if anyone has objections.
This work is part of https://github.com/rust-lang/rust/issues/55100.

Thanks @tmandry! I will take a look soon.
Also, a heads up: this might end up having merge conflicts with #217


When ever I launch godot with --verbose it keeps displaying this error

Tested versions
Godot Engine v4.2.1.stable.arch_linux - https://godotengine.org
System information
OS: Manjaro Linux x86_64, CPU: Intel i3-10100 (8) @ 4.300GHz, GPU: Intel CometLake-S GT2 [UHD Graphics 630], Memory: 11639MiB / 15699MiB
Issue description
Godot Engine v4.2.1.stable.arch_linux - https://godotengine.org
Inconsistent value (1) for DRI_PRIME. Should be < 1 (GPU devices count). Using: 0
OpenGL API 4.6 (Core Profile) Mesa 23.3.5-manjaro1.1 - Compatibility - Using Device: Intel - Mesa Intel(R) UHD Graphics 630 (CML GT2)
ERROR: Resource file not found: res://deepnest (expected type: )
at: _load (core/io/resource_loader.cpp:279)
also sometimes but rarely godot closes with no warning and it doesn't save anything.
Steps to reproduce
godot --verbos
Minimal reproduction project (MRP)
N/A

Which message are you referring to? This one?
 Inconsistent value (1) for DRI_PRIME. Should be < 1 (GPU devices count). Using: 0

Or this one?
ERROR: Resource file not found: res://deepnest (expected type: )
at: _load (core/io/resource_loader.cpp:279)

The latter may be due to your editor settings referencing a file that doesn't exist. Try removing your editor_settings-4.tres file in the editor settings folder while the editor is closed to reinitialize all settings to their default values.
PS: The option name is --verbose, not --verbos :slightly_smiling_face:

That worked deleting editor_settings-4.tres did it thanks alot!!!


Bad RSS Spanish

In my RSS reader I couldn't see the latest Spanish-language articles, and as far as I can see it's a problem with the date. Currently it looks like this.
<pubDate>mié., 14 jul. 2021 13:00:00 +0000</pubDate>
But it should be the day of the week and mouth in English, capitalize and without the dot.
<pubDate>Wed, 14 Jul 2021 13:00:00 +0000</pubDate>
RSS Specification: https://www.rssboard.org/rss-specification#ltpubdategtSubelementOfLtitemgt

Thanks for reporting this @tanrax.
I took a look and there doesn't seem to be a good way to fix this at the moment.
To get and format the dates, we use Ghost's date helper, which uses Moment.js for localized dates under the hood. The date helper picks up the site language from the Ghost settings, and sets the locale Moment.js uses based on that.
Unfortunately it isn't possible to override this behavior specify a locale for the date helper to use. Probably the only fix for the current News theme would be to create a custom Handlebars helper to handle dates for the RSS feeds, which involves modifying Ghost itself, which we probably don't want to do.
We're working on a new version of News that uses Ghost as a headless CMS, and we can easily fix this issue in that implementation. There's no timeline for the new version of News, but we'll make sure that we fix this date formatting issue for the RSS feeds.

Thanks again for bringing this to our attention, @tanrax.
This has been fixed in the new version of News. While we don't have a timeline for release yet, your RSS feeds for https://www.freecodecamp.org/espanol/news/ should work normally once it's rolled out.
Will close this for now. Please let us know if you notice any other issues.


Handling application panics and serving a 500 error page

Hi there,
What's the recommended way for handling application panics, in order to serve a 500 error page?

I believe Go's net/http already has something in this space, but if you want more control you can write a panic-recovering middleware. Here's a really minimal example:
package main

import (
	"fmt"
	"net/http"
)

func main() {
	fmt.Println("vim-go")
}

func Recovery(h http.Handler) http.Handler {
	fn := func(w http.ResponseWriter, r *http.Request) {
		defer func() {
			if e := recover(); e != nil {
				w.WriteHeader(500)
				// deal with e
			}
		}()
		h.ServeHTTP(w, r)
	}
	return http.HandlerFunc(fn)
}

Thanks so much!


[WIP] Adjust SMIRFF format spec to address generalization of format

[x] Discuss how other mixing/combination rules would be handled
[x] Discuss how other functional forms for the nonbonded term would be selected
[x] Discuss how other functional forms for valence terms such as angle terms would be selected (and mention switch to AngleForce rather than HarmonicAngleForce, as per #179
[x] Remove id/parent_id from formal spec, just mentioning id in a usage example
[x] Put in mention of GB parameters
[x] Add line breaks for better change logs

@jchodera , anything else I'm missing?

Are you planning to change the <Harmonic*Force.../> tags to drop the Harmonic part in this PR?

@jchodera :

Are you planning to change the <Harmonic*Force.../> tags to drop the Harmonic part in this PR?

I was going to wait til we change the code to do that. Right now it's listed here under things we are GOING to do. When we do it, then I'll drop the Harmonic.

How about this plan:

Commit this PR once ready
Create a new branch for the new updates (e.g. 0.2.0) and make the updates to the spec
I'll then update the code to match the spec
We then merge the whole branch into master.

Actually, we may want to split off the SMIRFF forcefield stuff to a new repo before doing that.

@jchodera - regarding splitting into separate repo, yes, that was what we discussed by phone the other day. I made an issue and assigned it to you, but let me know if you want me to do it instead.
https://github.com/open-forcefield-group/smarty/issues/175
(Whoever does it needs to get travis going, etc., on the new repo, as well as connect it up to omnia).

Yep, I've got it slated for the weekend. Do we need it earlier than that?

No, weekend is fine. But I'd be happy to do it myself if it would free up time for you to do the property calculator for densities or GB solvation.

I've fallen behind again here, but I realized I needed to finish the GBSA PR before peeling of the SMIRFF code to another repo.

You should be good to rebase or merge from master and then we can merge this in.


style: PHP CS Fixer

https://github.com/stickeeuk/php-cs-fixer-config/pull/16

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


Documentation issue: clarify JwtBearerOptions.Audience's behaviour in its

The current XML documentation for JwtBearerOptions.Audience does not explain why this property exists when JwtBearerOptions.TokenValidationParameters.ValidAudience is also an Audience property.
I had to look into the source code to find JwtBearerPostConfigureOptions and I see that it simply copies JwtBearerOptions.Audience into JwtBearerOptions.TokenValidationParameters.ValidAudience - but only if JwtBearerOptions.TokenValidationParameters.ValidAudience is empty. This behavior is not documented.
I'd suggest changing the comment on JwtBearerOptions.Audience from this:

Gets or sets the audience for any received OpenIdConnect token.

... to something like:

Gets or sets a single valid audience value for any received OpenIdConnect token. This value is passed into TokenValidationParameters.ValidAudience if that property is empty.

For reference, here's the code: https://github.com/aspnet/Security/blob/master/src/Microsoft.AspNetCore.Authentication.JwtBearer/JwtBearerPostConfigureOptions.cs#L24-L27

@Jehoel thanks for the find. Would you be interested in sending a PR for this?


What about apps that reference nuget packages having a dependency on support libraries?

We are trying to migrate from support libraries to androidX in our Xamarin.Forms apps. However, we have some nuget packages included that have a dependency on a support library. (like xamarin.auth) This dependency causes errors during the build process when trying to use androidx. This article doesn't speak a single word about such a situation. Is there a way to work around this issue? Or is it impossible to migrate to androidX while referencing nuget packages having a dependency on a support library?

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

ID: 2c3fb215-91c9-b6bb-1f47-558dd2d4801c
Version Independent ID: 6cf63a49-569d-c910-6b22-6734d99e473a
Content: AndroidX Migration in Xamarin.Forms - Xamarin
Content Source: docs/xamarin-forms/platform/android/androidx-migration.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @profexorgeek
Microsoft Alias: jusjohns

Hi @PaulVrugt
AndroidX migration should auto migrate all the support libraries, including those used by other NuGet packages. The only error you should be receiving is a message indicating which AndroidX packages need installing into your project. If you still receive errors after doing that, then something maybe broken with AndroidX migration that needs fixing. If you believe AndroidX migration is broken, you need to open an issue in the engineering repo.


Distribute(...Touch_tip=True) returns bad coordinates on 15/50ml rack and trash container

Overview
It seems running distribute with touch_tip=True creates problems for coordinate targeting
A similar issue was reported here (https://github.com/Opentrons/opentrons/issues/1742) with troughs
Current Behavior:
Pipette tip aspirates Mastermix from correct location , proceeds to lift up 15ml tube and 15_50 tube-rack and moves rack and tube onto slot divider ridge. Pipette tip then touches the 4 corners of 15ml tube and moves to 96 well plate. Robot proceeds to dispense fluid and touch tip to 96 well plate (as expected).  Pipette then moves to slot 2 (one slot below 5) and attempts to aspirate master-mix from empty slot. User terminates run.
Steps to Reproduce
#Load API and Labware
from opentrons import labware, instruments
plate = labware.load('96-flat', '3', share=True)
tuberack15ml = labware.load('tube-rack-15_50ml', '5')
p50rack = labware.load('tiprack-200ul', '9')
Mastermix=tuberack15ml.wells('A1')
P50s = instruments.P50_Single(
mount="right",
tip_racks=[p50rack])
#Fix tips not dropping bug hopefully
P50s.plunger_positions['drop_tip'] = -6
P50s.distribute(11, Mastermix, plate.cols('1', to= '9'), new_tip='once', touch_tip=True)
--End Relevant Code Lines--
Expected Behavior:
The p50 pipette distributes 11 ul of Mastermix fluid located in 15 ml falcon tube in slot 5 location A1 to columns 1-9 of 96 well plate located in slot 3. After each aspirate or dispense step pipette tip touches 4 points on either 15ml falcon tube or well in 96 well plate.
Software: 3.5.1
Hardware: Opentrons 2 bot with most recent software

Hi @Austin-Morrell !
Thank you for your ticket submission. Have a quick question for you, are you experiencing this behavior using our modular tuberack?

I am not using the new black modular tube-rack (we just got these in today) . I am however using the clear acrylic tube rack (from the OT1 robot I think) that was supplied with our labs OT2 robot. Hope that helps.

I think there's a high probability this was solved by the labware v2 launch, which includes both:

Legacy acrylic rack: opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic
New, modular rack: opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical

We should check that touch-tip is good with those definitions using above repro before closing

Need to double-check if this is resolved in 3.13.0

@ethanfjones, just to confirm -- is the pipette moving to the side of the well while still at the bottom of the tube (i.e., at its aspirate location with the pipette stem still in the tube)?

@umbhau yes that is correct.

@umbhau Yes, that is correct.

@umbhau Yes, that is correct. After the pipette is done aspirating it will move to the side of the well then vertically upward.

Thank you @ethanfjones. @mcous, sounds like this is indeed a bug (I would expect the pipette to move vertically to its touch tip z-height before any horizontal movement).

Going to double-check if this has been fixed in APIv2. @sfoster1 would you mind checking, and also posting a tested workaround for v1?

The following behavior is observed in robot server version 3.15.0:
In APIv1, the pipette would aspirate/dispense at the bottom of the well, then move to side of the well (at the bottom) before moving to the top to perform touch tip. This causes the conical tube to be dislocated from the tube rack. Pipette would then blow out at the trash (the pipette no longer touches tip at the trash therefore no more collision here), before moving to the source to aspirate again. See video here.
The above is already fixed in APIv2. See video here.

Tested on APIV1 and APIV2 (3.15.1)
Behavior APIV1 touch tip in 15_50 tube rack:

Pipette aspirates volume
Pipette moves to the right after aspiration is complete
PIpette moves up in the Z
Pipette attempts touch tip

No issues with 15-50 tube rack touch tip behavior in APIV2


[#136] Support Stream

Closes #136
This patch adds print_to_pdf_as_stream, a new PDF printing function
that makes use of the transferMode: "ReturnAsStream" option.
Drive-by refactors:

Simplify SessionPool and make it responsible only for session
checkin/checkout and keeping track of the use count.
Move the rest of the functionality (spawn protocol, etc.) to Channel
with an API in Browser.
Expose the checkout_session function to the API layer so it can use
it for print_to_pdf_as_stream (as that needs to run multiple
protocols on the same session).
Dropped the checkout_and_count vs. checkout thing in favour of simply counting each session use.

TODOs

[ ] try it out, see if it does any good
[ ] refactor print_to_pdf_as_stream, move the code somewhere else
[ ] add tests for print_to_pdf_as_stream
[ ] add an option validation to both functions (forbid transferMode)
[ ] fix the fallout of the checkout_and_count removal
[ ] add to changelog

This doesn't have the desired effect. And is quite complicated.


unify grant submissions screens

We have three very similar views for grant submissions: edit, view, and discuss.  Some data is only on some and not on others.  Specifically, "other submissions by this artist" is only visible on the "view" page.  In the grant meeting we really want One View To Rule Them All which is the edit view.

OK I may still need all three:

"edit" -- the place where artists set up the grant, similar to create.  Can change name, proposed funding, grant id
"show" -- the place where voters can see the full grant info, not able to edit anything
"discuss" --> should be "meeting" or "fund" -- where admins go to propose funding, ask questions

But discuss and show I think may be redundant, let's try getting rid of show

nope, we do need all three:
show: for read-only viewing (useful for voters, and wary artists)
edit: for editing basic information about the submissions -- name, grant, requested amount, pdf
discuss: for Q&A and docs, and for grant meeting stuff.  voters need not apply

show/discuss are very similar and have a lot of overlap, maybe there's a way to better templatize, but oh well

this is done!


How much can your code speed up SECOND?

SECOND uses spconv to do sparse conv. How much can your code speed up SECOND? I did not find this information in your paper.
Your paper mentioned that you reimplement SECOND. Will this repo be available? If I want to reimplement SECOND using your 3d conv API, will it be easy? How can I do this?
Does this repo have similar interface like spconv.utils.VoxelGenerator in spconv to do voxelization?

Hi,
Thanks for your interest in our paper. We haven't compare our implementation with latest spconv, which you are welcomed to have a try. However, I do remember that in our previous experiments on 3D segmentation, our implementation using spconv didn't reproduce results of MinkowskiNet. We therefore turn to optimize MinkowskiEngine.
The re-implementation of SECOND will be made available in the future and re-implementing SECOND can be easy with our interface. Please refer to this link to checkout how to implement convolution blocks and residual blocks with torchsparse. Notice that the 3D part of SECOND is composed of these two types of blocks in our implementation.
This repo has similar interface like spconv's VoxelGenerator, but it's more similar to MinkowskiEngine.  Examples of converting point clouds to sparse voxels can be found here or here.
Best,
Haotian

Thanks a lot! Very useful!

I want to reimplement SECOND with torchsparse , how can I do this?


Light sleep is not supported now?

whenever, I call this function sdk_wifi_set_sleep_type(WIFI_SLEEP_LIGHT), it says, "light sleep is not supported now" and I also can not find the force sleep function (i.e wifi_fpm_do_sleep). I'm in quite dilemma that either the current sdk doesn't support light sleep or is there some step I'm missing to enter light sleep

The current esp-open-rtos don't support recent sdk functions and sleep mode :(
Need someone to do some reverse engineering.
#406


Update oxipng

This won't merge until there is a new release. 9.0.0 can't be installed with Clyde because of https://github.com/shssoichiro/oxipng/issues/575.


Add methods to Shape

While reading the code, I found following two patterns to be pervasive.
// 1
let max_width = context.config.max_width - indent.width();
let shape = Shape::legacy(max_width, indent);

// 2
let new_shape = Shape {
    width: context.config.max_width - shape.indent.width(),
    **shape
}

This PR adds above two methods and does minor refactorings.

Thanks for comments! Rebased.

Thanks for comments! Rebased.

I don't see any changes, did you forget to push?

@topecongiro could you email please - I can't find any contact info for you? Use my GitHub username at mozilla.com

Oops, I am sorry.

Oops, I am sorry.

No worries, and thanks for the changes


YOLOv6 notebook not working due to new release

Hello,
I've been trying to use YOLOv6 notebook and everything was okay until I got to training.
I get Can't get attribute 'SimConv' on <module 'yolov6.layers.common'
When I checked v6 repo, I found the following issue: https://github.com/meituan/YOLOv6/issues/799
Turns out that new version was released v0.4.0 (yesterday), so the weights downloaded in notebook are not correct.
I did try to change the link to download 0.4.0 weights. Model then trained, but output from that can't be converted in blobconverter:

So I figured that something added in 0.4.0 is not supported and I'm writing this here. In the meantime, if anyone else is facing the same issue, just checkout tag 0.3.0 in notebook, and everything should work the same until release 0.4.0 is supported.

Thanks for reporting @blaz-r. Seems like YoloV6 made a new 0.4.0 release recently @HonzaCuhel.

Code reconstruction and normalization of convolution operators.

Which might also cause some import issues. We'll investigate and try to add support for it.

@blaz-r Thank you very much for reporting! We have for now updated the YoloV6 Colab Training notebook, so it would work. In the meantime, we are intensively working on supporting YoloV6 R4 weights. We will keep you updated.

I have swtiched over to 0.3.0 release and am getting the same message using custom data. If I try and use the default weights, the conversion tool works. Attached is the error message I receive.

@KFStrata is this model also trained with 0.3.0? If the model was trained and exported using 0.3.0 conversion should work and we validate it with this notebook. CC @HonzaCuhel for more info.

Yes. I hit this issue today using the 0.4.0 release. I found this thread and rolled back to the 0.3.0 release and retrained a new model using only 10 epochs to confirm a solution and had the same issue. I can try 0.2.0 and see if that works but it works with the weights you get from the site but not custom models.
I ran a similar setup on my machine to the instructions in your google collab.

@KFStrata I just trained a model using the latest updated Colab which checks out the 0.3.0 release. Can you try doing the same and exporting that model?
As a side note: we have investigated the 0.4.0 version and will be integrating it into the tools, but no full ETA yet.

I don't use collab due to the nature of the datasets I train on. Can you confim a local machine can output correctly? I will follow the instructions in your collab on my local machine and try to get your results however I do not use a voc dataset but rather a modified version of a coco set up. Will that cause any issues?

For anyone else who ends up here with this conversion issue:
I followed the instructions in the this collab
I also hit the error of Attribute: int issue. I just went to yolov6/data/datasets.py and replaced the np.int with np.int_ and I was able to train and then convert successfully.

Hey, glad to see you resolved the issue!
And yeah, as long as the datasets are in the right format, it shouldn't matter. Also, you can always just download the notebooks and run them locally using something like Jupyter Lab.
As far as the np.int_/np.int issue - it's likely related to the Numpy library version. Upgrading/downgrading usually helps.

I can no longer convert using the same details as last time. I am working back through in case of user error but have not changed anything since my last update. When I go to add the latest model trained, the portal shows either the try to convert using the 'Yolov6 (R1)' option or if i use the same model on the R@, R3, it tells me to use the R1.

CC @HonzaCuhel if latest deploy broke something. Would it be possible to share the .pt weights @KFStrata ? You can also send them to us over an email if there are some privacy concerns, but it would be the easiest for us to debug.

Yes I can. Which email would you like me to send it to?

Please send to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and we will investigate.

I have sent you a copy of the .pt weights.

Hi @KFStrata,
thank you for sending us the weights. I have looked at them and found out that the reason, why the conversion is failing is because the Detection head (Detect class [link]) is missing cls_preds attribute, so my question to you is, have you modified in any way the model?
Best,
Jan

Hi Jan,
I have not. I will send another version to you today to confirm if you are seeing this issue in the latest model I am running. I am not familiar with the attribute you have mentioned.

Could you also share the training code with us @KFStrata ?

Hi @KFStrata,
thank you for sending us the weights again. I've investigate the weights and found out that your model is using effidehead_fuseab head link, whereas our converter expects effidehead link. I've compared those 2 Detection heads and found out effidehead_fuseab instead of cls_preds and reg_preds uses cls_preds_af, reg_preds_af, cls_preds_ab, and reg_preds_ab.  During inference only cls_preds_af, reg_preds_af are used. Therefore, I tried to locally edit the conversion and managed to successfully generated a .blob file. Here is the generated .blob file. Could you please try it and confirm whether it is working correctly?
Best,
Jan

I have passed this on to be tested.
Do you know how this change came to be? I am currently setting up a new computer to train on and am more than happy to share the steps I follow to get it working as this will cause some headaches fro me if I don't get it solved. Steps followed below:
Install Ubuntu 22.04
Install Cuda 12.1
Install CUDNN for 12*
Create a python venv
Follow these install instructions https://techzizou.com/install-cuda-and-cudnn-on-windows-and-linux/#linux modifying to suit my system
I can't install gcc +6 this time so I am going for a workaround - different hardware different rules etc
Now i follow my solution above to get it training using yolov6 rev 0.3.0. I am not editing any of the main code bar the one script above I mention.

Thank you! Please let us know once you know the results!

Do you know how this change came to be?

Well, YoloV6 repo offers several different versions of model, so I suppose you chose the version that uses the effidehead_fuseab. Could you please share with us the specific name of the model that you used for training?
Best,
Jan

Yolov6n
thank you,
[cid:633f3c42-997c-4f77-abeb-3cd01f64d5e4]
Kate Flack
Systems and Applications Engineer
cel
+61 (0) 419 719 247
Please excuse any typos while responding via mobile

From: Honza Čuhel @.>
Sent: Saturday, June 3, 2023 9:02:16 AM
To: luxonis/depthai-ml-training @.>
Cc: Kate Flack @.>; Mention @.>
Subject: Re: [luxonis/depthai-ml-training] YOLOv6 notebook not working due to new release (Issue #48)
Thank you! Please let us know once you know the results!
External<EMAIL_ADDRESS>Report This Emailhttps://protection.inkyphishfence.com/report?id=c3RyYXRhLXdvcmxkd2lkZS9rZmxhY2tAc3RyYXRhcHJvZHVjdHMuY29tLmF1LzUyYmExNTk5MjQyZTYwMmNmOGU5MWZkYTQ4OGVlMzZmLzE2ODU3NDY5NDMuMTQ=#key=f8e0d6a5a20fe7fe42fc892d985e7183  FAQhttps://www.inky.com/banner-faq  Protection by INKYhttps://www.inky.com/protection-by-inky
Thank you! Please let us know once you know the results!
Do you know how this change came to be?
Well, YoloV6 repo offers several different versions of model, so I suppose you chose the version that uses the effidehead_fuseab. Could you please share with us the specific name of the model that you used for training?
Best,
Jan
—
Reply to this email directly, view it on GitHubhttps://shared.outlook.inky.com/link?domain=github.com&t=h.eJxNj0uOwjAQRK-CzJakceIYhxVXMf6QVhw7itsCCXH3iWcWw65Uet1P9WZlC-x6YBPRmq8AD6Sp3FuTFgjllSJmsG6lSWOzhIY2jRHjAzDn4jIIdfxNO764SA0fLkJwKfoLOx3YXB_n_YZ080xbsE-0DmYftJlvf_26JVsM5SpsdYGhu2s-jGMnOifPnfHKjdxbLZRyrpceuFS7Q46ib7moElclMRF6NJowxXz731ABW4Gv6vMDcVtPrA.MEYCIQDIWdNGX4nrJYQzezZrfVjt2KRCCoxbddXuhA6XHNSiswIhAI7YpTFQGcxqRRD-GknsyztMZCpxHLi_jQf1JWTBQAOR, or unsubscribehttps://shared.outlook.inky.com/link?domain=github.com&t=h.eJxVj8tOwzAURH-l8prGxHFM0lUjBGqCCCptaOnO8YNYCXFlX6sLxL8jwwKY5dFIZ-YDBTeh1QINAGe_wvjNwBD6RNh3PFsw2ggOxs4eh9mH3gtnerXkAQZc0Yes3t-97Gh3akhdH7rTa7vPjk1z2DxX7W17v3tk1XeO2-3Tpu3Q1QKNUebBceDLi3WTvBip8KgnLsb1Dz87K4MAH0ckPOCc9DzNy5JQotg1EbpQZaolp0WhVMY0TlmR31BW0ixJaZSoKPk3f_37KxZkLPxBn18zIlTz.MEUCIQCL6whWi12Zc4-HwWi_OyTZvJa1axrGzlp5m_A7t6u_fAIgW6-2s5miIzqtFEadyWa5YROlnXozKfxtBc4uIFxK000.
You are receiving this because you were mentioned.Message ID: @.***>

Ah, I see. Could you please also share with with us the details of the training, e.g. the exact command that you used to train the network.
Thanks,
Jan

python3 tools/train.py --batch 32 --conf configs/yolov6n_finetune.py --data data/wof.yml --fuse_ab --device 0 --epochs 10000
thank you,
[cid:d8960ea6-4191-45b7-b550-546df7a4569c]
Kate Flack
Systems and Applications Engineer
cel
+61 (0) 419 719 247

From: Honza Čuhel @.>
Sent: Saturday, June 3, 2023 6:46 PM
To: luxonis/depthai-ml-training @.>
Cc: Kate Flack @.>; Mention @.>
Subject: Re: [luxonis/depthai-ml-training] YOLOv6 notebook not working due to new release (Issue #48)
Ah, I see. Could you please also share with with us the details of the training, e.g. the exact command that you used to train the network. Thanks, Jan — Reply to this email directly, view it on GitHu
External<EMAIL_ADDRESS>Report This Emailhttps://protection.inkyphishfence.com/report?id=c3RyYXRhLXdvcmxkd2lkZS9rZmxhY2tAc3RyYXRhcHJvZHVjdHMuY29tLmF1LzQxMWQ2MjFlYmI4NzEyMzBiMDdkZjRiZjU2OTBkYzZlLzE2ODU3ODE5NzUuMzk=#key=46b48942f05e821b0f278fcab1a770c2  FAQhttps://www.inky.com/banner-faq  Protection by INKYhttps://www.inky.com/protection-by-inky
Ah, I see. Could you please also share with with us the details of the training, e.g. the exact command that you used to train the network.
Thanks,
Jan
—
Reply to this email directly, view it on GitHubhttps://shared.outlook.inky.com/link?domain=github.com&t=h.eJxNj0uOgzAQRK8SebYDjfnYkFWu4h-hhbERbisjRbl74mSR2ZVKr_up7iwfnp1PbCHa0xngirRkXZu4gc9_MWAC63ZaFFabr-hQGDBcAVPKLkE__rzTC99coIoPspdT23SC_Z7YWh6n1w2p6hYPb29oHayzV2a9fPr9iDYbSkVYqww951a03Gk9St52jW6knXs9D2JqrBEOuBgHOfJJDnU3FYkrkhAJZzSKMIZ0-W4ogC3Av-rxBG0_T6A.MEQCIAsxwzer0KE1RGX2eJ9ssV1mNYCjhbDS5J-lC_HiPaz1AiA9D7KqtdZITUCzS9ZYTzuVLnQ_C-ce2fgV943y8eEKqg, or unsubscribehttps://shared.outlook.inky.com/link?domain=github.com&t=h.eJxVj8lugzAARH8l8rnBmMVATiFRaZuFKGpKuXqjWFAceVEOUf69cntIOsenkd7MFTg9gsUM9NaezQLCL2l7RwOmvuGkrOwkI1aqyUA3GUcN05KKOXG2h2Wyjd9Oq-f1ttq1L6t9vWnS5vPUbnZRU5X1uq7e97j8TXs8Hl7rD_A0A4OXGauJJfOL0iO_SC7g0I2EDcs_ftaKO2aNHxEQBxOEOI6QoDTPUBSHNMx4l9AuxUXIGRYQ4TzNclRkaRAXXiK85N_85f2XL3BfeEC3HwI7VKo.MEQCIGCNSvwGSPvvqeaP0r2q81xHMMAPwq9Z5wsUFIFvvUkNAiAOajOldKIawXWfg8FB1nNrs_SJREfMqO_6WcHOt4zqgQ.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @blaz-r  @KFStrata ,
I apologize for the delay, we have just released a new version of tools that supports conversion of the YoloV6 R4 models.
Best,
Jan

Hi all,
I am hitting this issue again on a new machine. I am now running multiple GPUs. Code below is what I have used to start training. Using the YOLOv6n.pt file on 4.0
python -m torch.distributed.run --nproc_per_node 8 tools/train.py --batch 256 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0,1,2,3,4,5,6,7
python -m torch.distributed.run --nproc_per_node 8 tools/train.py --resume

Hi @KFStrata ,
Can you please share the weights with @HonzaCuhel so we can take a look? It should likely be an easy fix, my guess is the weights are stored slightly differently which makes the tools fail.

If possible, it would also be good if you make a new issue since it's related to multi GPU training rather than a new release. Thanks!

I think I found the issue.
wget https://github.com/meituan/YOLOv6/releases/download/0.3.0/yolov6n.pt -O ./weights/yolov6n.pt
This came from one of the tutorials from yolov6 on the repo itself but I cannot find it now. I will try using the latest weights and see what happens.

So using the 0.4.0 weights threw the old simconv error. There is another support ticket for that and its not fixed yet. I am back to using the 0.3.0 and its running.

Hi,
yes, please send me the .pt weights so that I can have a look. Thank you!
Best,
Jan

Can I get your email?

Yes, sure. My email is<EMAIL_ADDRESS>


Creating nested resources

The spec talks about fetching resources via nested routes. For example:

And the following request fetches an article's author:

GET /articles/1/author HTTP/1.1
Accept: application/vnd.api+json

It also talks about linking resources after they've been created:

In the following example, the comment with ID 123 is added to the list of comments for the article with ID 1:

POST /articles/1/relationships/comments HTTP/1.1
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json
>
{
  "data": [
    { "type": "comments", "id": "123" }
  ]
}

However, it does not talk about creating a resource via nested routes. So my question is can the comment be created via a POST to the nested resource without specifying any relationship information in the data (since it's implicit from the URL)?
POST /articles/1/comments HTTP/1.1
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json

{
  "data": {
    "type": "comments",
    "attributes": {
      "body": "First!"
    }
  }
}

Note: I realize the actual data structure used in the spec is more complicated and the comment needs to be linked to an author. Let's assume that's not the case for the sake of this discussion.

So my question is can the comment be created via a POST to the nested resource without specifying any relationship information in the data (since it's implicit from the URL)?

The base spec treats URLs as opaque and therefore doesn't have a concept of "nested resources". URL design only shows up as a recommendation, so there's nothing binding.
To answer your question: yes, it's absolutely fine for relationships or attributes to be implicitly set on the server. A server might choose to do so based on who the user is, a segment in the URL, the current data/time, or any number of factors.

Thanks @dgeb. That was my impression, but I was involved in a discussion elsewhere with people who thought this was discouraged, so I figured I'd get a definitive answer.

BTW, your response resolved my issue, so this can be closed unless you wanted to leave it open for others to respond.

Ok, great @scottgonzalez.

I was involved in a discussion elsewhere with people who thought this was discouraged

Well, I would say that it's only discouraged in so far as a flat URL structure is recommended but by no means required.
Anyway, I'll close this now but will be glad to reopen if more discussion arises.


Error page improvements

Give similar spacing between the buttons icons
Align the icons to the right
Move the icons at the bottom
Change the order of the icons to Copy logs, Open GitHub issue and Close


Clarify license & terms

Ahoy!
Thank you for putting together this project- you seem to have done the legwork that's otherwise missing to get SD-card support compatible with the Pico SDK.
In lieu of reinventing the wheel I'd like to re-use your tf_card.c and tf_card.h files, building them and FatFS into libraries as part of our collection of Pico examples/drivers. Could you clarify the license, please?
I've put together an example based around this for serving files from SD card over a wireless network (using an ESP32 pack for the Pico). See: https://github.com/pimoroni/pimoroni-pico/commit/24fa36975933136105322c948d48c041bd3173c7
(I noticed your Pico Wav Player is BSD 2-Clause and includes a possibly more up-to-date version of this code!)

It's my great pleasure to be referenced from your expanding project.
I put LICENSE as BSD 2-Clause.
Thank you!


remove unused functions from the RTT stats

These functions are not used anywhere, and were removed from Chromium code as well.

Codecov Report

Merging #1334 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1334      +/-   ##
==========================================
- Coverage   90.52%   90.51%   -<.01%
==========================================
  Files         119      119
  Lines        8310     8265      -45
==========================================
- Hits         7522     7481      -41
+ Misses        522      520       -2
+ Partials      266      264       -2

Impacted Files
Coverage Δ

internal/congestion/rtt_stats.go
100% <100%> (+5.41%)
:arrow_up:

Continue to review full report at Codecov.

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


CanCanCan Authorize

In this update, the following were implemented;

Setup CanCanCan in the project.
Add a role column to the users table.
Using CanCanCan, a user can delete a post if it is theirs or if they have an admin role
Only authorized users see the delete buttons for posts and comments
A user can delete a comment if it is theirs or if they have an admin role

@tresorsawasawa thank you for the painstaking review, we will implement the changes.


token authentication

Since Notebook 4.3 token authentication is on by default, and my tmpnb installation started asking for password. I eventually figured out I could set --NotebookApp.token="", but I'm not sure if that is safe or if there is a recommended way. (I guess it is as safe as it was before since token authentication was disabled by default before. Or do I have that wrong?).
I saw https://github.com/jupyter/tmpnb/issues/255 which seems related. Should I be using https://github.com/yuvipanda/jupyterhub-tmpauthenticator?

That's correct, you now need to set the token to '' for tmpnb installations.

I'm working on an update to tmpnb that will use the tokens to login users when they get their containers, making it a nice security improvement for tmpnb.


Feature Scaling in DoE

Hi @Osburg,
this is my interpretation of the scaling as discussed in https://github.com/experimental-design/bofire/pull/354 and https://github.com/experimental-design/bofire/issues/343.
What do you think? No testing etc. yet.
Feel also free, to proceed just from this PR, of course only if you want ;)
Best,
Johannes

I also added some tests, and not that I return as jacobian just the diagonal elements of the full matrix.

Hi @jduerholt,
hmm, on my machine the tests are not failing... possible that they just randomly failed?
Apart from this: do my additions roughly look like you wanted it?
Cheers
Aaron :)

Hi @jduerholt :)
is this one ready to be merged?
cheers
Aaron

Hi @Osburg,
thx for the reminder, I will have a look over the week.
Best,
Johannes

Hey Johannes,
sry for being inactive for so long, I was very busy with university recently. I removed the TransformEnum and added validators for the feature range.
I think the error in type checking comes from pytorch see here
Cheers
Aaron :)

In the PR, also the typing issue is fixed.

So just merge main into your branch, as the PR is already accepted.

Hey! in the current version the new Bounds type is used instead. Do it look ok to you now? :)


Compute forces on the IPU

nanoDFT computes forces on the CPU using def grad(..) on line 230. To run this on the IPU we could port lines 269-273 and line 283.
Different strategies:

Compile libcint to poplar and replace all mol.intor(..) with corresponding poplar calls (ERI is only real problem).
Use Jax implementation from D4FT for the forward pass of the mol.intor(..) and match up the derivative with the calls on lines 270-273 (pyscfad did this on CPU so their code may be helpful).
Line 230 uses this theorem to compute gradients. We could instead use jax.grad(..). For that we need to fix all calls in _nanoDFT(..) which don't support derivatives.

apologies, clicked post on the wrong github. if anyone has delete powers, please feel free to delete.


⚠ Samsung has degraded performance

In b1ca530, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2809 ms

Resolved: Samsung performance has improved in f15e86a.


Update TESTS.md

This is a new version of the Xcode setup instructions updated for Swift 3 and Xcode 8.

What do you think @celiagomezdev ?

I noticed that you made these changes on the webpage.  You can also submit pull request using the command line in the terminal or by using the Guithub GUI app. The web page will only allow you to edit text documents , if you wanted to add  another file ,like images, you would want to use the github GUI client or the command line git client.
Here is a little course.
https://www.udacity.com/course/how-to-use-git-and-github--ud775
There are probably better ones out there.

Thanks!
I've been playing with Git for a while and can handle maintaining a copy of a repo on Github and my local machine. Where I'm a blind is on interacting with repos other than the ones I created.
I forked xswift into my account. Then I went via the Web because I didn't know how to make changes to my fork then push them back. I'm also not sure what the relationship is between two repos which are both on Github. In my head I think of them as the source and a local copy.
Should I be making changes in my "local" fork, and then making a pull request?

you make ghe changes on your local fork then push those changes to your own remove repo which is what shows up on github; from there you can do a pull request to the actual repo where you want the changes to go to. Its a little confusing. The github app can help with this and you can do PR from there too.

thanks. the fog is definitely clearing.
After I do a little more research, can I try to push the tutorial images into the img folder for practice?

absolutly. u r welcome to swap those out in another pr.

I am going to make more changes to this request based on the feedback, but I won't get to it until Friday at the earliest.

Thank you @bobdel and @celiagomezdev ! Documentation is very important to us.


Make dark mode look like how it looks with dark reader

Summary
Changed the color to make the dark mode UI more like with dark reader
Test Plan
Bare eyes testing
Issues
Closes https://github.com/icssc/AntAlmanac/issues/842

Hi Eric, I think your feedback is solid, and can you share your dark reader config with me? I was using the default config (everything off) @EricPedley

This is too hard. I'd rather just overhaul to MUIv5 before dealing with any sort of theming. I'll defer to Eric for this 🤓


feature (Breaking Change): Implement Array and KvList Support

This is a breaking change because of proto differences.


can't obtain bundle.bnd at the end...

HI LTVA1,
first thanks for this video player ! Great idea !
So, sorry to disturb.....I'm almost done with your video player but got a problem
I'm succesfull in obtaining the frames and extarcting audio with ffmpeg...
I can open the visual studio project, no problem, but when I generate the result I obtain a "flipper_video_converter.exe" file.
This file when I run it seems to do nothing and when I read it withe notepad+ I see a lot of strange symbols, this file seems corrupted !?!
And it don't generate a bundle.bnd file...   I'm failing something but don't see what... :-(
Sorry for bad english, I'm from France.....and also, trying my best in understanding python, C etc....really new to this !
Thanks if you have 5 minutes to answer and guide me....
Bests regards, Alex.

You need to open the project in Visual Studio and run it in Visual Studio. I don't know how it manages to generate an exe file in the folder where it should make .bnd one

ok, thank you to took time to answer me...


how to sand a socket request

could please show how to send a socket request ?

Can you tell a little bit more? What should the API look like? What do you want to do?


Add color "skins" to the theme

[x] This is a feature request.

Strip out hard-coded color values in SCSS and replace with variables to allow for more "skinning" opportunities ala Basically Basic.

SCSS has been refactored to better hand "skinning". If anyone wants to play around with it the changes can be found in the color-skins branch.
Probably the easiest way to enable it is by using the pre-release theme gem, add the following to your Gemfile:
gem 'minimal-mistakes-jekyll', :git => 'https://github.com/mmistakes/minimal-mistakes.git', :branch => 'color-skins'

And then add minimal_mistakes_skin: "dark" to your _config.yml file.

Couple of minor styling things need to happen (eg. fix author icon colors on dark backgrounds), but it's mostly usable.

Dirt skin: dirt

Air skin: air

Mint skin: mint

These are great!  Thanks for the work.

I noticed that none of your examples include a comments section.  I would expect the color options to be reversed vs. dark text field with light border area.

Last note for documentation, if you have already made CSS changes be sure to update your /assets/css/main.scss to include
@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin

@justinrummel I'm guessing you have an outdated _sass/_forms.scss file or one of the comments includes.
form should have background-color: $form-background-color; which will fill it in with a darker color like this:

Thanks, I must have an override somewhere on /assets/css/main.scss somewhere...


Installation failed

Laravel 4.2
composer require laracasts/integrated --dev
Result:
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laracasts/integrated 0.10.1
    - Installation request for laracasts/integrated 0.10.* -> satisfiable by laracasts/integrated[0.10.0, 0.10.1].
    - Conclusion: remove symfony/dom-crawler v2.5.10
    - laracasts/integrated 0.10.0 requires symfony/dom-crawler ~2.6 -> satisfiable by symfony/dom-crawler[v2.6.0, v2.6.1, v2.6.2, v2.6.3, v2.6.4, v2.6.5].
    - Can only install one of: symfony/dom-crawler[v2.6.0, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.1, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.2, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.3, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.4, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.5, v2.5.10].
    - Installation request for symfony/dom-crawler == <IP_ADDRESS> -> satisfiable by symfony/dom-crawler[v2.5.10].

Hmm - just ran that command with a fresh install of Laravel, and everything worked great.
Are you pulling in any other test packages through Composer that might cause this?
(Closing, but feel free to respond.)

Just tried fresh install Laravel:

composer create-project laravel/laravel . 4.2 --prefer-dist
ОК
composer require laracasts/integrated --dev
ERROR

Using version 0.11.* for laracasts/integrated
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for laracasts/integrated 0.11.* -> satisfiable by laracasts/integrated[0.11.0].
    - Conclusion: remove symfony/dom-crawler v2.5.10
    - laracasts/integrated 0.11.0 requires symfony/dom-crawler ~2.6 -> satisfiable by symfony/dom-crawler[v2.6.0, v2.6.1, v2.6.2, v2.6.3, v2.6.4, v2.6.5].
    - Can only install one of: symfony/dom-crawler[v2.6.0, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.1, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.2, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.3, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.4, v2.5.10].
    - Can only install one of: symfony/dom-crawler[v2.6.5, v2.5.10].
    - Installation request for symfony/dom-crawler == <IP_ADDRESS> -> satisfiable by symfony/dom-crawler[v2.5.10].

Installation failed, reverting ./composer.json to its original content.

https://github.com/laracasts/Integrated/commit/e22ed654a3dfecb2c39b3ae5daeeb5512fa9330a
this change is not helped
What could be the solution?

Samething happened with me for Laravel 4.1
Using version ^0.15.5 for laracasts/integrated
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laracasts/integrated ^0.15.5 -> satisfiable by laracasts/integrated[0.15.5].
- Conclusion: remove symfony/dom-crawler v2.4.10
- Conclusion: don't install symfony/dom-crawler v2.4.10
- laracasts/integrated 0.15.5 requires symfony/dom-crawler ~2.5|~2.6 -> satisfiable by symfony/dom-crawler[v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6
.6, v2.6.7].
- Can only install one of: symfony/dom-crawler[v2.5.0, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.1, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.10, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.11, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.2, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.3, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.4, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.5, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.6, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.7, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.8, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.5.9, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.0, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.1, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.2, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.3, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.4, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.5, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.6, v2.4.10].
- Can only install one of: symfony/dom-crawler[v2.6.7, v2.4.10].
- Installation request for symfony/dom-crawler == <IP_ADDRESS> -> satisfiable by symfony/dom-crawler[v2.4.10].

Problem 1
- instaclick/php-webdriver 1.4.3 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- instaclick/php-webdriver 1.4.2 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- instaclick/php-webdriver 1.4.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- instaclick/php-webdriver 1.4.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- laracasts/integrated 0.15.6 requires instaclick/php-webdriver ~1.4 -> satisfiable by instaclick/php-webdriver[1.4.0, 1.4.1, 1.4.2, 1.4.3].
- Installation request for laracasts/integrated ^0.15.6 -> satisfiable by laracasts/integrated[0.15.6].
Installation failed, reverting ./composer.json to its original content.
but on the same virutal machine when i execute curl --verison it gives me the following result
curl 7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/<IP_ADDRESS> libidn/1.23 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
It says curl is installed, Please Help

I am trying to install with a fresh installation of Laravel 5.2.22.
I run composer require laracasts/integrated --dev and I get:
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for laracasts/integrated ^0.15.6 -> satisfiable by laracasts/integrated[0.15.6].
    - Conclusion: remove symfony/css-selector v3.0.3
    - Conclusion: don't install symfony/css-selector v3.0.3
    - laracasts/integrated 0.15.6 requires symfony/css-selector ~2.5|~2.6 -> satisfiable by symfony/css-selector[v2.8.0, v2.8.1, v2.8.2, v2.8.3].
    - Can only install one of: symfony/css-selector[v2.8.0, v3.0.3].
    - Can only install one of: symfony/css-selector[v2.8.1, v3.0.3].
    - Can only install one of: symfony/css-selector[v2.8.2, v3.0.3].
    - Can only install one of: symfony/css-selector[v2.8.3, v3.0.3].
    - Installation request for symfony/css-selector == <IP_ADDRESS> -> satisfiable by symfony/css-selector[v3.0.3].

Installation failed, reverting ./composer.json to its original content.

What do I need to do?

Get exactly the same error with css-selector. What should i do for it ?

I just got this with Laravel 5.2 and Dingo API
    "require": {         "php": ">=5.5.9",         "laravel/framework": "5.2.*",         "dingo/api": "1.0.*@dev",         "tymon/jwt-auth": "0.5.*",         "prettus/l5-repository": "^2.5",         "michelf/php-markdown": "^1.6",         "barryvdh/laravel-cors": "^0.8.0",         "laravel/socialite": "^2.0"     },     "require-dev": {         "fzaninotto/faker": "~1.4",         "mockery/mockery": "0.9.*",         "phpunit/phpunit": "~4.0",         "symfony/css-selector": "2.8.*|3.0.*",         "symfony/dom-crawler": "2.8.*|3.0.*"     },
and the error message
`Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laracasts/integrated ^0.15.6 -> satisfiable by laracasts/integrated[0.15.6].
- Conclusion: remove symfony/css-selector v3.0.4
- Conclusion: don't install symfony/css-selector v3.0.4
- laracasts/integrated 0.15.6 requires symfony/css-selector ~2.5|~2.6 -> satisfiable by symfony/css-selector[v2.8.0, v2.8.1, v2.8.2, v2.8.3, v2.8.4, v2.8.5, v2.8.6].
- Can only install one of: symfony/css-selector[v2.8.0, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.1, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.2, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.3, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.4, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.5, v3.0.4].
- Can only install one of: symfony/css-selector[v2.8.6, v3.0.4].
- Installation request for symfony/css-selector (locked at v3.0.4, required as 2.8.|3.0.) -> satisfiable by symfony/css-selector[v3.0.4].
Installation failed, reverting ./composer.json to its original content.
`

I ended up changing my composer.json to this
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "dingo/api": "1.0.*@dev",
        "tymon/jwt-auth": "0.5.*",
        "prettus/l5-repository": "^2.5",
        "michelf/php-markdown": "^1.6",
        "barryvdh/laravel-cors": "^0.8.0",
        "guzzlehttp/guzzle": "~5.3",       <--- Make sure to pull 5.3 instead of 6
        "laravel/socialite": "^2.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "symfony/css-selector": "2.8.*",       <--- Only 2.8
        "symfony/dom-crawler": "2.8.*"       <--- Only 2.8
    },

I had symfony/[css|doom] as 3.0, which caused the error previously published.
After that, I got an error at GuzzleHTTP 6.2 pulled by laravel/socialite so I forced the use of ~5.3 to be able to successfully install Integrated.

@Deleugpn Thanks. Your solution helped me.

You need to install
 "require-dev": {
        "fzaninotto/faker": "~1.4",
        "laracasts/integrated": "^0.15.6",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~5.7",
        **"symfony/css-selector": "2.8.*",
        "symfony/dom-crawler": "2.6.*"**
    },

and run : composer update
then run : composer require laracasts/integrated --dev
It will fix the error.

@dhirajpatra solution worked for me. Nice work bro :+1:

Thank you.

I have managed to resolve it this way: first run this
composer require --dev symfony/css-selector:~2.7
and then
composer require laracasts/integrated --dev
and it works.

Just gone through this very same issue with 5.4 and I have tried all the suggestions made above but the dependencies keep on cascading down through other packages.
 Problem 1
    - fabpot/goutte v2.0.4 requires guzzlehttp/guzzle >=4,<6 -> no matching package found.
    - fabpot/goutte v2.0.3 requires guzzlehttp/guzzle >=4,<6 -> no matching package found.
    - fabpot/goutte v2.0.2 requires guzzlehttp/guzzle 4.* -> no matching package found.
    - fabpot/goutte v2.0.1 requires guzzlehttp/guzzle 4.* -> no matching package found.
    - fabpot/goutte v2.0.0 requires guzzlehttp/guzzle 4.* -> no matching package found.
    - laracasts/integrated 0.15.6 requires fabpot/goutte ~2.0 -> satisfiable by fabpot/goutte[v2.0.0, v2.0.1, v2.0.2, v2.0.3, v2.0.4].
    - Installation request for laracasts/integrated ^0.15.6 -> satisfiable by laracasts/integrated[0.15.6].

Changing Guzzle back to ~5.3 breaks the Constant Contact PHPSdk... :-(`


Add trusted-root create helper command

Summary

Closes #3700
We want to help cosign users move from providing disparate verification material to a single file that contains the needed verification material.
Using a trusted root file makes it easier for users to rotate key material and specify what time period different keys were valid.
This command has similar flags to cosign verify*, the idea being you would call cosign trusted-root create ... and then supply the output to cosign verify* --trusted-root ...
You can test this with something like (you'll have to create certificate chain files, possibly from the public good instance trusted root):
$ go run cmd/cosign/main.go trusted-root create --certificate-chain fulcio-chain.crt --rekor-url https://rekor.sigstore.dev --timestamp-certificate-chain timestamp.crt

Release Note

Added cosign trusted-root create command to assist users in creating trusted root files to use in cosign verification commands

Documentation

https://github.com/sigstore/docs/pull/327

As discussed on the Sigstore Slack (#private-sigstore-users channel) - found a case causing a panic on nil pointer, raised a PR with a trivial fix (nil pointer check on block in the for loop condition): https://github.com/steiza/cosign/pull/2/files#diff-abb0ac148c9642335c919aaffc4700982c9d799bc98d528c4d7d921f2470f2b5R165
for block, contents := pem.Decode(contents); block != nil; block, contents = pem.Decode(contents) {

it would be good to add a unit test covering the case of the nil block panic, just in case.  I can do it and send you another "PR-to-PR" - let me know if you'd like me to.

Thank you @dmitris! I added your fix, along with tests, and added you as a co-author of the commit.


Edit Task modal: switching status to Done or Cancelled changes the existing Done or Cancelled date

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
If a Done date has been set, switching status from Todo to Done should not overwrite an already set Done date. Same thing for Cancelled date & status.
Current behaviour
If a Done date has been set, switching status from Todo to Done overwrites an already set Done date. Same thing for Cancelled date & status.
Steps to reproduce

Open Edit Task modal on a task that is not Done status
Set Done date to any value other than today's
Change status to Done

Same thing for Cancelled date & status.
Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[X] macOS
[ ] Windows

Obsidian Version
1.7.1
Tasks Plugin Version
7.10.0
Checks

[ ] I have tried it with all other plugins disabled and the error still occurs

Possible solution
Setting status to Done or Cancelled should not overwrite an existing Done or Cancelled date but only set it if it was missing.

@claremacrae please let me know if you consider this a bug =)

@claremacrae please let me know if you consider this a bug =)

Hi Ilyas. Did you encounter this in real use?
I do agree it's a bug.

Hi Ilyas. Did you encounter this in real use?

Oh yes, after opening the modal, my mouse was pretty low on the screen, so I edited the Done date first and afterwards switched the status and discovered the bug. Then tried the same with Cancelled date just to be sure.


pull: Add JSON-LD markup

This should help with forward/backward compatibility (#10), because consumers can use JSON-LD to extract the semantic meaning regardless of how I lay out the data.  From the JSON 1.0 spec for @context:

This information allows developers to re-use each other's data without having to agree to how their data will interoperate on a site-by-site basis.

There's a framing spec in the works to support “request your own layout” in an API.
One feature that may still be wiggly is FSF IDs in licenses-full.json.  The released JSON-LD 1.0 has index maps, but says:

Note how the index keys do not appear in the Linked Data below, but would continue to exist if the document were compacted or expanded…

which isn't very useful for folks who are parsing the file as JSON-LD and who need access to the FSF IDs.  We might be able to specify the semantics of the object keys with the unreleased 1.1 and its ID maps, but I've left that off for now.
There is some background on classifying non-URI identifiers here. Currently I'm not classifying my identifiers.
I'm using HTTPS identifiers for schema.org, because that's the long term target.
@goneall, thoughts?
Fixes #10.

I've pushed 7f87ab5 → 8398a35, moving away from @vocab for the reasons discussed in the last commit.  A preview build of the data is in the gh-pages-json-ld branch.  @goneall, how does that look to you?

On Mon, Mar 26, 2018 at 06:53:26PM +0000, goneall wrote:

Once you merge and the github pages are produces I'll test (it is a
bit more difficult to test since the URL reference in the
licenses-full.json is not yet valid).

I've pushed the schema contents to gh-pages in a temporary 334dda1.
Hopefully that's enough for your testing.  I'd rather avoid pushing
the new license-full.json into the production gh-pages until we are
comfortable with it, because the addition of the 'licenses' nesting
will break other existing consumers.

I'm able to test - I need to debug a class loader problem.  I'll update you when I get it working.

I was able to test - I'm not picking up the SPDX in identifiers.  e.g.:
        "spdx": [
          "AGPL-1.0"
        ]
      }

I think we need to add spdx to the context

I'm not picking up the SPDX in identifiers…

Pasting:
{
  "@context": "https://wking.github.io/fsf-api/schema/licenses.jsonld",
  "licenses": {
    "AGPLv1.0": {
      "id": "AGPLv1.0",
      "identifiers": {
        "spdx": [
          "AGPL-1.0"
        ]
      },
      "name": "Affero General Public License version 1",
      "tags": [
        "libre"
      ],
      "uris": [
        "https://www.gnu.org/licenses/license-list.html#AGPLv1.0",
        "http://directory.fsf.org/wiki/License:AGPLv1"
      ]
    }
  }
}

(a subset of the licenses-full.json generated by 8398a35) into https://json-ld.org/playground/, gives an expanded form including:
        "https://schema.org/identifier": [
          {
            "@value": "AGPLv1.0"
          },
          {
            "@value": "AGPL-1.0",
            "@index": "spdx"
          }
        ],

and a compact form including:
    "https://schema.org/identifier": [
      "AGPLv1.0",
      {
        "@index": "spdx",
        "@value": "AGPL-1.0"
      }
    ],

Can't you get that @index value to find SPDX-ness?

It doesn't look like this is available in the RDF model.  I think it needs to be added to the context.
Attached is a dump of the RDF/XML generated from the JSON-LD.  This is the information I have available to work with.  I did a text search and did not find any occurrence
rdf.xml.txt
of "spdx".

On Tue, Mar 27, 2018 at 09:34:03PM -0700, goneall wrote:

Attached is a dump of the RDF/XML generated from the JSON-LD.  This
is the information I have available to work with.  I did a text
search and did not find any occurrence
rdf.xml.txt
of "spdx".

The values are there:
$ sed 's/\r\n/\n/g' rdf.xml.txt | grep -3 'AGPL.*1.0'
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
rdf:firsthttp://directory.fsf.org/wiki/License:AGPLv1</rdf:first>
</rdf:rest>
rdf:firsthttps://www.gnu.org/licenses/license-list.html#AGPLv1.0</rdf:first>
</schema:url>
schema:nameAffero General Public License version 1</schema:name>
schema:keywordslibre</schema:keywords>
schema:identifierAGPL-1.0</schema:identifier>
schema:identifierAGPLv1.0</schema:identifier>
</j.0:license.jsonld>
<j.0:license.jsonld rdf:parseType="Resource">
<schema:url rdf:parseType="Resource">
AGPLv1.0 is the FSF ID and AGPL-1.0 is the SPDX ID.  I can think of a
few possible approaches:
a. Assume that there are no cases where a single identifier is used by
the SPDX to mean one license and by the FSF to mean another.  This
is currently true, and I think it's likely, although not garunteed,
to remain true.  Once you've made the assumption, you can ignore
“which namespace is the identifier from?” and just find the entry
with the SPDX identifier you're interested in (AGPL-1.0 above).
b. Figure out how to recover the ‘"@index": "spdx"’ which
https://json-ld.org/playground/ shows for it's expanded, compacted,
and flattened views 1.  The JSON spec for this has 2:
 Note how the index keys do not appear in the Linked Data below,
 but would continue to exist if the document were compacted or
 expanded (see section 6.18 Compacted Document Form and section
 6.17 Expanded Document Form) using a JSON-LD processor…

c. Use the unreleased JSON 1.1 and its ‘"@container": "@id"’ 3.
d. Use a PropertyValue pair for these non-FSF identifiers, as
discussed in [4], but this makes non-JSON-LD access more awkward.
e. Make some sort of JSON-LD 1.0 @context change so you get access to
the ‘spdx’ key, although I'm not sure what that would be.
My personal preference would be (a), (b), or, if someone can figure
out what it needs to be, (e) in the short term, transitioning to (c)
once JSON 1.1 gets cut (or has sufficiently-stable tooling for us to
migrate to it).

I wasn't able to figure out a context for the JSON-LD - so going with a. Assume that there are no cases where a single identifier ...
I've made the changes to the fsfjsonld branch of the license list publisher application.
@wking  go ahead and merge the changes and publish a new json file.  Once published, I'll update the URL and cached files to use the new file and complete the changes to license list publisher.


Add Python-3.10 (build and test)

I think these fails can be solved by replacing  this
with
gamma_map = [round((255 + 1 - 1e-3) * gain * pow(ele / 255.0, gamma)) for ele in range(256)] * 3
Looking at the code I believe this is equivalent and solves the float/int issue.

gamma_map = [round((255 + 1 - 1e-3) * gain * pow(ele / 255.0, gamma)) for ele in range(256)] * 3

round or int (also, not sure which one is faster)?

Moved adjust_gamma change to https://github.com/pytorch/vision/pull/5427

@jdsgomes We will probably need to cherrypick this on the release branch. I assume 3.10 support will be added in this release right?

I'm guessing this is not synchronized with #5320? cc @vfdev-5

@pmeier that was just a check, we can close the other one.

Note that #5320 was mostly a superset of what is proposed here. It also handled the README compatibility table, as well as docker and OSX wheels.

Note that #5320 was mostly a superset of what is proposed here. It also handled the README compatibility table, as well as docker and OSX wheels.

Wow, I wasn't aware of osx_wheel.sh, but at glance at this script it does not seem to be used (nor work) right now, so I propose we delete them in https://github.com/pytorch/vision/pull/5433

Seems like the failing tests are due to dependency issues from core and numpy.

@malfet @atalman I had a look at the failing tests and it seems the issues are related to dependencies issues from Core.
The binary_win_conda_py3.10_cpu fails due to multiple conflicts:
Package pytorch-mutex conflicts for:
pytorch==1.12.0.dev20220207 -> pytorch-mutex==1.0[build='cuda|cpu']
pytorch-mutex==1.0=cpu

Package python conflicts for:
pytorch==1.12.0.dev20220207 -> typing_extensions -> python[version='>=2.7,<2.8.0a0|>=3.5|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
python=3.10
pytorch==1.12.0.dev20220207 -> python[version='>=3.10,<3.11.0a0']

Package setuptools conflicts for:
setuptools
python=3.10 -> pip -> setuptools

The unittest_windows_cpu_py3.10 fails because PyTorch core has been compiled with a different version of numpy than the one installed:
Failed to initialize NumPy: module compiled against API version 0xf but this version of numpy is 0xe

Nevertheless all other unittest_windows_cpu_py* jobs pass which makes me wonder if core gets compiled on the specific configuration with a different numpy version accidentally.
I understand that these issues can be fixed upstream, but if you think otherwise let me know to further investigate. Thanks!

The binary_win_conda_py3.10_cpu fails due to multiple conflicts:
Package pytorch-mutex conflicts for:
pytorch==1.12.0.dev20220207 -> pytorch-mutex==1.0[build='cuda|cpu']
pytorch-mutex==1.0=cpu

Package python conflicts for:
pytorch==1.12.0.dev20220207 -> typing_extensions -> python[version='>=2.7,<2.8.0a0|>=3.5|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
python=3.10
pytorch==1.12.0.dev20220207 -> python[version='>=3.10,<3.11.0a0']

Package setuptools conflicts for:
setuptools
python=3.10 -> pip -> setuptools

This was resolved by https://github.com/pytorch/builder/commit/3e6551ca3b205d17fa9570e747c87fdf8df1449c

The unittest_windows_cpu_py3.10 fails because PyTorch core has been compiled with a different version of numpy than the one installed:
Failed to initialize NumPy: module compiled against API version 0xf but this version of numpy is 0xe

Nevertheless all other unittest_windows_cpu_py* jobs pass which makes me wonder if core gets compiled on the specific configuration with a different numpy version accidentally.

Seems to be connected to the previous failure


termination and packetsize

New to syslog in general.
I have made a quick implementation using the latest package.
I am not sure what our customers will use on the receiving end. So I have tested with trial versions of SyslogWatcher and Kiwi Syslog.
I see issues that appears to be

Received message have an added package size  e.g.
<134>1 2019-05-02T10:35:09.000000+00:00 TestSrv1 myProg AuditLog WebLogin ???Jan; User login

Not sure about this.

In SyslogWatcher I see that the sent events are being aggregated into one event. It would seem that it have issues to separate packages... Should I add lineterminations?

Thank you for your help

Figured it out; The servers that I was forwarding to did not support encryption and had problems with default Octet framing for TCP


optiopay/kafka to use exponential backoff on nodes that are down

Background:
The KAFKA that I have to write to has 5 nodes, one of which is permanently down. I write to the nodes round robin style. Every 5th write fails for sure, but it takes a long time to fail because of all the retries. Therefore, this failed node greatly reduces my overall write throughput by several orders of magnitude.
I suggest that when optiopay/kafka encounters a connection refused or similar error on a node that it performs some kind of exponential backoff strategy rather than aggressively retrying it each time. If one of the 5 nodes is down for a  very long time, optiopay/kafka should write only to the other 4 and try the down node only occasionally.
Thoughts?

I see your point, but I cannot suggest anything quickly.
What you're suggesting might be too hard to implement to make it worth having in current API. I think the real problem is not in driver's retry policy, but in how the distributed producers are implemeneted.
If you don't care where the message goes as long as it's fast, you could write custom distributed producer that use channel to multiplex all writes and distributes to any available node.
I will think about it, but if you have any more ideas, please share them.


LoadError: cannot load such file -- omniauth

Clean install:
devise_token_auth 0.1.42 (also occurs with master branch from Github)
rails 5.1.5

When running rails s:
Could not load 'omniauth'. Please ensure you have the omniauth gem >= 1.0.0 installed and listed in your Gemfile.
rake aborted!
LoadError: cannot load such file -- omniauth
/Users/joe/Labs/authentication-test/app/models/user.rb:3:in `<class:User>'
/Users/joe/Labs/authentication-test/app/models/user.rb:1:in `<top (required)>'
/Users/joe/Labs/authentication-test/config/routes.rb:2:in `block in <top (required)>'
/Users/joe/Labs/authentication-test/config/routes.rb:1:in `<top (required)>'
/Users/joe/Labs/authentication-test/config/environment.rb:5:in `<top (required)>'
/Users/joe/.rbenv/versions/2.4.3/bin/bundle:23:in `load'
/Users/joe/.rbenv/versions/2.4.3/bin/bundle:23:in `<main>'

Seems that the generated user model includes the following modules:
devise :database_authenticatable, :registerable,
      :recoverable, :rememberable, :trackable, :validatable,
      :confirmable, :omniauthable

Whereas the default devise generated user model includes the following modules:
devise :database_authenticatable, :registerable,
      :recoverable, :rememberable, :trackable, :validatable,

Sure enough, removing :omniauthable from this list fixes this for me.
Thanks for your efforts with this gem.

@joeczucha glad it was fixed! You're welcome

So how do you fix it without removing :omniauthable ?


Named params support started

Initial work on named params support, based on struct fields.
I will implement the struct approach directly in the main crate, because do this in an advanced API will demand more work. We can change this after.
For now, is just some tests and WIP code

I think its done. Now we can pass a struct into query parameters using the IntoParams derive.

I don't why some CI tests are failing

@cytrinox, you can check this PR? I implement the struct approach

@fernandobatels Nice work, thank you. I check out the PR and do some tests with a productive database copy.
Is NULL-binding possible? For example, instead of:
 #[derive(Clone, IntoParams)]
        struct User {
            pub name: String,
            pub age: i32
        };

using Option<>:
 #[derive(Clone, IntoParams)]
        struct User {
            pub name: String,
            pub age: Option<i32>
        };

I'm unable to build a working test binary:
   Compiling fbparams1 v0.1.0 (C:\Users\vogelbacher\src\fbparams1)
error[E0432]: unresolved import `rsfbclient_core`
  --> src\main.rs:4:17
   |
4  | #[derive(Clone, IntoParams)]
   |                 ^^^^^^^^^^
   |                 |
   |                 use of undeclared crate or module `rsfbclient_core`
   |                 in this macro invocation
   |
  ::: C:\Users\vogelbacher\src\rsfbclient\rsfbclient-derive\src\lib.rs:10:1
   |
10 | pub fn into_params_derive(input: TokenStream) -> TokenStream {
   | ------------------------------------------------------------ in this expansion of `#[derive(IntoParams)]`

My cargo.toml is:
[package]
name = "fbparams1"
version = "0.1.0"
authors = ["Daniel Vogelbacher <XXX>"]
edition = "2018"

[dependencies.rsfbclient]
default-features = false
features=["pure_rust", "date_time", "pool"]
path = "../rsfbclient"

Any idea what is causing the problem?

After patching the code I was able to build a sample program. Even Option<> parameters works fine.
diff --git a/rsfbclient-derive/src/lib.rs b/rsfbclient-derive/src/lib.rs
index 45e9bd7..d75ae88 100644
--- a/rsfbclient-derive/src/lib.rs
+++ b/rsfbclient-derive/src/lib.rs
@@ -27,7 +27,7 @@ pub fn into_params_derive(input: TokenStream) -> TokenStream {
         });

     let st_impl = quote! {
-        use rsfbclient_core::{IntoParams, IntoParam, ParamsType};
+        use rsfbclient::{IntoParams, IntoParam, ParamsType};
         use std::collections::HashMap;

         impl IntoParams for #st_name {
diff --git a/src/lib.rs b/src/lib.rs
index ca436d1..0dd0cfe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -22,7 +22,7 @@ pub use crate::{
     statement::Statement,
     transaction::Transaction,
 };
-pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, Row, SqlType};
+pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, IntoParams, ParamsType, Row, SqlType};

CI is not working because of the line 858 in file rsfbclient-rust/src/client.rs.
Change it to compile.
let params = match rsfbclient_core::IntoParams::to_params((1,)) {
    rsfbclient_core::ParamsType::Unamed(params) => params,
    _ => unreachable!(),
};

My fault. Thanks.

After patching the code I was able to build a sample program. Even Option<> parameters works fine.
diff --git a/rsfbclient-derive/src/lib.rs b/rsfbclient-derive/src/lib.rs
index 45e9bd7..d75ae88 100644
--- a/rsfbclient-derive/src/lib.rs
+++ b/rsfbclient-derive/src/lib.rs
@@ -27,7 +27,7 @@ pub fn into_params_derive(input: TokenStream) -> TokenStream {
         });

     let st_impl = quote! {
-        use rsfbclient_core::{IntoParams, IntoParam, ParamsType};
+        use rsfbclient::{IntoParams, IntoParam, ParamsType};
         use std::collections::HashMap;

         impl IntoParams for #st_name {
diff --git a/src/lib.rs b/src/lib.rs
index ca436d1..0dd0cfe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -22,7 +22,7 @@ pub use crate::{
     statement::Statement,
     transaction::Transaction,
 };
-pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, Row, SqlType};
+pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, IntoParams, ParamsType, Row, SqlType};

Nice. I will check this tonight and apply the patch. Thanks

I have a doubt, we have support reference struct params?

Pull Request Test Coverage Report for Build 295258890

-37 of 114 (67.54%)  changed or added relevant lines in 5 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-32.3%) to 45.122%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/statement.rs
14
16
87.5%

rsfbclient-core/src/params.rs
27
33
81.82%

examples/insert.rs
0
14
0.0%

rsfbclient-derive/src/lib.rs
0
15
0.0%

Files with Coverage Reduction
New Missed Lines
%

examples/insert.rs
1
0%

src/statement.rs
1
92.81%

Totals

Change from base Build 290403849:
-32.3%

Covered Lines:
1332

Relevant Lines:
2952

💛  - Coveralls

After patching the code I was able to build a sample program. Even Option<> parameters works fine.
diff --git a/rsfbclient-derive/src/lib.rs b/rsfbclient-derive/src/lib.rs
index 45e9bd7..d75ae88 100644
--- a/rsfbclient-derive/src/lib.rs
+++ b/rsfbclient-derive/src/lib.rs
@@ -27,7 +27,7 @@ pub fn into_params_derive(input: TokenStream) -> TokenStream {
         });

     let st_impl = quote! {
-        use rsfbclient_core::{IntoParams, IntoParam, ParamsType};
+        use rsfbclient::{IntoParams, IntoParam, ParamsType};
         use std::collections::HashMap;

         impl IntoParams for #st_name {
diff --git a/src/lib.rs b/src/lib.rs
index ca436d1..0dd0cfe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -22,7 +22,7 @@ pub use crate::{
     statement::Statement,
     transaction::Transaction,
 };
-pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, Row, SqlType};
+pub use rsfbclient_core::{charset, Column, Dialect, FbError, FromRow, IntoParam, IntoParams, ParamsType, Row, SqlType};

Fixed now

@cytrinox , with this PR, your #48 issue will be solved? Or you still need some named_params! macro?

your changes break other types of queries that use :var syntax.
please make the new functionality optional.
here is an example
let exec_block_select : &str = "
EXECUTE BLOCK
   RETURNS (outval bigint)
 as
   declare loopvar int = 0;
   begin
     while (loopvar < 100) do begin
       for select
         :loopvar
       from
         rdb$database
       into
         :outval
       do begin
         loopvar = loopvar + 1;
         suspend;
       end
     end
   end;";

let mut conn = cbuilder().connect()?;

let rows = conn.query_iter::<(), (i64,)>(exec_block_select,())?;

for row in rows {
    let (i,) = row?;
    println!("{}", i);
}

I couldn't find a good way to make this optional. So, to avoid problems, now we will use a '::' for mark the named params

Please avoid introducing another syntax for named parameters at all. There are enough confusion already in the database/SQL "market". It's clearly better IMHO to not support named parameters if it can not be implemented with the default ":p" syntax.

@fernandobatels

I think @cytrinox is a being a bit pessimistic in their opinion about what's better or worse, but also raises a valid question about the ecosystem. it's hard to say right now how popular this crate will become (personally i think it could be really big because of c ffi)

Also I think it is important that we find a way to make it so that parsing/named param processing is completely opt-in on a per-statement basis, at least for now, because it is hard to account for all situations that may break.
The documentation for this option should give a strong warning that it is meant for simple queries only and to thoroughly test the queries used.

To make my point, here is another example.
This time it compiles but does not give correct output.
(notice the ' in the sql comment)
let select_broken_string_constant : &str = "
  /* A stick, a stone, it's the end of */
  select 'the ::road' from rdb$database;";

let mut conn = cbuilder().connect()?;
let rows = conn.query_iter::<(), (String,)>(select_broken_string_constant,())?;

for row in rows {
    let (s,) = row?;
    println!("{}", s);
}

@jairinhohw solve the '::' mark situation. This was what i had been trying to do before, but without success. The ':' mark works again, and to disable it just don't use a struct as a parameter.

+1 looks good.
can you write some documentation for the main crate/high level api, mentioning:
* derive macro

* Some/None usage in struct

* tuple vs derive struct usage as it pertains to named params parsing

* caution about supported queries, with examples of some queries that will not work currently

* anything else you think is relevant?

(could be a separate pr after this one)
I can help with editing it if you want, so you just have to get the ideas expressed

Done. You have more suggestions about the text?

See my PR.
Additional suggestion for now or later, unrelated to that PR: replace impl IntoParams for X by impl From<X> for ParamsType, everywhere and same for IntoParam/SqlType.  No need for there to be a replica of standard traits.