Get rid of magic numbers

In a few places, there's magic numbers in the code. We may want to get rid of those. Some examples:
https://github.com/nobleo/path_tracking_pid/blob/14958134bf07aa30256f83c399c481fee41f22b6/include/path_tracking_pid/controller.hpp#L22-L24
https://github.com/nobleo/path_tracking_pid/blob/14958134bf07aa30256f83c399c481fee41f22b6/include/path_tracking_pid/path_tracking_pid_local_planner.hpp#L24-L25
https://github.com/nobleo/path_tracking_pid/blob/14958134bf07aa30256f83c399c481fee41f22b6/include/path_tracking_pid/controller.hpp#L330-L338

#define RADIUS_EPS 0.001  // Smallest relevant radius [m]
#define VELOCITY_EPS 1e-3  // Neglegible velocity

These are meant for numerical comparisons. Like in c++ you cannot compare floats directly. But good practice is not to use EPS itself but choose a domain-specific smallest number. So I think these can stay without being parameterised.

#define LONG_DURATION 31556926  // A year (ros::Duration cannot be inf)

This is a workaround for INF missing in the message. For Robot domain I think we're good here.
I agree that all others can be parameterised.

Is it worth doing though? Without someone actually asking for this, it just makes the package more complex.

Just to be 100% sure we're talking about the same thing:
A magic value is an unnamed literal value which is directly used in the code. The examples you listed above are constants and that's fine. Maybe they can be replaced with variables, removed or given more descriptive names but they are not magic values.
Not a magic value:
double upper_limit_ = 100.0;

Magic value:
      if (abs(new_nominal_x_vel) < 0.01)

I stand corrected. Nonetheless, at least some of these values should be made configurable for the user. Do you have a suggestion for an alternative issue title?


TBB Version exceeds minimum version, but still erroneous

Environment
ubuntu 20.04
CMake Version: 3.25
Describe the problem
when executing cmake .. in the build dir, I get the error as follows :
  Could NOT find TBB (missing: Tbb_LIB_COMPONENTS) (found suitable version
  "2021.9", minimum required is "2020.2")

I built TBB from source and have tried the command :
cmake -D CMAKE_INSTALL_PREFIX=$HOME/openvdb -D TBB_ROOT=/path/to/tbb/install ../

aswell. Wiht the path to tbb install as where it is built from source.
Surely my version exceeds minimum required version and should be ok?

Hi @joerowelll,
Your TBB version should be fine. The actual error is Could NOT find TBB (missing: Tbb_LIB_COMPONENTS). Usually this error also lists which components it couldn't find but these seem to be missing from the error message. Looking at our CI, it seems that the highest TBB version we test with is 2021.7 - I suspect something has changed in 2021.9 and our CMake will need to be updated.
I can't actually even see a 2021.9 release of TBB here https://github.com/oneapi-src/oneTBB/releases ... how are you installing TBB?

I should have put the whole error, sorry. It lists what cannot be found afterwards.

Thanks @joerowelll. I'm having trouble reproducing this.

What does your TBB install directory look like if you tree /path/to/tbb/install it?
If you cat CMakeCache.txt | grep TBB in your openvdb build directory, what does those variables display?

When following that exactly, I still get the same error.
The TBB Install dir. tree is rather large, Ive attached as a text file.
tbb_tree.txt
The  cat CMakeCache.txt | grep TBB  in the openvdb build dir. gives as follows:
TBB_LIB_COMPONENTS:UNINITIALIZED=/home/git/oneTBB/build
TBB_ROOT:UNINITIALIZED=/home/joe/git/oneTBB
Tbb_INCLUDE_DIR:STRING=/home/joe/git/oneTBB/include
// for TBB, Blosc, IlmBase and OpenEXR. Boost must be
// for TBB. All other dependencies must be provided.
//Use TBB in building the NanoVDB library.
USE_TBB:BOOL=ON

@joerowelll,
That directory you've tree'd is the repository directory where you cloned TBB. What you should be passing to OpenVDB's CMake is the location you specified to install TBB. For example:
git clone https://github.com/oneapi-src/oneTBB.git
cd oneTBB
echo $PWD # /Users/nicholasa/dev/oneTBB   <--- source directory
...
cmake -DCMAKE_INSTALL_PREFIX=/Users/nicholasa/dev/tbb_install   <---- install dir

Looking at the install dir you should see something like:
tree -d /Users/nicholasa/dev/tbb_install
.
├── include
│   ├── oneapi
│   │   └── tbb
│   │       └── detail
│   └── tbb
├── lib
│   ├── cmake
│   │   └── TBB
│   └── pkgconfig
└── share
    └── doc
        └── TBB

That a silly mistake on my part, thank you.
Although if i now build oneTBB with cmake -DCMAKE_INSTALL_PREFIX=/usr/local/tbb_install .., and specify TBB_ROOT when building openvdb in the build directory with
cmake -D TBB_ROOT=/usr/local/tbb_install .. , I still get the same errors.
  Could NOT find TBB (missing: Tbb_LIB_COMPONENTS) (found suitable version
  "2021.9", minimum required is "2020.2")
Call Stack (most recent call first):
  /home/joe/cmake-install/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindTBB.cmake:368 (find_package_handle_standard_args)
  openvdb/openvdb/CMakeLists.txt:133 (find_package)

and the tree /usr/local/tbb_install is an empty directory.
Thank you for being so helpful.

Thats my silly mistake... thank you for your help !


Implement judge linefeed

Implement features for judgement including linefeed type.
Implement methods.

Linux style linefeed judgement.
Windows style linefeed judgement.
Mac OS style linefeed judgement (But Mac OSX is linux style).

close #21


Flutter web does not rerender page on zoom in zoom out

Repro

run any flutter app in chrome, even a new project in dartpad
zoom out

Result
page stays the same and just takes less percentage of the screen available
Expected result
rerendering

Are you using a LayoutBuilder?
https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html

So, if you go on https://dartpad.dev and create a new flutter project and resize the window, the window resize accordingly. Note that the project generated does not use LayoutBuilder. The same does not hold true if you use ctrl + or ctrl -

Hi @cedvdb, Thanks for filing the issue.
There is a similar issue describing this case #77084. Please follow up there for further updates, Closing this issue as a duplicate. If you disagree feel free to write in the comments and we will reopen it.
Thank you.


Icon colors change to black when click on FluentNavLink occurs

I'm using FluentIcon with Color property set to Color.Warning (<FluentIcon Value="@(new Icons.Regular.Size24.Bookmark())" Color="Color.Warning" />).
The color is correctly displayed - initially, but after clicking on a FluentNavLink it changes to black.

See demo code here: https://github.com/woha/icon-color-demo

The problem is with the variables.css file.
I don't know (yet) why the variables.css file is unloaded when you click on another element.
We'll look into it and come up with a fix for the next release.
In the meantime, you can add this style to the MainLayout.razor file to fix the problem.
@inherits LayoutComponentBase
<style>
    :root {
        --font-monospace: Consolas, "Courier New", "Liberation Mono", SFMono-Regular, Menlo, Monaco, monospace;
        --success: #0E700E;
        --warning: #E9835E;
        --error: #BC2F32;
        --info: #616161;
        --presence-available: #13a10e;
        --presence-away: #eaa300;
        --presence-busy: #d13438;
        --presence-dnd: #d13438;
        --presence-offline: #adadad;
        --presence-oof: #c239b3;
        --presence-unknown: #d13438;
        --highlight-bg: #fff3cd;
    }
</style>
<FluentLayout>
   ...
</FluentLayout>

Thank you @dvoituron, I will try your fix.

I ran your porject together with the in development version of the library (4.2) were we are using a different way of loading the variables.css data and the problem is not present there anymore:

Closing this as it will be fixed with this next release


Add error handling for serializer (for serializing case only)

Deserializing not handled yet.
Note that the serializing case is fairly uninteresting, as assuming
valid input is passed in, there's no real reason why it should fail (and
if it does fail, it indicates a gross violation of our understanding of
the system.)

@rsgowman Rich, two remaining things I have:

let's decide on whether Writer should store the status instead of propagating it;
my idea was that only the piece of code triggering the whole serialization path, i.e. the code that calls Serializer::EncodeFieldValue, should handle status and abort if necessary. Sorry for not communicating it clearly.

Please address these two (and feel free to push back), the rest of my comments are just suggestions.

there's a lot of prior art that suggests using these macros. (See docs provided previously.) ~300k usages of it exist in g3, and ~200k for the analogue, ASSIGN_OR_RETURN.

I think that using macros in regular code is not a good idea, and I'm pretty disappointed that TotW would recommend it (to be fair, I don't think the article explicitly recommmended those macros, more like "they're neither prohibited nor required"). My experience using macros along those lines (e.g. the "assert_and_return"-type macros in Firebase) has been universally negative. I see it as largely an attempt to define a new language feature in a really clunky way - overall, it seems like it tries to imitate functional code flow with automatic error propagation.

caller code becomes simpler as most checks are eliminated
callee code becomes more complex as checks are pushed there.

I think it's a good thing, providing a simple-to-use API at the cost of additional implementation effort.
Overall, my vote goes to 3. I think it also has more potential for future refactoring.

I also vote 3.
Rob Pike wrote a great article about error handling in Go and it generally informs my approach to handling Status too.


[Feature Request] - add option to display editor with expanded toolbar by default

TinyMCE has an API method to collapse/expand toolbar programmatically.
In your plugin implementation it is collapsed by default. I don't if it is TinyMCE's default behaviour but it would be great to have option to control this behaviour.
Here is more info about the API call https://github.com/tinymce/tinymce/pull/6010

set toolbar mode to wrap


Error code 218 [Amended 2024 v1.0]

Note: Rule previously implemented from issue #122  but rule has been amended in updated guidance.  Changes highlighted with bold and strikethrough.
Error information
Error code
218
Description to display
Ofsted Unique reference number (URN) is required.
DfE Long-form description of error
Please ensure Ofsted URN is recorded for ongoing placements at 1 April of the current collection year and also for new episodes from 1 April of the current collection year where the reason for new episode is P, T, B, U or S.
Ofsted URN should not be provided for the placement types listed in rule 222, for confidential placements, placements outside of England.
DfE suggested coding
Where <PL> not in 'H5'; ‘P1’; 'P2'; ‘P3’; ‘R1’; ‘R2’; ‘R5’; ‘T0’; ‘T1’; ‘T2’; ‘T3’; ‘T4’ ‘Z1’
And <PL_LA> not in ‘CON’; ‘NIR’ ‘SCO’; ‘WAL’; ‘NUK’
And <DEC> > 31/03/2015 or Null then <URN> should be provided
For further info, refer to the DfE validation document here

Note that this is because codes H5 and P2 have been discontinued as of the 2024/25 return.  Depending on how this rule has been implemented it may or may not be necessary to make changes.


It is possible increase the png resolution?

Hey there!
First of all, congratz for the awesome tool!
Second, is it possible increase the size of images for 256x256 pixel or 512x512?
Thanks for the attention!

Yes You can. You have to do it inside the stltovoxel.py file at line 99.

@Murali5 Thank you very much! It works!


perlPackages.DBI: 1.643 -> 1.644

Description of changes
Updates DBI to 1.644 which adds fixes for CVE-2014-10401, CVE-2014-10402
https://metacpan.org/release/HMBRAND/DBI-1.644/view/Changes
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg eval

@ofborg test hydra


Add a justfile

The justfile contains the same cargo checks and tests that are performed by the github actions. Many times opening a pull request will result in failed tests or checks because of all the feature flags. Therefore, I created this file which can be used with https://github.com/casey/just .

This seems like it will take a bit of work to keep in sync with the actions. Is there any way to operate from a single source of truth instead?

I'm totally not familiar with GitHub Actions, so I'm not sure how I would do that. Probably we'll have to read out the feature combinations from a file and converting that to a matrix. But I'm not sure how to set that up.

What about using act?

I tried using that in the past, but I get the following: /var/run/act/workflow/1: line 2: cargo: command not found, linking to https://github.com/nektos/act/issues/107 . Not sure why that is failing.

+1 to having some way to run CI locally.
In other repos I've just placed a ci.sh in the root, and made GHA run that. So the same file is used for both GHA and local testing.
Super low-tech, works fine. I'm not sure if it's worth making people install just, instead of using a plain old shell script.
This means we lose parallelism in the GHA runs because it'll all be 1 job instead of 45. However, we're already hitting the max limit of 20 concurrent jobs, so what GHA is doing is start 20 jobs, wait for them to finish, start the next 20, wait, start the last 5. Starting a job has quite a bit of latency, so in practice it's quite likely that a single job will be faster.

Closing this and created a PR with ci.sh for GHA.


Request batching, returning successful results along with errors

From what I understand according to GraphQL spec when batching requests it should be possible to receive a response that contains partial results.
Given the following example:
query {
  success: userFind(username: "exists") {
    __typename
  }
  failure: userFind(username: "will_fail") {
   __typename
  }
}

From my understanding I would expect a response that looked something like:
{
  "errors": [
    {
      "message": "Not Found",
      "locations": [
        {
          "line": 5,
          "column": 3
        }
      ],
      "path": [
        "failure"
      ]
    }
  ],
  "data": {
    "success": {
      "__typename": "User"
    }
}

However using the latest M5 release the data field in this example is null.
The actual response looks like:
{
  "errors": [
    {
      "message": "Not Found",
      "locations": [
        {
          "line": 5,
          "column": 3
        }
      ],
      "path": [
        "failure"
      ]
    }
  ],
  "data": null
}

Is this behavior somehow configurable?  I suspect this is provided by GraphQL Java but I'm not sure how/where this is configured by Spring GraphQL.

Could you share a sample application showing this behavior?
I've seen people use that pattern, but they weren't throwing exceptions - they were rather using Union types like UserOrUnknownUser and returning either at runtime.

@bclozel I added a sample project https://github.com/francis-a/spring-graphql-issue-286
The query I used to test was:
query {
  success: userGet(username: "found") {
    __typename
    username
  }
  failure: userGet(username: "notFound") {
   __typename
    username
  }
}

I think this is working as designed.
The @QueryMapping method throws an exception and the defined DataFetherExceptionResolver translates that exception into an error field in the response.
I think you're trying here to apply a well-known GraphQL pattern where exceptional cases are handled with the types returned by the query. This involves union types, a type hierarchy in your application and a TypeResolver.
I've quickly drafted something, but this currently fails during query validation:
type User {
    id: ID
    username: String!
}

type UnknownUser {
    username: String!
}

union Profile = User | UnknownUser

type Query {
    userGet(username: String): Profile!
}

@SpringBootApplication
@Controller
open class Issue286 {

	private val users = mapOf(
		"found" to User("found")
	)

	@QueryMapping(name = "userGet")
	fun userGet(@Argument(name = "username") username: String): Profile {
		return users[username] ?: UnknownUser(username)
	}

	interface Profile {
		val username: String
	}

	class User(override val username: String) : Profile {
	}

	class UnknownUser(name: String) : Profile {
		override val username: String = "User $name was not found"
	}

	@Bean
	open fun ProfileTypeResolver(): RuntimeWiringConfigurer {
		return RuntimeWiringConfigurer { wiringBuilder ->
			wiringBuilder.type("Profile") { typeWiring ->
				typeWiring.typeResolver { env ->
					val javaObject : Any = env.getObject()
					when (javaObject) {
						is User -> env.schema.getObjectType("User")
						is UnknownUser -> env.schema.getObjectType("UnknownUser")
						else -> env.schema.getObjectType("UnknownUser")
					}
				}
			}
		}
	}

}

I'll discuss that with @rstoyanchev - I don't know if there's something we should do here to provide more assistance for this use case.

@bclozel Yeah, the error mapping is working correctly and this is expected. The issue I'm seeing is that with multiple requests the data field is null if a single request fails. I expect the error to return for the missing user in the errors array however since the request also contains a successful response I would also expect this result to be in the data response.

Sorry I completely misunderstood the issue, let me look into this.

From what I'm seeing, this is a pure graphql-java behavior as all results are properly returned by Spring GraphQL.
While debugging this problem at the stage where results should be merged, I'm seeing in the AbstractAsyncExecutionStrategy:
java.util.concurrent.CompletionException: The field at path '/failure' was declared as a non null type, but the code involved in retrieving data has wrongly returned a null value.  The graphql specification requires that the parent field be set to null, or if that is non nullable that it bubble up null to its parent and so on. The non-nullable type is 'User' within parent type 'Query'

Enforcing a nullable result in the query solves the problem:
type User {
    username: String!
}

type Query {
    userGet(username: String): User
}

{
  "errors": [
    {
      "message": "User notFound was not found",
      "locations": [
        {
          "line": 6,
          "column": 3
        }
      ],
      "path": [
        "failure"
      ],
      "extensions": {
        "classification": "NOT_FOUND"
      }
    }
  ],
  "data": {
    "success": {
      "__typename": "User",
      "username": "found"
    },
    "failure": null
  }
}

Judging from the exception message, this looks like a specification behavior enforced by GraphQL Java and not something we can change here.

Thanks for taking the time to dive in here @bclozel, much appreciated. It seems like a strange decision from the GraphQL Java team but I guess it is what it is. Did you happen to come across any configuration options here?
Otherwise I assume it would be possible to configure our own ExecutionStrategy that overrides this behavior. Modifying the schema here seems a bit extreme but nice to know it's an option.

I didn't see any option there - I'd very much like to get best practices around this. I'll leave this issue opened for now to discuss this behavior and https://github.com/spring-projects/spring-graphql/issues/286#issuecomment-1041274974 .

I was investigating a related issue #283 which concerns NonNullableFieldWasNullException, the same exception raised in the sample here. The Javadoc of the exception points to an old Facebook link with spec requirements. I think those are currently in http://spec.graphql.org/October2021/#sec-Handling-Field-Errors.
From what I can see, such a null value on a non-nullable field needs to be propagated, also making the parent null if it can be or otherwise further propagating it, possibly nulling everything out to the top.
So the special handling for this case and this exception is spec mandated. What I'm not sure is whether it should impact the successful results of previous operations in the same request? The result for username: "found" is effectively completely missing from the result? It's worth checking with the GraphQL Java team if this is expected behavior or not?
@bbakerman, any thoughts?
BTW the sample did not build easily for me with snapshots. I had to change the Boot plugin version from SNAPSHOT to 2.7.0-M1 and add https://repo.spring.io/milestone to the plugin repositories in settings.gradle.

What I'm not sure is whether it should impact the successful results of previous operations in the same request? The result for username: "found" is effectively completely missing from the result. It's worth checking with the GraphQL Java team if this is expected behavior or not?

From
http://spec.graphql.org/draft/#sec-Handling-Field-Errors

Since Non-Null type fields cannot be null, field errors are propagated to be handled by the parent field. If the parent field may be null then it resolves to null
If all fields from the root of the request to the source of the field error return Non-Null types, then the "data" entry in the response should be null.

In this case ALL fields from the "implied root" to the offending field (failure: userFind) were non null but a null value was returned.
This has the spec mandated behavior of clearing all data (including one  that succeeded).
Now one could argue with the spec by saying it should be changed maybe to say

If all fields from the root of the request to the source of the field error return Non-Null types, then the "data" entry in the response for the top level field should be missing IF there are other top level fields that worked.

But we followed the spec as written

Thanks @bbakerman for your feedback. I think we'll close this issue as a result.
My code snippet in https://github.com/spring-projects/spring-graphql/issues/286#issuecomment-1041274974 was working as expected, but I didn't change the schema and query accordingly. The following works:
type User {
    id: ID
    username: String!
}

type UnknownUser {
    message: String!
}

union Profile = User | UnknownUser

type Query {
    userGet(username: String): Profile!
}

{
  success: userGet(username: "found") {
    ... on User {
      __typename
      username
    }
    ... on UnknownUser {
      __typename
      message
    }
  }
  failure: userGet(username: "notFound") {
    ... on User {
      __typename
      username
    }
    ... on UnknownUser {
      __typename
      message
    }
  }
}


Add field wrapper for list type item [plugins/typescript]

Related to issue:  https://github.com/dotansimha/graphql-code-generator/issues/3882
Add wrapping in field wrapper in list item element

Thank you @alex-knyazev !
I think these changes are good, but it seems like it handles string a bit too much. I think maybe we can improve that and solve that before having this Maybe... string that we need to process.

Thank you @alex-knyazev !
I think these changes are good, but it seems like it handles string a bit too much. I think maybe we can improve that and solve that before having this Maybe... string that we need to process.

Thank you @alex-knyazev !
I think these changes are good, but it seems like it handles string a bit too much. I think maybe we can improve that and solve that before having this Maybe... string that we need to process.

I tried to do it more beautiful , but I always added this logic to inputs. Can you suggest where to see?

@alex-knyazev I think this should be moved into base-types-visitor.ts and then it will be more compatible. I'm trying to move it there, into FieldDefinition or NamedType visitor functions, and see if it works. I'll update very soon ;)

Thank you @alex-knyazev :) I used your tests and applied a fix for it here: https://github.com/dotansimha/graphql-code-generator/pull/3938
BTW, I'm pretty sure that we need to use Maybe<Wrapper<Type>> and not Wrapper<Maybe<Type>>, what do you think?

Thank you @alex-knyazev :) I used your tests and applied a fix for it here: #3938
BTW, I'm pretty sure that we need to use Maybe<Wrapper<Type>> and not Wrapper<Maybe<Type>>, what do you think?

I think yes, you right


Initialize logging in hca.cli.main

Codecov Report

Merging #195 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #195      +/-   ##
==========================================
+ Coverage   83.52%   83.53%   +0.01%
==========================================
  Files          37       37
  Lines        1463     1464       +1
==========================================
+ Hits         1222     1223       +1
  Misses        241      241

Impacted Files
Coverage Δ

hca/cli.py
66.66% <100%> (+0.45%)
: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 45c768b...689e7bf. Read the comment docs.


AndroidManifest not found with custom configurations

Description
I've waited nearly an hour on an android project to try publish a release build and its taken so long I gave up on it so posting my concern here. As this is my first attempt on a MAUI release build I cannot comment on previous versions.
Stuck on here:

Steps to Reproduce

Right click project
Select Publish...
Archive...

Link to public reproduction project repository
No response
Version with bug
9.0.10 SR1
Is this a regression from previous behavior?
Not sure, did not test other versions
Last version that worked well
Unknown/Other
Affected platforms
Android
Affected platform versions
No response
Did you find any workaround?
NO
Relevant log output

Any issue(s) with the VS Archiving experience would be owned by the VS integration team who does not use GitHub for issue tracking.
Please use the tools available inside of VS to report this issue.  This allows the issue to be routed to the correct team, and provides them the correct logs they need to diagnose it.

As for the command line error:
error XA1018: Specified AndroidManifest file does not exist: C:\xxxx\Platforms\Android\Release\AndroidManifest.xml.

@jonathanpeppers @dellis1972 Would this be expected if custom configurations are being used? Or do we possibly have a bug here?

@jonathanpeppers We do something like the following to get the full set of properties depending on the Constants defined.
<PropertyGroup Condition="'$(Configuration)'=='ReleaseFoo'">
	<DefineConstants>FOO;RELEASE;</DefineConstants>
</PropertyGroup>

<Choose>
	<When Condition="$(DefineConstants.Contains('FOO'))">
                <PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-android'">
                	<AndroidManifest>Platforms\Android\FOO\AndroidManifest.xml</AndroidManifest>
                </PropertyGroup>
        </When>
<Otherwise>

Also, I have the MSBuild_Logs folder, is there a particular .binlog file you would like or the entire folder? To avoid exposing sensitive information should I share this with you directly?

You can share with my email on my Github repo if you like. Can you just use Configuration=Release for everything? And then invent a new property like -p:Foo=true to make changes for a special build?

@jonathanpeppers Maybe but I don't see how that's a whole lot different to specifying as a configuration i.e. Configuration=Foo vs -p:Foo=true and correct if I am wrong but I lose the benefit of the DefineConstants when I can toggle between the configuration selected.

@jonathanpeppers correction I might have confused myself here, what your saying here is I can just use the custom property -p for selecting the correct signing identities and the manifests/info.plist files?

Yes, using any property other than $(Configuration) would work. Otherwise you would need to review a .binlog from a build to discover the set of properties for a Debug-like configuration vs a Release-like one. No one really knows the full list as noted in the dotnet/sdk issue above.

As of now I can do the publishing via the cmd line without any issues by specifying the config, as I'm a little snowed under other things Ill try revisit this again later and if this becomes an issue.


[azd pipeline provider] Hard to know the valid strings for --auth-type

Running azd pipeline config --help does not show what are valid entries or the auth-type:
vivazqu@ubuntu22:~/workspace/build/i$ azdd pipeline config --help
Create and configure your deployment pipeline by using GitHub Actions or Azure Pipelines.

For more information, go to https://aka.ms/azure-dev/pipeline.

Usage:
  azd pipeline config [flags]

Flags:
      --auth-type string        The authentication type used between the pipeline provider and Azure for deployment (Only valid for GitHub provider)
  -e, --environment string      The name of the environment to use.
  -h, --help                    Gets help for config.
      --principal-name string   The name of the service principal to use to grant access to Azure resources as part of the pipeline.
      --principal-role string   The role to assign to the service principal. (default "contributor")
      --provider string         The pipeline provider to use (github for Github Actions and azdo for Azure Pipelines). (default "github")
      --remote-name string      The name of the git remote to configure the pipeline to run on. (default "origin")

Global Flags:
  -C, --cwd string   Sets the current working directory.
      --debug        Enables debugging and diagnostics logging.
      --no-prompt    Accepts the default value instead of prompting, or it fails if there is no default.

Please let us know how we are doing: https://aka.ms/azure-dev/hats

The only way of discovering, is by trying some value and looking at the error msg:

Ideally, help should tell what are the valid values.
@savannahostrowski @puicchan , please define the working for the help to mention the valid values

@Austinauth Do you think that we can slip this into the current mocks for help improvements? Or should we allocate to this to an upcoming iteration?

Or we can add . Valid values: federated, client-credentials) to the help text, i.e.,
      --auth-type string        The authentication type used between the pipeline provider and Azure for deployment (Only valid for GitHub provider. Valid values: federated, client-credentials.)

Yeah, that's the most obvious solution. I do want to see what Austin's take is here though because the string gets a bit long + because we have all help layouts (see https://github.com/Azure/azure-dev/issues/822)

Created a quick mock-up, I hadn't done one for pipeline config. We can probably include the "Valid values: federated, client-credentials" in the description since it's already a longer one. The alternative would be to include it as a second bullet point in the primary description up top.
Side note, are there any obvious examples for this command we should include?
https://www.figma.com/file/iIRRiGPuKIfaSFfMJXcYle/azd-resource-provisioning?node-id=1691%3A141013&t=LioKI5cfyS2Otg0W-4

I think this mock looks fine to me. I just didn't want to okay it if you hadn't seen it, given all the work you've put into these screens!

All good, I appreciate that @savannahostrowski! If you think this scenario is likely to confuse users often, I would definitely suggest we take a look at bringing the message into the primary description.
To be honest I'm still a little a confused about how the command flag works here. Is this command essentially just printing the authentication type based on if you input federated or client-credentials?

You'd specify like azd pipeline config --auth-type federated for example.


bug : Fix connecting to Teloscan to metamask for the first time uses the old rpc

Fixes #890
Description
This PR fixes the issue that let users connect to old RPC when connecting to Metamask for the first time.
I added the new RPC from https://docs.telos.net/build/network-info/.
Mainnet : https://rpc.telos.net
Testnet : https://testnet.rpc.telos.net
Test scenarios

I opened this project in a brand new Google Chrome window and clicked on "Connect Wallet" to let it add the new RPC
I checked my account balance using the new RPC.
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have cleaned up the code in the areas my change touches
[x] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings
[x ] I have removed any unnecessary console messages
[ x] I have included all english text to the translation file and/or created a new issue with the required translations for the currently supported languages
[ ] I have tested for mobile functionality and responsiveness
[ ] I have added appropriate test coverage
[ ] I have updated relevant documentation and/or opened a separate issue to cover the updates (Issue URL: )

Thank you sir!


Add GDScript global yield-like "function": sleep.

This is 150-ish lines worth of parser magic so that
yield(get_tree().create_timer(1), "timeout")

becomes...
sleep(1)
# or, if not executing in a Node class, pass in a SceneTree instance
sleep(1, node.get_tree())

Don't know if that's a waste or not, but I've heard enough people on social media wondering why the heck GDScript doesn't support "such a basic feature" that I figured I'd add it. People evidently find it difficult to have to find (documentation issue) or difficult to use overall in comparison to the alternatives they find in other languages. This solves the second issue which consequently makes it more conventional, thereby reducing the need for the former issue.

If you're going to do this I recommend against calling this function sleep. It doesn't pause execution, so the function that called the sleeper will continue running. This is different from what sleep does in other languages that support it. Something like yield_seconds would work better as an alias.

@MidZik I'm confused. As far as I understand it, it does pause execution in the calling context. In my tests, I did...
extends Node
func _ready():
    while true:
        print("Hi")
        sleep(1)

And the node would only print once every second. So, it wasn't constantly printing "Hi" while some other context was yielding. It yields the current function, until the timer runs out (which results in the code suspending for N seconds, exactly what other languages do).
Am I just misunderstanding how this thing works?

extends Node
func _ready():
	var result = get_result_after_wait()
	print(result) # prints [GDScriptFunctionState:1134]

func get_result_after_wait():
	sleep(1) # equivalent to yield(get_tree().create_timer(1), "timeout")
	return "result"

I feel wary of adding such thing. Ii can only be called from a Node and it needs to be on the tree. There's a potential for failure and I'm not sure if the error message will be clear. Even though most of scripts are attached to nodes, but it's not always the case.

@vnen I see. Well, is there perhaps a valid implementation of sleep or wait that would actually do what people expect (I'm guessing writing something at the engine level and then exposing it as a global function in @GDScript or something). I had thought this was the right way to do it based on feedback I saw others give as advice, but if that's not the case, then...

If you want to pause the thread, you can call OS.delay_msec().
yield(get_tree().create_timer(1), "timeout") is already a shortcut (so you don't need to actually create a Timer node and it to the tree). I fear that hiding this context from the users will lead to confusion, especially if using sleep as the name. It's easier to detect why get_tree() fails when it's explicitly on userland code.
I'm also not fond of making the parser inject a bunch of instructions like that. It makes the parser more complex and more coupled with the engine API. And will likely mislead users in term of performance expectation (maybe not a big concern in a sleep function, but still an issue IMO).

If OS.delay_msec is already a thing, why do people even use the whole yield with timeout thing? lol. Seems like I didn't read the write advice about how to approach the issue.
Alright, it sounds like this PR just isn't really useful in the first place (and not the best way to solve the problem even if it were fully applicable). I'll just go ahead and close it.

If OS.delay_msec is already a thing, why do people even use the whole yield with timeout thing?

Because delay_msec will pause the thread execution, if you call it on the main thread you'll pause the whole game. yield will return the control to the caller and let everything happen until the signal resumes the function.


GORA-515 Update aerospike java client and remove unsupported policies

This PR contains changes to update Aerospike java client and remove unsupported policies by the new version.

Merged the PR. Thanks @nishadi


Update scallop to 4.0.4

Updates org.rogach:scallop from 4.0.3 to 4.0.4.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.rogach", artifactId = "scallop" } ]

labels: library-update, semver-patch

+1

[X] Do all automated continuous integration checks pass?
Yes
[X] Is the update a patch, minor, or major update?
Patch update, one fix to how option descriptions that contain newlines are handled--does not affect Daffodil
[X] Is the license still compatible with ASF License Policy?
Yes, still MIT.
[X] Have any changes been made to LICENSE/NOTICE files that need to be incorporated?
No changes to LICENSE. No NOTICE file
[X] Have any transitive dependencies been added or changed?
No changes to transitive dependencies


Updated HTML

Made changes to the img under the "What's Happening Today" section of the time bank

This change should be made to ensure the page looks good


Set ipcRenderer's max listeners to Infinity, rather than default 10, …

…since listeners scale linearly to tab count. Fixes #633. r=vporof

Coverage decreased (-0.02%) to 42.852% when pulling 4eceea6243e82d36e52f01451fabd8a3736dd7f1 on jsantell:set-max-listeners into 38ebe1d266fda0588a48f110dc2bed372997a024 on mozilla:master.

to infinity and beyond

r+


Statistics of categorical GEE datasets

Looks like ee.Reducer.frequencyHistogram is the way to do this. Perhaps it could be added to the built-in list.

Also, seems like we could drop the mean reducer from always being computed as it makes no sense in the categorical context.


Python Illegal wire type for field Message.Field .PeopleRequest.ages: 2 (0 expected))

Hello,
here is my proto:
message PeopleRequest {
  repeated string names = 1; // ex: ['jack', 'marie']
  repeated int32 ages = 2; // ex: [1, 2]
}

and here is my call:
people_request = grpc.PeopleRequest(
      names=['daniel'],
      ages=[32],
)
print(people_request) // Ok, no error when building the people_request object
stub.GetPeoples(people_request) // ERROR Illegal wire type for field ages: 2 (0 expected))

This simple grpc call throws an error about the type of the field ages. I really can't see where is the problem...That's a simple list of integers isn't it? Why it seems to recognize it as a list of strings/bytes (wire type 2) ?
Many thanks for you help!

And here is the auto-generated python code:
_descriptor.FieldDescriptor(
      name='names', full_name='PeopleRequest.names', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
_descriptor.FieldDescriptor(
      name='ages', full_name='PeopleRequest.ages', index=1,
      number=2, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),

I don't think that print(people_request) // Ok, no error when building the people_request object is sufficient to demonstrate that your people_request message is legitimately constructed. You write that "the error is [...] not when building the protobuf people_request object", but for performance reasons Python Protocol Buffers don't do any validation on construction, only when they are serialized. Try something like
try:
  serialized_people_request = grpc.PeopleRequest.SerializeToString(people_request)
except Exception as e:
  print(e)
else:
  print('Serialized to binary of type {} and length {}'.format(type(serialized_people_request), len(serialized_people_request)))

? I suspect that the issue you're having is more on the Protocol Buffers side of the situation than the gRPC side.

Ok, I didn't know there was no check when building the object. So indeed my reasoning isn't correct.
When serializing this object:
{ 'names': ['daniel', 'jack'], 'ages': [18, 22] }

here is the console output of your test code:
Serialized to binary of type <class 'bytes'> and length 20

After what, the same error is thrown when calling the grpc method:
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.INTERNAL, Illegal wire type for field Message.Field grpc.GetPeoples.ages: 2 (0 expected))>

Should I post this issue on the protocol buffers github's page?
Many thanks for your help!

I'd like to see more of your code. Where is(are) the Service portion(s) of your .proto file? How are you constructing your stub?

Of course, here is the whole code:
syntax = "proto3";

package grpcClient;

service GrpcClient {
  rpc GetPeople(PeopleRequest) returns (PeopleResponse) {}
}
message PeopleRequest {
  repeated string names = 1; // ex: ['jack', 'marie']
  repeated int32 ages = 2; // ex: [18, 24]
}
message PeopleResponse {
  repeated Person people = 1;
}
message Person {
  string name = 1;
  int32 age = 2;
}

Stub construction:
from . import grpcClient_pb2
class GrpcClient:
    def __init__(self):
        server_url = "http://my_url:5001"
        secure_channel = make_secure_channel(server_url)
        self.__stub = grpcClient_pb2.GrpcClientStub(secure_channel)

    def get_people(self, **kwargs):
        people_request = grpcClient_pb2.PeopleRequest(**kwargs)
        # your test example
        try:
            serialized_people_request = grpcClient_pb2.PeopleRequest.SerializeToString(ins)
        except Exception as e:
            print(e)
        else:
            print('Serialized to binary of type {} and length {}'.format(type(serialized_people_request), len(serialized_people_request)))
        return self.__stub.GetPeople(people_request) # this throw an error

The main logic:
grpcClient = GrpcClient()
grpcClient.get_people({ 'names': ['daniel', 'jack'] }) # this is OK
grpcClient.get_people({ 'names': ['daniel', 'jack'], 'ages': [18, 22] }) # this throws

I don't believe protobuf supports direct assignment of repeated fields in the constructor.
See https://developers.google.com/protocol-buffers/docs/reference/python-generated#repeated-fields .

@kpayson64 appending to the list instead of assigning throws the same error:
from . import grpcClient_pb2

def run():
    server_url = "http://my_url:50051"
    secure_channel = make_secure_channel(server_url)
    stub = grpcClient_pb2.GrpcClientStub(secure_channel)
    people_request = grpcClient_pb2.PeopleRequest()
    people_request.ranks.append(1)  # appending here as demonstrated in the guide https://developers.google.com/protocol-buffers/docs/reference/python-generated#repeated-fields
    people_response = grpcClient_pb2.GetPeople(people_request) #  throws grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.INTERNAL, Illegal wire type for field Message.Field .grpcClient_pb2.PeopleRequest.ranks: 2 (0 expected))>

if __name__ == '__main__':
    run()

@nathanielmanistaatgoogle Out of the two .py generated (grpcClient_pb2 and grpcClient_pb2_grpc), I just use one: grpcClient_pb2 to generate the stub, and build the objects. The other file ending with _grpc -> grpcClient_pb2_grpc seems broken, with many duplicated imports at the beginning of the file:
import grpc
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities

import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2
import grpcClient_pb2 as grpcClient__pb2

So this could be related to the versions I'm using (python 3.6/grpcio  1.0.4/protobuf 3.1.0.post1)...or some mistake when generating the .py files....or I don't know. I will try with python 3.5.

just resintalled all the packages with python 3.5, same error :-(

Short story: My server was written in node.js, and:
rm -rf node_modules
npm i

solved the problem for me.
Long story: It appears that whatever the server my client was connecting to (I had a local and a remote node.js server running for the test) in both case my client would throw. That's why I looked for an error in the client code, and not on the server side.
Finally I reimplemented the server side in python, and surprisingly my client wouldn't throw when connecting to the python server. So I started to suspect my node.js server had a problem, I finally completely reinstalled the node_modules of my node.js server, restarted, and indeed the problem disappeared. So I conclude the problem was related to some package in node_modules.


Structural Hole Calculation for Directed Graph

[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I have searched the documentation and believe that my question is not covered.

Feature Request

The calculation of Effective Size(a feature of structural hole theory) only supports the undirected graphs. However, I think this metric is also useful for directed graphs. The "networkx" package has supported this by "networkx.effective_size".
I propose this issue for requesting the calculation support of structural hole theory metrics for directed graphs. Thanks!

Good idea! Thank you, we will add it in the next version.


Card io scanning invalid Card Number and Expiry date (Scanning  1st card card number and invalid expiry date  )

Can anyone help or suggest who faced similar kind of issue mentioned below on iOS platform latest card.io version 5.4.1.
This generally happens when you have placed multiple (at least two) cards at your desk and moving the camera focus from one to another card.
i.e If we try to scan Card A and Immediately(after 5-10 second) try to scan other card (Card B) then Card A's Number or expiry date is being scanned which is invalid for Card B.
So as per my analysis, this is card.io limitation. If anyone is facing same issue kindly share your's thought.

Bit worrying that nobody has looked at it, but we are facing similar issues. Seems like it is a limitation of card.io. I'm now looking at alternatives.

@MiralDesai have you found any reliable alternative?

@pzmudzinski  Unfortunately not. Seems like CardIO have a bit of a monopoly. I'm no longer working on iOS so not up to date on possible alternatives, hopefully you find something.

Yeah, haven't found anything good, and this SDK seems to be dead, especially when nobody responds to any issues.


ResourceIdentifier.metadata Map and List

Allowed types are bool, int, double, and String.

https://pub.dev/documentation/meta/latest/meta/ResourceIdentifier/metadata.html
For https://github.com/dart-lang/native/issues/1085, we need support for maps. (Which was discussed in https://dart-review.googlesource.com/c/sdk/+/355922, but not yet implemented.)

JSON-shaped data makes sense. 👍
So we'd exclude support for:

Sets
Tuples
Instance constants
Maps with keys other than strings.

We could add support for those if we come up with some kind of encoding scheme, but so far I have not seen any use cases for non-JSON shaped data.

If we support multiple fields in subtypes of ResourceIdentifier (https://github.com/dart-lang/sdk/issues/55568), then we might not have a need to support maps.


Clarify which "Azure AD Connect Health" service is unsupported

Documentation does not state which service of "Azure AD Connect Health" is not supported with pass-through authentication. Connect health works with ADFS, Domain Services, AD Connect

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

ID: 12cbaf93-735d-e257-9203-0437bdf9d1ea
Version Independent ID: f12c0f8c-86e3-72f6-1a3c-c20ad6654017
Content: Azure AD Connect: Pass-through Authentication - Current limitations
Content Source: articles/active-directory/hybrid/how-to-connect-pta-current-limitations.md
Service: active-directory
GitHub Login: @billmath
Microsoft Alias: billmath

@CHDAFNI-MSFT
Thanks for your feedback! We will investigate and update as appropriate.

@CHDAFNI-MSFT Ping me on email and we can get you to the people who can answer this. Thanks!
#please-close


Joystick gets stuck on status bar in iOS

On all of my Apple products (iPhone SE, iPhone 7, Mac mini) the joystick gets stuck. What you simply have to do is to drag the joystick to the top menu/status bar and then release the finger/left click. After that the joystick gets stuck in the last position. To release it you have to start a new touch/click event.
Did anyone else experienced this problem? Is there a workaround?

Did you get this behavior in one of the example we have?
Because I could not reproduce the issue on iOS Simulator, which is the only way I have to test iOS devices.
Please reopen with some testable code.
Thank you.

In the gif below you can see what I mean. This behavior leads to a stucked stick on some of my mobile devices.

If I can support you with any information, then let me know.

Also, what kind of iPad, iOS do you use?

Thanks @yoannmoinet for having a look into it!
The gif was in the safari (12.0.2) on my Mac (Version 10.14.2).
My first experience with this bug was in my App. I'm currently using your plugin to bring a joystick into my Cordova App. My first step was to check if the problem was on my side. So I just build a Cordova App with your third test (index3.html) in it. As you can see in the gif below, this bug can occur on mobile devices as well.

This has been tested on my iPhone SE (iOS 12.1) and iPhone 7 (iOS 12.1). While the gif is recorded on an iPhone SE 12.1 Simulator, because I can display my touch events.

@yoannmoinet I just found out that a touchend event doesn't get called in iOS when you leave the screen over the statusbar. Therefore the pageY value of the touchmove event is going negative. I found the solution over here: https://stackoverflow.com/a/37434902/1754625


Added dynamic RSS scaling.

Scaling is implemented by changing RETA table, queues don't stop or start.
Performance results are more fluky but this is due

Following heuristics which are quite old and inefficient
Changing of static RSS to dynamic
However now user shouldn't write strange double receive constructs with merging -
Everything will be cloned automatically.
Two receive functions for one port is now prohibited.

This pull request passed teamcity testing. (the same fails like without these changes). So I'm waiting for approves.


fix(app): create validations/ subdirectory in dist/ for the construct-metadata.json file

Fixes #1039
When users try to deploy their manifests on the dist/ directory like so:
kubectl apply -f dist/

They get an error if a construct-metadata.json file is generated -- this is because kubectl attempts to apply on the construct metadata file as well, even though it is only used for validation purposes and not as a kubernetes manifest:
error: unable to decode "dist\\construct-metadata.json": Object 'Kind' is missing in '{"version":"1.0.0","resources":{"helm-bitnami-java-bitnami-c8b78b77-redis":{"path":"helm-bitnami-java/bitnami/helm-bitnami-java-bitnami-c8b78b77-redis-service-default"},"helm-bitnami-java-bitnami-c8b78b77-redis-configuration":{"path":"helm-bitnami-java/bitnami/helm-bitnami-java-bitnami-c8b78b77-redis-configuration-configmap-default"},"helm-bitnami-java-bitnami-c8b78b77-redis-health":{"path":"helm-bitnami-java/bitnami/helm-bitnami-java-bitnami-c8b78b77-redis-health-configmap-default"},"helm-bitnami-java-bitnami-c8b78b77-redis-scripts":{"path":"helm-bitnami-java/bitnami/helm-bitnami-java-bitnami-c8b78b77-redis-scripts-configmap-default"},"helm-bitnami-java-bitnami-c8b78b77-redis-headless":{"path":"helm-bitnami-java/bitnami/helm-bitnami-java-bitnami-c8b78b77-redis-headless-service-default"},"helm-bitnami-java-bitnami-c8b78b77-redis-node"

To fix this, a validations/ subdirectory has been added in the dist/ directory. Now the construct metadata file will be found at dist/validations/construct-metadata.json. kubectl apply only works on files directly in a folder and does not recursively apply on subdirectories unless the --recursive flag is used.
The Chart tests were updated with this new filepath.

@sumupitchayan This is problematic. First it will not solve the issue in case users are running kubectl --recursive. Second, the cdk8s app itself can be configured in such a way that it creates sub directories inside the dist folder (see https://github.com/cdk8s-team/cdk8s-core/blob/2.x/src/app.ts#L11), so this might create a conflict.
Lastly, the cli actually relies on the file existing in the root dist folder, see https://github.com/cdk8s-team/cdk8s-cli/blob/22ebf725bad15a6336e47ec279a6ffbc1c7f2acf/src/util.ts#L238.
So, I think we can skip this for now. If users enabled validation explicitly, they would have seen this issue and found a workaround. The important thing is to make sure we don't create the file unintentionally, which you already take care of here.

@sumupitchayan this can be closed right?


Allow to edit the time in Timepicker

I'm Submitting a ...

[ ] Bug report
[x] Feature request
[ ] Support request

Other Information (e.g. stacktraces, related issues, suggestions how to fix)

Our users are annoyed of having to click the arrows so much to set the time. We tried to communicate that it can be edited directly in the input field, however, we keep getting the same complaints. Thus, our solution would be to allow to directly manipulate the displayed numbers in the timepicker page via input elements.

I think this is a great idea. It's a big tough because of the validation of times and formats but something that will make life simpler to much people.


fix: remove broken link for error handling

Remove broken link in Performance Best Practices Using Express in Production on Handle exceptions properly section, there is a link point to Error Handling in Node.js but the page is not found now and I can't find a replacement for this so I think this is better to be removed

Great find! Looks like Joyent moved their aite around and here is the new url: https://www.tritondatacenter.com/node-js/production/design/errors

Great find! Looks like Joyent moved their aite around and here is the new url: https://www.tritondatacenter.com/node-js/production/design/errors

Thank you, can't found them before. It's updated now


Bulk-Data Import Operation and API #671

Develop helper code to build the OperationDefinition for $import

Update import.json with the generated OperationDefinition

Develop helper code to generate tests for $import Parameters object

Included $import parameters examples as part of testdata/

Introduce BulkDataImportUtil and Refactor ImportOperation

Refactor the method signature for import

Refactor $export-status to $bulkdata-status

Updated BulkDataUtil to BulkDataExportUtil

Add FHIRConfiguration entry for validBaseUrls

Refactor the configuration tests

Added importBulkData (import is reserved, otherwise the method would
be called import)

Refactor PollingLocationResponse to support $import and $export

increased test coverage to 100% for class covering the various cases
of use and branches in the model and writers

Convert the PollingLocationResponse writer to honor the system wide
pretty printing setting from FHIRConfiguration

Increase Test Coverage

Add support for custom fields (datasourceinfo is base64 as it is
serialized into a name-value pair)

Update FHIRServerUsersGuide.md (refactor $export and update for
$import)

Add IT for $import - ImportOperationTest

Remove unused configuration tests

Refactor ExportOperationTest for changes to serialization

Update the fhir-server-config.json to include validBaseUrls

Add test-import.ndjson for Integration Testing

Add defensive programming on the number of inputs

Fix issue where ResourceTypes are always split by a space in request

Reference to
https://github.com/smart-on-fhir/bulk-import/blob/master/import.md

Signed-off-by: Paul Bastide<EMAIL_ADDRESS>

Please take a look at AbstractOperation.getParameter(...) as a possible alternative to using the FHIRPath engine to do the same.

Please take a look at AbstractOperation.getParameter(...) as a possible alternative to using the FHIRPath engine to do the same:
https://github.com/IBM/FHIR/blob/c6d97a10068e2d1b0f3ff01acd5695660ada4018/fhir-operation/src/main/java/com/ibm/fhir/operation/AbstractOperation.java#L91

@johntimm thoughts on taking this as a separate issue?


Mouse selection gets misaligned on specific condition

When the visible part of the text is moved, the mouse selection is misaligned
Regardless of the currently visible part, the selectable range is based on the first letter
https://github.com/MDLC01/better-selection-mc/assets/165812336/28807e33-db8a-4a3f-a49f-6e6092c0be45

The fix is available in the latest version (1.6).


Added getters to Some, Left, Right

No, this is not meant to allow unsafe access! :)
I'd like to use dartz with the new ui as code features.
Take a look at this example:
    const Option<String> o = Some("foo");
    final list = [
      if (o is Some<String>) o.value,
      "bar",
    ];

    const Either<int, String> error = Right("no error");
    final list2 = [
      if (error is Right<int, String>) error.value,
      "bar",
    ];

Folding wouldn't be as clean as having access to the value itself when it is known that there is a value.

#15


WordPress plugins on nextjs website

Not sure if I should put it here.. but I checked my own websites and it says WordPress -plugins 3 live, while it's a nextjs website..

Interesting,  could you share the URL?

Prefer not as it's an adult content website, not sure if that's allowed to share on github.. I'll send you pm on LinkedIn so you're still able to investigate

Cool yeah, probz best not to share the link here then 😉
The way the technologies / tech stack widget works, is by comparing the response to known signatures with a massive bunch of RegExs. Here's the list I'm using: https://github.com/Lissy93/wapalyzer/tree/main/src/technologies
It's quite a trivial approach, so it's not impossible for their to be a mistake here, especially if you've copied any code from elsewhere when building your site.
Try scanning your site with BuiltWith (https://builtwith.com/) which uses a similar but slightly different approach. BuiltWith should have more detailed info about what technolgies a site is built with, and how they're detected.
Hope that helps :)


Mistake in README.md

In the project readme, under the setting up frontend section, the instructions should be
cd TensorMap/tensormap-client

instead of
cd TensorMap

since 'yarn install' and 'npm start' do not make sense in the main directory and would return an error.

@ChetanMadan yes it should be
cd Tensormap/tensormap-client


add missing Engine() to default validator for gin override example

[x] Tests exist or have been written that cover this particular change.

Change Details:

update the gin override example to include a function Engine() to meet the new interface requirements for gin, https://github.com/gin-gonic/gin/blob/master/binding/binding.go#L46
unable to write tests because the type of change

@go-playground/admins

Coverage remained the same at 100.0% when pulling 9f62099643d87d0c6c232be81cd22731bfc5e6e8 on Ashtonian:patch-1 into 14984d91328f9612b58443cbdf4a077d4fd71091 on go-playground:v9.

Thanks @Ashtonian


bug(python): Embeddings with lots of zeros cause numeric instability when indexing.

LanceDB version
v0.6.8
What happened?
I have a tabular dataset and I wanted to see if I could use LanceDB to create a KNearestNeighborsRegressor that uses Lance as a backend instead of numpy. The initial results were solid, out of the box it is faster than the scikit-learn implementation. But this was without an index, so I wondered if the index might improve things.
I'm about to show a bunch of warnings, but for context it might help how this "embedding" is created. I am using this Kaggle dataset and here's a screenshot of the table.

To encode this, I'm using this scikit-learn pipeline.
from sklearn.pipeline import make_union, make_pipeline
from sklearn.compose import make_column_selector
from sklearn.preprocessing import StandardScaler, OneHotEncoder, FunctionTransformer
from sklearn.feature_extraction.text import HashingVectorizer, CountVectorizer
from skrub import SelectCols

pipe = make_union(
    SelectCols(["mmr"]),
    make_pipeline(
        SelectCols(["year", "condition", "odometer"]),
        StandardScaler()
    ),
    make_pipeline(
        SelectCols(["make", "model", "body", "transmission", "color"]),
        OneHotEncoder(sparse_output=False)
    )
)

X_demo = pipe.fit_transform(df)

I think it's important to observe that the OneHotEncoder here will introduce a vector with lots (and lots!) of zeros. I think this is messing up the indexing because when I index I see red lines appear in the notebook with warnings that look like this:
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 74 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 95 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 70 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 99 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 78 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 109 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 66 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 63 of 256.
    Help: this could mean your dataset is too small to have a meaningful index (less than 5000 vectors) or has many duplicate vectors.
[2024-04-15T16:55:53Z WARN  lance_linalg::kmeans] KMeans: more than 10% of clusters are empty: 63 of 256.

I'm only showing a subset of the logs here, but after about a minute and a half it reports that an index has indeed been calculated. However, if I now search ...
thread 'lance-cpu' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs:72:14](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs#line=71):
range end index 221184 out of range for slice of length 220884
thread 'lance-cpu' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs:72:14](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs#line=71):
range end index 221184 out of range for slice of length 220884
thread 'lance-cpu' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs:72:14](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs#line=71):
range end index 221184 out of range for slice of length 220884
thread 'lance-cpu' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs:72:14](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs#line=71):
range end index 221184 out of range for slice of length 220884

... I get these warnings. Eventually it dies with this message.
thread 'lance_background_thread' panicked at [/Users/runner/work/lance/lance/rust/lance/src/utils/tokio.rs:34:24](http://localhost:8888/Users/runner/work/lance/lance/rust/lance/src/utils/tokio.rs#line=33):
called `Result::unwrap()` on an `Err` value: RecvError(())
thread 'lance-cpu' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs:72:14](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/pq/utils.rs#line=71):
range end index 221184 out of range for slice of length 220884
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
File <timed eval>:1

File [~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/query.py:262](http://localhost:8888/lab/tree/~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/query.py#line=261), in LanceQueryBuilder.to_pandas(self, flatten)
    247 def to_pandas(self, flatten: Optional[Union[int, bool]] = None) -> "pd.DataFrame":
    248     """
    249     Execute the query and return the results as a pandas DataFrame.
    250     In addition to the selected columns, LanceDB also returns a vector
   (...)
    260         If unspecified, do not flatten the nested columns.
    261     """
--> 262     tbl = self.to_arrow()
    263     if flatten is True:
    264         while True:

File [~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/query.py:527](http://localhost:8888/lab/tree/~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/query.py#line=526), in LanceVectorQueryBuilder.to_arrow(self)
    518 def to_arrow(self) -> pa.Table:
    519     """
    520     Execute the query and return the results as an
    521     [Apache Arrow Table](https://arrow.apache.org/docs/python/generated/pyarrow.Table.html#pyarrow.Table).
   (...)
    525     vector and the returned vectors.
    526     """
--> 527     return self.to_batches().read_all()

File ~/Development/knn-lance/venv/lib/python3.11/site-packages/pyarrow/ipc.pxi:757, in pyarrow.lib.RecordBatchReader.read_all()

File [~/Development/knn-lance/venv/lib/python3.11/site-packages/pyarrow/error.pxi:91](http://localhost:8888/lab/tree/~/Development/knn-lance/venv/lib/python3.11/site-packages/pyarrow/error.pxi#line=90), in pyarrow.lib.check_status()

OSError: Io error: Execution error: External error: Execution error: ExecNode(Take): thread panicked: task 532288 panicked

I'm guessing this is all related to the many zeros in the vector. I can totally see how that messes up Kmeans. In my case I think I can either choose to not use the index or go for some embedding tricks to reduce the zeros. But I figured reporting this one, since it may be a relevant edge-case for other folks as well.
Are there known steps to reproduce?
I can send the full notebook, but I hope the above description is sufficient.

I figured I might try using PCA to limit the zeros.
from sklearn.decomposition import PCA

pipe = make_union(
    SelectCols(["mmr"]),
    make_pipeline(
        SelectCols(["year", "condition", "odometer"]),
        StandardScaler()
    ),
    make_pipeline(
        SelectCols(["make", "model", "body", "transmission", "color"]),
        OneHotEncoder(sparse_output=False),
        PCA(n_components=100)
    )
)

X_demo = pipe.fit_transform(df)

But this does not resolve the issue. Makes sense too, I think you'd really have to reduce it immensely in order for the "zero-effect" to disappear.

Just for the heck of it I figured that I might try PCA with 10 components. This should really loose a lot of information but ... I hit another issue while building an index this time.
thread '<unnamed>' panicked at [/Users/runner/work/lance/lance/rust/lance-index/src/vector/kmeans.rs:41:20](http://localhost:8888/Users/runner/work/lance/lance/rust/lance-index/src/vector/kmeans.rs#line=40):
attempt to divide by zero
---------------------------------------------------------------------------
PanicException                            Traceback (most recent call last)
File <timed eval>:1

File [~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/table.py:1145](http://localhost:8888/lab/tree/~/Development/knn-lance/venv/lib/python3.11/site-packages/lancedb/table.py#line=1144), in LanceTable.create_index(self, metric, num_partitions, num_sub_vectors, vector_column_name, replace, accelerator, index_cache_size)
   1134 def create_index(
   1135     self,
   1136     metric="L2",
   (...)
   1142     index_cache_size: Optional[int] = None,
   1143 ):
   1144     """Create an index on the table."""
-> 1145     self._dataset_mut.create_index(
   1146         column=vector_column_name,
   1147         index_type="IVF_PQ",
   1148         metric=metric,
   1149         num_partitions=num_partitions,
   1150         num_sub_vectors=num_sub_vectors,
   1151         replace=replace,
   1152         accelerator=accelerator,
   1153         index_cache_size=index_cache_size,
   1154     )

File [~/Development/knn-lance/venv/lib/python3.11/site-packages/lance/dataset.py:1492](http://localhost:8888/lab/tree/~/Development/knn-lance/venv/lib/python3.11/site-packages/lance/dataset.py#line=1491), in LanceDataset.create_index(self, column, index_type, name, metric, replace, num_partitions, ivf_centroids, pq_codebook, num_sub_vectors, accelerator, index_cache_size, shuffle_partition_batches, shuffle_partition_concurrency, **kwargs)
   1489 if shuffle_partition_concurrency is not None:
   1490     kwargs["shuffle_partition_concurrency"] = shuffle_partition_concurrency
-> 1492 self._ds.create_index(column, index_type, name, replace, kwargs)
   1493 return LanceDataset(self.uri, index_cache_size=index_cache_size)

PanicException: attempt to divide by zero

This is interesting, because the smallest absolute number in my data (np.min(np.abs(emb))) is  5.159067705838442e-06. It's a small number, sure, but before I had actual zeros. So this issue may be coming from within Lance that's not related to my data.

hi @koaning , i tried to reproduce your first panic problem by creating index with vectors with lots of zeros.
i got the warning logs as the same as yours, but i didn't get panic when search.
could you share more info about your index params, or your notebook?

Here's the relevant code from the notebook.
import pandas as pd
df = pd.read_csv("car_prices.csv").dropna()
df.head(3)

from sklearn.pipeline import make_union, make_pipeline
from sklearn.compose import make_column_selector
from sklearn.preprocessing import StandardScaler, OneHotEncoder, FunctionTransformer
from sklearn.feature_extraction.text import HashingVectorizer, CountVectorizer
from skrub import SelectCols

pipe = make_union(
    SelectCols(["mmr"]),
    make_pipeline(
        SelectCols(["year", "condition", "odometer"]),
        StandardScaler()
    ),
    make_pipeline(
        SelectCols(["make", "model", "body", "transmission", "color"]),
        OneHotEncoder(sparse_output=False)
    )
)

X_demo = pipe.fit_transform(df)

from lancedb.pydantic import Vector, LanceModel
import lancedb

db = lancedb.connect("./.lancedb")

class CarVector(LanceModel):
    vector: Vector(X_demo.shape[1])
    id: int
    sellingprice: int

batch = [{"vector": v, "id": idx, "sellingprice": p}
         for idx, (p, v) in enumerate(zip(df['sellingprice'], X_demo))]

tbl = db.create_table(
    "orig-model",
    schema=CarVector,
    on_bad_vectors='drop', # This is an interesting one by the way!
    data=batch
)

Here's where the warnings come in.
%%time

tbl.create_index()

%%time

tbl.search(X_demo[0]).limit(20).to_pandas()

I ran this on both my M1 macbook air as well as my M1 mac mini and saw the same panic in both cases. Could be that this is Mac specific, but not 100% sure.

hi @koaning
TLDR: you can resolve the issue by creating index with params below:

num_partitions should be the num_rows / 1,000,000 or sqrt(num_rows), but at least 1. the default value is 256, which is too large for your dataset.
num_sub_vectors should be not greater than the dimension of your vector, according to your code, it should be less or equal to 5 (OneHotEncoder produces dimension for each field iiuc)

Details:
the IVF_PQ index divides the dataset into num_partitions partitions, each partition should contain enough rows so it will be meaningful.
the PQ transforms each vector to a uint8 array with length num_sub_vectors, it splits the vectors into chunks with size dimension / num_sub_vectors, if the num_sub_vectors is greater than the vector dimension, we got 0 and that's the panic reason.
I will add some checks to report meaningful errors for this case

The reasoning sure seems sound, however, when I change the hyperparams on my machine I still get the same error. This surprised me, but I think that I'm also not able to set the number of clusters that it'll fit?

I can imagine that with less clusters we might also get out of the weeds here. Curious to hear other thoughts though.

When I set num_partitions and num_sub_vectors to 1 I don't see any errors anymore though, so that may also just be the remedy for this dataset.

the PQ training also divide data into partitions, the number of partitions(centroids) is pow(2, num_bits), by default, the num_bits=8 so it's 256 centroids. try to create the index with additional param: num_bits=1
could you check the dimension of your vectors, to make sure it's actually 5? I noticed it still read the wrong number of data

I may be mistaken, but I think that I'm not able to set the num_bits. This is the signature of tbl.create_index.
tbl.create_index(
    metric='L2',
    num_partitions=256,
    num_sub_vectors=96,
    vector_column_name='vector',
    replace: 'bool' = True,
    accelerator: 'Optional[str]' = None,
    index_cache_size: 'Optional[int]' = None,
)

oh you are right... the lancedb doesn't expose this param.
setting num_sub_vector=1 should work if you have enough rows.

Gotya, being able to set the number of clusters somehow does feel like a valid feature. I can see how I may want to tune that param. But as far as this issue goes I guess better error messages would be fine. I also understand that my use-case is a bit out of the ordinary, there are also things I could do to make these embeddings "better" with regards to the retreival engine.


Reproduce problem

on RAF-DB

I trained the model from scratch and got similar results, with low accuracy. Do you have a good accuracy rate now?

How is it? Do you get better result?

Run the model on FER2013 from kaggle the results are disappointing at least

For anyone who is trying to reproduce the results, have you tried data augmentation?
If you check all the datasets that were used, you will find them to have class imbalance. It is recommended to augment them in order to balance the classes. Please use different augmentation techniques to increase the samples with lower count than others and try to balance out the dataset.


Fill in all service doc pages

Unchecked services that already have some content need to be double-checked and sometimes updated with driver information.

[x] AimTTi PL-P - @ivalaginja - https://github.com/spacetelescope/catkit2/pull/196
[x] AlliedVision camera - @ivalaginja - https://github.com/spacetelescope/catkit2/pull/185
[x] BMC DM - @steigersg - https://github.com/spacetelescope/catkit2/pull/224
[ ] Camera sim
[x] Empty service - @ivalaginja - https://github.com/spacetelescope/catkit2/pull/196
[x] FLIR camera - @steigersg - https://github.com/spacetelescope/catkit2/pull/224
[x] Newport Picomotor - @meiji274 - https://github.com/spacetelescope/catkit2/pull/197
[ ] Newport XPS
[x] NI DAQ - @ivalaginja - https://github.com/spacetelescope/catkit2/pull/196
[x] NKT Super K - @steigersg - https://github.com/spacetelescope/catkit2/pull/224
[ ] Omega ITHX
[ ] Safety Manual Check
[x] Safety Monitor - already there
[x] SNMP UPS - already there
[x] Thorlabs CLD 101x - @ivalaginja - https://github.com/spacetelescope/catkit2/pull/196
[ ] Thorlabs filter wheel - in progress (@steigersg )
[ ] Thorlabs flip mount - in progress (@steigersg )
[ ] Thorlabs ~picomotor~ pm -> need to rename to "power meter"
[ ] Thorlabs TSP temperature sensor - in progress (@steigersg )
[x] Web Power Switch - @meiji274 - https://github.com/spacetelescope/catkit2/pull/197
[x] ZWO camera - @meiji274 - https://github.com/spacetelescope/catkit2/pull/197

General guidelines:

use provided template
general description should list required drivers, Python APIs, and models a service has been tested on
service properties can be identified with make_property()
service commands can be identified with make_command()
data streams can be identified with make_data_stream()

Do we need to revise the bmc_dm documentation now that we have the new DM base class?

At some point probably, but I have added the note (Old) to that documentation and filled in the new doc page for the new services. So I think it's fine for now, but don't let me stop you if you want to update things.


[bug] Hard-coded health path for readiness / liveness probes, yet ability to configure where it is exposed by Centrifugo

Describe the bug
While you can configure the health handler path for Centrifugo through the config key health_handler_prefix, the liveness and readiness probes' paths are hard-coded as /health in the deployment template:
https://github.com/centrifugal/helm-charts/blob/master/charts/centrifugo/templates/deployment.yaml#L154-L165
Version of Helm and Kubernetes:
Helm Version:
$ helm version
version.BuildInfo{Version:"v3.10.1", GitCommit:"9f88ccb6aee40b9a0535fcc7efea6055e1ef72c9", GitTreeState:"clean", GoVersion:"go1.18.7"}

Kubernetes Version:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.17", GitCommit:"953be8927218ec8067e1af2641e540238ffd7576", GitTreeState:"clean", BuildDate:"2023-03-01T02:23:41Z", GoVersion:"go1.19.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"24+", GitVersion:"v1.24.15-eks-a5565ad", GitCommit:"af0b16a331376384fe84445fe2f8d4cb468b4148", GitTreeState:"clean", BuildDate:"2023-06-16T17:35:37Z", GoVersion:"go1.19.10", Compiler:"gc", Platform:"linux/amd64"}

Which version of the chart:
10.0.3
What happened:
Liveness / readiness probes are failing when a different health path is configured.
What you expected to happen:
Be able to configure the liveness and readiness probe paths or if the value for health_handler_prefix is not empty, use that value for probes path, too.
How to reproduce it (as minimally and precisely as possible):
values.yaml
config:
    health_handler_prefix: /some-prefix/health

helm install my-release centrifugal/centrifugo --version version --values values.yaml

Hello @vmcqgo - thanks for pointing.
I think it's better to not use .Values.config.health_handler_prefix, but have a separate explicit option inside .Values.internalService
Sth like .Values.internalService.healthHttpEndpoint and use {{ .Values.internalService.healthHttpEndpoint | default "/health" }} for setting paths.
It's more configuration - two places instead of one, but feels more correct to me. Because Centrifugo's health_handler_prefix may be actually set over environment and using .Values.config.health_handler_prefix does not seem right from that perspective.
Surprisingly not-obvious thing :)


Poll message edition fails after long timeout.

If you call a poll with a pretty long timeout (at least 2 hours from my experience), the message is not successfully edited to show the poll results.
This should be easily fixed by retrieving the message by its ID before editing it, to void cache erasure issues.

discord dumdumb

note that the same issue will happen with every command that has a timeout, like call


Ingest Y-band photometry from the Ultracool Sheet

The MKO Y photometry is the highest priority photometry that needs to be ingested from the Ultracool Sheet: https://docs.google.com/spreadsheets/d/1i98ft8g5mzPp2DNno0kcz4B9nzMxdpyz5UquAVhz-U8/edit#gid=1469954551
Also add ULASS names as appropriate.
(Separating this task from #81)

I made a pseudo-script which outlines the possible necessary steps: https://gist.github.com/kelle/6ba958606ca820c096adf0e4ce0b3180

Regarding the filter name: Not sure the MKO_Y is actually UKDISS.Y or UFTI.Y or something else. I think Ben B. will know.


fix: (DrawingManager) Fix Typo

Fix typo of property from "rectangeOptions" to "rectangleOptions"
BREAKING CHANGE: This changes an input property of the directive.
As such, the current implementations will throw an error

@doom777 i'm a bit worried about this fix as it affects an input property, having anyone which uses it to correct the implementation.
Let me know what are your thoughts on it; perhaps we could change just the property name in google maps constructor.

taken care of in #1833


[EditorProgress] Use BackgroundProgress instead of ProgressDialog when called for a thread.

~Fixed https://github.com/godotengine/godot/issues/93159, but it's fixing symptoms, not the cause of the issue.~ Crash is already fixed, but it's still useful as failsafe.

Thanks!


Can't use chroot

When using chroot against any directory, a error occour:
$ chroot myfolder
chroot: failed to run command ‘/usr/bin/bash’: No such file or directory

I tried copy the bash.exe to bash but it didn't resolve the problem.

Its failing because the path gets invalid while trying to chroot. Is there an actual need to use chroot on MSYS2? /usr/bin/bash does no longer exist in the environment for MSYS2, when you chroot. You would have to symlink or copy bash.exe to myfolder/usr/bin/ directory for it to work, since you're changing the root path.
Another option is to use mount with the option --bind to re-mount parts of the filesystem hierarchy into another path (the same can be accomplished by adding those bind mount entries in /etc/fstab).

I was trying to replicate the sctructure of a server inside MSYS2 for create/test some bash scripts. Since I do some work in home too, I was syncronizing this sctructure and scripts with Git, to continue the work after, and use chroot was for that, because the company polices doesn't accept remote connection. Well, I think putting the bash inside /user/bin will resolve my problems. Thanks for your time.


Strided interface for weibull distrbution

Resolves #946
Adding support for filling a strided array with pseudorandom numbers drawn from a Weibull distribution. This is the strided interface analog of @stdlib/random/base/weibull.
Related Issues
None
This pull request:

resolves #946

Questions

Any questions for reviewers of this pull request?

Do lemme know if i interpreted wrong implementation
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
@stdlib-js/reviewers

Thanks for your PR!
Flagged a bunch of copy-paste and minor naming issues. Once these are addressed (easiest may be to batch commit the suggestions from the files tab), should be able to merge in.

Will do the required changes. Thanks for the review @Planeshifter

@Planeshifter   Requested Chnages are resolved.
Pls review

Thank you. There were a few more copy-paste errors to be resolve (see above commits), but your PR has now landed!

Thanks @Planeshifter .


A100 80G batch_size=4 OOM

Hi, I noticed that you trained the model on 8 * A100-80G GPUS with batchsize=4 , and I followed the training settings as you mentioned in the paper, which means  I set the input_size=1024x1024, bs=4 on 8 * A100-80G GPUS too.
but when i run train.sh, it occours a "OOM" error, with the cmd  watch -n 0.1 nvidia-smi when trainning, it shows that, NO.0 GPU oom, and the others is ok, the NO.0 GPU has more than one process on it like bellow.

Really? Let me check it now. I'm lucky to just finish a training and have those idle GPUs.

It looks good on my machine with the default settings (compile=False now, but True should also be okay). Maybe you can check the env?

@ZhengPeng7  thank u for your reply.
It's strange, my environment is configured exactly according to the readme, I'll double check it later.
One more question, it's about input image size, considering that the size of the images in my usage scenario (including the training set) are all 1340x1785 (wxh), with an aspect ratio of 0.75, I changed the input size from 1024x1024 to 768x1024.
This not only better suits my usage scenario, but also avoids OOM error when set batchsize=4.
However, I'm not sure about how much this size change will affect the results, whether positively or negatively.
Could you offer some advice on this?
thank u very much.

Sure. It should work directly after you change the resolution to the new one. But make sure you're using the latest version, as several changes were made to the adaptable resolution for training, about one week ago.

It should work better in your cases. 1024x1024 is a trade-off value for all cases in practical using.

It should work better in your cases. 1024x1024 is a trade-off value for all cases in practical using.

OK, thans again, that's what i want.

Sure. It should work directly after you change the resolution to the new one. But make sure you're using the latest version, as several changes were made to the adaptable resolution for training, about one week ago.

Yes, It can work normally after chaning the config.input_size from 1024x1024 to 768x1024.
During the training process, I found that,the 8 GPUs are outputting different loss values.  Seven of them are relatively close, but one consistently has a much higher loss than the other seven, when under one same interation.
Is this normal? What do you think could be causing this issue?

In my training log, two or three of the eight values are larger than others. I think this is common and not a problem.

In my training log, two or three of the eight values are larger than others. I think this is common and not a problem.

Okay, many thanks for your patient reply.


Can't use google_maps_flutter inside of a scrolling widget

If you put a Google Map inside of a scrolling widget, the widget scrolls, and the map does not.
The map should scroll, not the widget. Or at least you should be able to choose.

My bad: https://stackoverflow.com/questions/54280541/google-map-in-flutter-not-responding-to-touch-events


Add "things the Rust community team does"

This post gives a more detailled overview of some of the things we do.
Please feel free to add things or reformulate.

Closing this, but we can reuse things for future documentation of the community team.


why my training model got only one result?

I have a problem where the result of my training model comes out with only one output, which is [1]. actually has 2 outputs which are [1] real and [0] fake. I follow step by step from github but when I predict a fake video result it comes out [1]? that means the video is real. Is this coding wrong? also I use fake video to testing.. and the output show that video is real.

The [1] and [2] are not clear. Kindly elaborate on that. Also, if this is in reference to the code in this repository, this code will give you a frame by frame probabilistic output as to whether that particular frame might be a deepfake or not. So, the metric you use to decide whether the whole video would be a deepfake or not would essentially be whether any single frame in the video might actually be a deepfake.

The [1] and [2] are not clear. Kindly elaborate on that. Also, if this is in reference to the code in this repository, this code will give you a frame by frame probabilistic output as to whether that particular frame might be a deepfake or not. So, the metric you use to decide whether the whole video would be a deepfake or not would essentially be whether any single frame in the video might actually be a deepfake or not.

I mean, I've tried to follow step by step in the code but when I predict a fake video, the result is more real every frame

So are you considering frame extraction, if so, it doesn't matter if the whole video in a deepfake might look realistic or not. What really matters is that if atleast 1 frame in the video shows up as a fake frame, then the whole video can be flagged off as a deepfake. This, would suggest looking at all the outputs to compare and view whether atleast one frame in the video is a deepfake or not. Thus, evaluate your choice accordingly.
Also note that the training would be very biased as in some videos the deepfake effect might be more prominent in all the frames and in some just a few, so it's important to train on more videos to get a better accuracy.

okay thank you I will try to train more videos

Hi, I'm sorry, I want to ask. I have tried to test video prediction again by using sample video ('/content/drive/MyDrive/deepfake-detection-master/train_sample_videos/aagfhgtpmv.mp4') which is fake video. Then run, the output i get is:
[[1.00000 0.00000]]
[[0.99984 0.00016]]
[[0.99995 0.00005]]
[[0.99962 0.00038]]
[[0.99999 0.00001]]
[[0.99398 0.00602]]
[[0.99990 0.00010]]
[[0.98545 0.01455]]
[[0.99999 0.00001]]
[[1.00000 0.00000]]
[[1.00000 0.00000]]
You mean the vector on the left is real and the right is fake, right? so I predict the video to be fake but it is more like real ie 1.0 = 100%? right?


mathgl[hdf5]:x64-windows build failure

Host Environment

OS: Windows 10 1903
MSVC 2019 16.3.0

To Reproduce
vcpkg install mathgl[hdf5]:x64-windows

Failure logs
config-x64-windows-out.log
install-x64-windows-dbg-out.log

Error:
C:\Dev\BasicTools\vcpkg\buildtrees\mathgl\src\2.4.3-ea7ba2a6a4\include\mgl2/datac.h(477): error C3861: 'mgl_abs': identifier not found
I did a search through all files in the source tree and this the only place it is used in the source code. The function is not defined anywhere.
Relevant Code:
#ifndef DEBUG
	/// Get the value in given cell of the data
	mreal v(long i,long j=0,long k=0) const	{	return abs(a[i+nx*(j+ny*k)]);	}
	/// Set the value in given cell of the data
	void set_v(mreal val, long i,long j=0,long k=0)	{	a[i+nx*(j+ny*k)]=val;	}
#else
	/// Get the value in given cell of the data with border checking
	mreal v(long i,long j=0,long k=0) const	{	return mgl_abs(mgl_datac_get_value(this,i,j,k));	}
	/// Set the value in given cell of the data
	void set_v(mreal val, long i,long j=0,long k=0)	{	mgl_datac_set_value(this,val,i,j,k);	}
#endif

maybe it should use that instead:
	inline mglData Abs() const
	{	return mglData(true,mgl_datac_abs(this));	}

Try replacing mgl_abs with mgl_datac_abs and report the error upstream

After searching for mgl_abs, I found that this function was removed in a certain version, and we should report this to the official.
See history.

According to the history mgl_abs should be simply replaced by abs like in the debug case.

Hi @spindensity, thanks for reporting this issue.
I've fixed this issue in #8369, please update vcpkg and rebuild mathgl.
Thanks.


Some replies are "Error, the reference "" does not exist"

As the title says, sometimes when I send it a message it'll give me that or an actual reply, it's random on this outcome. Why is this?

This is an apparent issue in the 1.0 API that requires you to set a session
name first
On Apr 2, 2016 11:57 AM, "ErraticFox"<EMAIL_ADDRESS>wrote:

As the title says, sometimes when I send it a message it'll give me that
or an actual reply, it's random on this outcome. Why is this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/CleverbotIO/node-cleverbot.io/issues/6
Untracked with Trackbuster https://trackbuster.com/?sig

And how do I set a session? I'm new to javascript and node.

Simply use the .setNick(name) method of the cleverbot instance.
On Apr 2, 2016 6:03 PM, "ErraticFox"<EMAIL_ADDRESS>wrote:

And how do I set a session? I'm new to javascript and node.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/CleverbotIO/node-cleverbot.io/issues/6#issuecomment-204839915
Untracked with Trackbuster https://trackbuster.com/?sig


border-box without options control issue

I just need to background-size feature

I’m not sure I follow. You need an option to disable some feature?

yep

Thanks! All right, now this has been added in v1.2.1.