Could not install fractal package in laravel 5.2 version

I'm trying to install laravel package as per guidance below link:
http://fractal.thephpleague.com/installation/
Error
root@tasol-desktop:/var/www/api# composer require league/fractal
Using version ^0.13.0 for league/fractal
./composer.json has been updated

php artisan clear-compiled
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- ellipsesynergie/api-response 0.9.0 requires league/fractal 0.12.* -> no matching package found.
- ellipsesynergie/api-response 0.9.0 requires league/fractal 0.12.* -> no matching package found.
- ellipsesynergie/api-response 0.9.0 requires league/fractal 0.12.* -> no matching package found.
- Installation request for ellipsesynergie/api-response == <IP_ADDRESS> -> satisfiable by ellipsesynergie/api-response[0.9.0].
Potential causes:

A typo in the package name
The package is not available in a stable-enough version according to your minimum-stability setting
see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Installation failed, reverting ./composer.json to its original content.

@varsadadj It looks like you are trying to require fractal, but the package you are using (ellipsesynergie/api-response) is already requiring it.
If you want to use fractal by itself you should uninstall ellipsesynergie/api-response first.

This is not an issue with Fractal, more an issue with the package ellipsesynergie/api-response requiring a different version of Fractal to the one you're trying to require.


crash when run flutter in my hybrid app

Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter --suppress-analytics build aot --output-dir=build/aot --target-platform=ios --target=lib/main.dart --release --ios-arch=armv7,arm64 --bitcode
exception
FileSystemException: FileSystemException: Cannot open file, path = 'build/aot/arm64/gen_snapshot.d' (OS Error: No such file or directory, errno = 2)
#0      _File.throwIfError (dart:io/file_impl.dart:645:7)
#1      _File.openSync (dart:io/file_impl.dart:489:5)
#2      _File.writeAsBytesSync (dart:io/file_impl.dart:614:31)
#3      _File.writeAsStringSync (dart:io/file_impl.dart:638:5)
#4      ForwardingFile.writeAsStringSync (package:file/src/forwarding/forwarding_file.dart:154:16)
#5      AOTSnapshotter.build (package:flutter_tools/src/base/build.dart:202:43)
<asynchronous suspension>
#6      AotBuilder.build.<anonymous closure> (package:flutter_tools/src/aot.dart:100:44)
#7      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
#8      AotBuilder.build (package:flutter_tools/src/aot.dart:99:19)
#9      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#10     _rootRunUnary (dart:async/zone.dart:1134:38)
#11     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#12     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#13     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#14     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#15     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#16     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
#17     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
#18     AOTSnapshotter.compileKernel (package:flutter_tools/src/base/build.dart)
#19     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#20     _rootRunUnary (dart:async/zone.dart:1134:38)
#21     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#22     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#23     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#24     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#25     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#26     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
#27     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
#28     AOTSnapshotter._timedStep (package:flutter_tools/src/base/build.dart)
#29     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#30     _rootRunUnary (dart:async/zone.dart:1134:38)
#31     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#32     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#33     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#34     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#35     Future._chainCoreFuture (dart:async/future_impl.dart:495:7)
#36     Future._chainFuture (dart:async/future_impl.dart:567:9)
#37     Future._asyncComplete (dart:async/future_impl.dart:549:7)
#38     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15)
#39     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
#40     KernelCompiler.compile (package:flutter_tools/src/compile.dart)
#41     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#42     _rootRunUnary (dart:async/zone.dart:1134:38)
#43     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#44     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#45     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#46     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#47     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#48     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
#49     _rootRun (dart:async/zone.dart:1126:13)
#50     _CustomZone.run (dart:async/zone.dart:1023:19)
#51     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#52     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
#53     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#54     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#55     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#56     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

flutter doctor
[✓] Flutter (Channel stable, v1.12.13, on Mac OS X 10.15.3 19D76, locale zh-Hans-CN)
    • Flutter version 1.12.13 at /Users/pengjizong/Documents/flutter
    • Framework revision cf37c2cd07 (6 months ago), 2019-11-25 12:04:30 -0800
    • Engine revision b6b54fd606
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /Users/pengjizong/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4.1, Build version 11E503a
    • CocoaPods version 1.8.0

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] Connected device (2 available)
    • iPhoneXR • 00008020-00021D221EDA002E            • ios • iOS 12.1.2
    • iPhone X • 05FE745B-E75C-40EE-A024-4384E5FC8E99 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-4 (simulator)

• No issues found!

flutter_01.log

Hi @JimmyPeng4iOS
could you please run flutter upgrade --force
and if the issue persists
provide the update flutter doctor - v and logs
Thank you

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA ..

What Ruby, Rails and RSpec versions are you using?
bundle exec ruby --version
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
bundle exec rails --version
Rails <IP_ADDRESS>
bundle exec rspec --version
RSpec 3.9
  - rspec-core 3.9.1
  - rspec-expectations 3.9.1
  - rspec-mocks 3.9.1
  - rspec-rails 4.0.0
  - rspec-support 3.9.2

Observed behaviour
     Failure/Error: expect(::RedactedJob).to have_been_enqueued.exactly(2).times

     NoMethodError:
       undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA:0x00007feb2aa89d10>
     # ./spec/redacted/enqueue_jobs_spec.rb:37:in `block (3 levels) in <module:Redacted>'

Expected behaviour
The 4.0 documentation has the following example, so I expected exactly to be defined.
      UploadBackupsJob.perform_later('backup')
      expect(UploadBackupsJob).to have_been_enqueued.exactly(:once)

Workaround
expect(::RedactedJob).to have_been_enqueued.times(2)

Can you provide an example app?
Happy to, if determined to be needed.

Can you please set a breakpoint and check what is the source of the class an instance of which have_been_enqueued returns?
undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA:0x00007feb2aa89d10>

RSpec::ActiveJob::Matchers::EnqueueA doesn't look too similar to RSpec::Rails::Matchers::ActiveJob::HaveBeenEnqueued.
Pretty sure you are using rspec-activejob. It's high time to start using rspec-rails's matchers instead.

Pretty sure you are using rspec-activejob. It's high time to start using rspec-rails's matchers instead.

Thanks Phil, after uninstalling rspec-activejob, I can now use exactly.

Good to know @jaredbeck, happy to help 🙌


Allow specification of kernel to use

Would be obviated by #31 :)

Would be obviated by #31 :)

Well, not quite: I have opened a PR on nbval to do it, though.


Duplicate Secret Key

First off, thank everyone for any help they can provide.  I was redirected here from the Rippex Customer Service Team, who was unable to solve my issue.
Bottom line: My secret key seems to be associated with two Ripple Wallet Addresses, and unfortunately, it is only accessing an empty wallet and not the one with my Ripple in it.
I used Ripple Desktop Wallet to create a wallet.  It assigned me a wallet address and secret key.  I deposited Ripple into that wallet.  I go to log in to my wallet, and it takes me to a different address than what Ripple originally gave me.  Same password...same secret key...now linked to a different wallet address.  This is my issue.  Fortunately, I have screenshots of my account assignment that prove what I'm saying, which is my secret key somehow changed to a different account.  I can search my original address and see my Ripple in there, but when I try to get to it using the assigned secret key (which I have a screen shot of so I know its right), it takes me to a different address.
I am thoroughly confused at this point.  Has anyone ever heard of a secret key being assigned to two different addresses? I've been working this with Rippex for about two weeks and they said they have never seen this before and don't know how to fix it.  I can provide more details as necessary, and even willing to share the screenshots.  I know they will display my secret key, but I'd rather someone get that Ripple rather than it simply disappear forever.

I have the same issue that is unresolved at this point. I posted your exact same problem basically word for word. I still cannot access my original address that has all my xrp. If this is happening to multiple people there should be a solution. I'm currently out over 500 xrp. Have you found any other people posting the same issue else where?

I checked into it prior to posting above and did see some older mention of it but haven't looked into it further, I also have not contacted Ripex, perhaps I should.  I wish there was some kind of recourse since I have a screengrab that proves the original bad public address/private key pair.


Missing tests for Linux-non-bwrap-non-FUSE situations

See original issue on GitLab
In GitLab by [Gitlab user @danielsilverstone-ct] on Oct 4, 2018, 10:28
Summary
With !847 we no longer demand the presence of bubblewrap during installation on Linux.  In addition, since !626 and !726 landed it makes sense for us to be able to run without it thanks to remote execution support.  Unfortunately this means that we need to test what happens on Linux systems without bwrap/FUSE when attempting to perform local builds which need a sandbox to run.
Steps to reproduce

Have a Linux system with either too-old-bubblewrap (pre 0.1.2) or missing-bubblewrap or no /dev/fuse
Run a local build which uses the sandbox (i.e. not just stack/import/filter elements)
See the now handy error message explaining why the sandbox fails

What is needed to resolve this?
We need:

A test which runs on Linux in the absence of one or more of the above requirements
A docker container which is such a system
A change to .gitlab-ci.yml to use the above.

Other relevant information

BuildStream version affected: /milestone %BuildStream_v1.4

In GitLab by [Gitlab user @danielsilverstone-ct] on Oct 4, 2018, 10:28
mentioned in merge request !847

In GitLab by [Gitlab user @cs-shadow] on Oct 10, 2018, 02:21
It might also be worth testing that non-BuildElements still build in the absence of bwrap. For example, elements like import should work fine with the dummy sandbox.

In GitLab by [Gitlab user @cs-shadow] on Oct 24, 2018, 18:26
assigned to [Gitlab user @BenjaminSchubert]

In GitLab by [Gitlab user @cs-shadow] on Oct 24, 2018, 18:27
[Gitlab user @BenjaminSchubert] is planning to have a look at it.

In GitLab by [Gitlab user @BenjaminSchubert] on Oct 26, 2018, 10:39
The work is ongoing on this branch: https://gitlab.com/BuildStream/buildstream/commits/bschubert/tests-no-chroot-linux
I'll create a MR once I'm happy with my solution

In GitLab by [Gitlab user @BenjaminSchubert] on Nov 1, 2018, 17:28
mentioned in merge request !921

In GitLab by [Gitlab user @BenjaminSchubert] on Nov 8, 2018, 11:07
mentioned in commit f116b9b7e4c804c04816ca3078e5849d1f0bd856

In GitLab by [Gitlab user @BenjaminSchubert] on Nov 8, 2018, 11:07
closed via merge request !921

In GitLab by [Gitlab user @danielsilverstone-ct] on Nov 8, 2018, 13:06
While !921 isn't what I asked for, in this instance I accept that it does meet the needs raised in the issue.
In future [Gitlab user @BenjaminSchubert] it's worth noting that you should not mark issues Closed by MRs, unless they were filed by yourself.  The process (currently) desired by the project is that such issues are marked related to the MRs only, and that once the engineer believes a merge has happened which resolves the issue, the issue is moved to the 'Validate' lane so that the original submitter can decide if it's actually closed.
No harm this time, but worth remembering :-)

In GitLab by [Gitlab user @BenjaminSchubert] on Nov 8, 2018, 17:21
[Gitlab user @danielsilverstone]-ct  Oups, sorry, I wanted your review on the PR and forgot afterwards :/
Concerning the closing, I just referenced them in the MR, isn't that the current workflow?

In GitLab by [Gitlab user @danielsilverstone-ct] on Nov 9, 2018, 11:15
[Gitlab user @BenjaminSchubert] The trick is to say something like "related to #nnn" or "goes toward #nnn" -- do not mention "close" "closes" "resolve" "resolves" etc. or it will auto-close :(
The current template is buggy in that sense :(


python311Packages.testcontainers: 4.5.0 -> 4.5.1

Description of changes
Changelog:
https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.5.1
cc @onny

Things done

Built on platform(s)

[ ] 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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 316103 run on x86_64-darwin 1

2 packages marked as broken and skipped:

python311Packages.apache-beam
python311Packages.apache-beam.dist

8 packages built:

python311Packages.aio-pika
python311Packages.aio-pika.dist
python311Packages.testcontainers
python311Packages.testcontainers.dist
python312Packages.aio-pika
python312Packages.aio-pika.dist
python312Packages.testcontainers
python312Packages.testcontainers.dist

Result of nixpkgs-review pr 316103 run on aarch64-linux 1

2 packages marked as broken and skipped:

python311Packages.apache-beam
python311Packages.apache-beam.dist

8 packages built:

python311Packages.aio-pika
python311Packages.aio-pika.dist
python311Packages.testcontainers
python311Packages.testcontainers.dist
python312Packages.aio-pika
python312Packages.aio-pika.dist
python312Packages.testcontainers
python312Packages.testcontainers.dist

Result of nixpkgs-review pr 316103 run on x86_64-linux 1

6 packages marked as broken and skipped:

python311Packages.apache-beam
python311Packages.apache-beam.dist
python311Packages.dm-sonnet
python311Packages.dm-sonnet.dist
python311Packages.tensorflow-datasets
python311Packages.tensorflow-datasets.dist

8 packages built:

python311Packages.aio-pika
python311Packages.aio-pika.dist
python311Packages.testcontainers
python311Packages.testcontainers.dist
python312Packages.aio-pika
python312Packages.aio-pika.dist
python312Packages.testcontainers
python312Packages.testcontainers.dist


Where can i find slice of used models?

Hi, how can i get all used models?

Generic database interface

Slice of models

there is no API for that.


image link doesn't open on android

I'm sure this is on your radar but a handful of my org files won't open, I suspect it has to do with image and shell links I use.

If only some of your org files won't open, it's most likely because of an error while parsing the file.
Could you send me a example of a file which doesn't work? You can try removing lines to generate a minimal example that doesn't open. If I have an example I can fix it.

heres an example file with three errors:

* Test
** Commands
*** [[shell:kitty --detach nvim --listen /tmp/godot.pipe][open nvim]]
** Ideas
***** [[https://pinballmakers.com/wiki/images/2/27/Visual-pinball.png]]
******

the shell, image, and blank header all cause the plugin to fail loading

lol sorry about switching accounts, I essentially dont care if the shell links do anything, I just have them for desktop use

Thanks for the example, I could reproduce easily :+1:
I released 2.5.4 which fixes the problem on my side.

Amazing it works for me as well!
I ran into one more error a blank TODO:
** TODO

this also results in a crash, I imagine it is the same for DONE. etc

Nice catch :slightly_smiling_face:
Tell me what you think of release 2.5.5

everything is working thank you!!


Retry does not work correctly for SqlCommand.ExecuteReader when CommandBehavior.CloseConnection is used

Describe the bug
When CommandBehavior.CloseConnection is passed into SqlCommand.ExecuteReader, the command is not retried and System.InvalidOperationException is thrown.
Exception:
Exception message: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

Stack trace:
   at Microsoft.Data.SqlClient.SqlCommand.ValidateCommand(Boolean isAsync, String method)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at Microsoft.Data.SqlClient.SqlCommand.<>c__DisplayClass152_0.<RunExecuteReaderWithRetry>b__0()
   at Microsoft.Data.SqlClient.SqlRetryLogicProvider.Execute[TResult](Object sender, Func`1 function)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderWithRetry(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)

The connection appears to be closed upon calling ExecuteReader while according to documentation of  CommandBehavior.CloseConnection it should be closed when the reader is closed.
To reproduce
using System.Data;
using Microsoft.Data.SqlClient;

using var connection = new SqlConnection("Data Source=.;Initial Catalog=master;Integrated Security=True;Trust Server Certificate=true;");
connection.Open();
var command = connection.CreateCommand();
command.RetryLogicProvider = SqlConfigurableRetryFactory.CreateFixedRetryProvider(new SqlRetryLogicOption { NumberOfTries = 3, TransientErrors = new[] { 50000 } });
command.CommandText = "RAISERROR('Test error', 16, 1)";

// When CommandBehavior.CloseConnection is removed from the line below, command is retried 3 times as expected.
using var reader = command.ExecuteReader(CommandBehavior.CloseConnection);

Expected behavior
The command is retried according to specified retry options, connection is closed when the reader is closed.
Further technical details
Microsoft.Data.SqlClient version: 4.0.0
.NET target: .NET 6
SQL Server version: Microsoft SQL Server 2019
Operating system: Windows 10 Enterprise
Additional context
Dapper (popular O/R mapping library) passes CommandBehavior.CloseConnection into SqlCommand.ExecuteReader when query is executed on an initially closed connection. This issue breaks retry logic when Dapper is used, unless connection is explicitly opened before executing query.

@sksk571 I looked at the code, when the exception happens, in this case error is raised, reader gets closed and since requested,  the connection gets closed consequently. Now the question would be should the documentation get adjusted to this behavior or we can give some control to RetryLogicProvider to control the retries and reader and close them accordingly?
I was able tp check if retryProvider in SqlDataReader class is requested and omit the connection closure, but that would be against CommandBehavior.CloseConnection purpose and simply makes it useless.

After looking deeper in the code and patterns we noticed that CommandBehavior.CloseConnection is in contradiction with RetryLogic. We will update the documentation soon. Thanks for catching this.

@JRahnama I think the problem is caused by the fact that the reader is created and disposed on every retry, which causes connection to be closed between retries. We worked around the issue by creating own SqlRetryLogicProvider that reopens connection before retrying, but it's a bit hacky.


Rollout in other regions?

Hi,
Is there any high level roadmap available for rollout in additional regions for bare metal infrastructure?
Thanks!

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

ID: 64a00f8f-aa3d-18ef-88ff-2ef4bc3ce8a2
Version Independent ID: 83e4b536-e0ec-4041-ca9c-0255fd64722b
Content: Overview of BareMetal Infrastructure Preview in Azure - Azure Baremetal Infrastructure
Content Source: articles/baremetal-infrastructure/concepts-baremetal-infrastructure-overview.md
Service: baremetal-infrastructure
Sub-service: workloads
GitHub Login: @Ajayan1008
Microsoft Alias: v-hborys

Hi Mahesh,
I just started with this project, so I'll check and get back to you.
Thanks,
Ajayan

Hi Mahesh,
Have you seen this article: https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/hana-available-skus?
Approximately end of June, these will be converted to Rev 4.2
SAP HANA on Azure (Large Instances) service based on Revision 4 stamps is available in several configurations in the Azure regions of:
West US 2
East US
Germany West Central is the new location in our roadmap.
Hope this helps.
Tjhanks,
Ajayan


[GAE-Java] Remove some dummy java dep in gae java

What do these changes do?

Related issue number

Related PR #2378

Codecov Report

Merging #2380 (e480489) into main (59367f8) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #2380   +/-   ##
=======================================
  Coverage   40.00%   40.00%
=======================================
  Files          88       88
  Lines        9711     9711
=======================================
  Hits         3885     3885
  Misses       5826     5826

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 59367f8...e480489. Read the comment docs.

@zhanglei1949 @siyuan0322
Please double check the changed files for GraphLearn in this PR.


Can use commands / place blocks before login

Hey, don't know if u're still previous topic, so i've downloaded version for 5.2 sponge but still can do everything before login.

Do you tried the -sponge5 version like I said?

flexiblelogin-0.16.1-sponge5 this one? yes i did

flexibleloginpl.txt
Hey there you have "config" file translated to polish, tomorrow i'll translate messages.conf probably :)
(.txt file beacuse github doesnt let me to upload config file.)

Please try the latest uploaded version.

Yup it works ! :D Thanks alot !


Where to buy aka Crowdfunding?

Hello,
are they any plans to make a batch of full function pcbs? or a crowdfunding project?
Not everyone have the skill to make a one board?

would be interested as well. maybe tindie?

Hi @JanHBade The idea is for me to sell them on Tindie indeed. Hackaday was a bit early with discovering the ESP32 TouchDown. I made a batch and sold them to a few people to get some feedback. I'm currently working on a batch to put up on Tindie, I hope later this week!

hey @DustinWatts thanks for the fast reply! looking forward to it :) On the upside of early discovery, you can probably make 10-20x of what u planned originally ...

I would love to use these to make cnc countroller. Let me know and I will buy a few.

I'd like to buy a couple as well, depending on the price.

Another interested here

Yesterday I put the Tindie listing up. https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/
It seems I highly underestimated interest and it sold out within 10 minutes. Off course I am making more, but to get a bit of an idea of how many more to make, you can join the waitlist.

Thanks for the link. Joined!
On Wed, Feb 17, 2021 at 7:19 AM Dustin Watts<EMAIL_ADDRESS>wrote:

Yesterday I put the Tindie listing up.
https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/
It seems I highly underestimated interest and it sold out within 10
minutes. Off course I am making more, but to get a bit of an idea of how
many more to make, you can join the waitlist.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/DustinWatts/esp32-touchdown/issues/3#issuecomment-780331446,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWPU7RJ5OXEMTQPLEUDS7NNYHANCNFSM4XUJRGXA
.

--
https://danielorodriguez.com


Should the other remaining proxies in the main app move into _elections

It looks like that way. There is where they appear to be used. Though perhaps we should break some of the basic OCD stuff out from elections like jurisdictions and divisions and such.

Done.


serialize_fully serialize also ManyToMany relations

@davedash I've updated the PR to be pep8 compliant and have tests. Is that OK for You?


Set default edge type and style for drag-and-drop custom nodes

I'm unable to set a custom edge type with a pre-defined style for new nodes that are dragged onto the canvas (. For such nodes, it's assuming the default edge type (bezier I think). It seems to me that the type and styles of are set programmatically for pre-existing nodes only.
Any tips/suggestions?

I just sat with the same thing. I modified the onConnect and when doing addEdge you can spread the params and modify like this;
const onConnect = (params: Connection | Edge) =>     setElements((els) =>       addEdge(         { ...params, arrowHeadType: ArrowHeadType.Arrow, type: "smoothstep" },         els       )     );
Maybe not the answer you need but may help you a bit on the road :)

As @nectum pointed out you need to pass the type attribute to the addEdge function.


Cannot use average="none" in v0.11?

🐛 Bug
Using version 0.11 and trying to use Dice with average="none", I get the following error:
ValueError: The `reduce` none is not valid.

Additional context
There is a check for the allowed average values in the Dice class. This permits "none".
However, comparing v0.11 and v0.10.3, it looks like a second check was added further down in the class during this PR.
if average not in ["micro", "macro", "samples"]:
            raise ValueError(f"The `reduce` {average} is not valid.")

Since that doesn't check for average of "none", and since average isn't redefined above it, I think that secondary check added in #1252 causes the bug.

Hey,
Is there any progress on this? :)
I stumbled upon the same problem and needed a quick fix, so I dug a bit deeper. It seems more complicated than removing this if statement. For TLDR, I wrote a quick and dirty fix which allows to instantiate the Dice class with average set to weighted or none without any errors. However, I did not check if the computed score is actually correct. Feel free to check it out:
https://github.com/blazejdolicki/metrics/commit/5a226431f6beee606b1db9a45bab1f19fdd449d9
Furthermore, I don't understand some changes made by #1252 in __init__ of Dice. For instance, right now it assigns kwargs["reduce"] only after calling super().init(**kwargs) so essentially the new value of kwargs["reduce"]  is never used. I have very little idea about the library implementation, but this doesn't seem right. Looking at this PR it seems that "weighted" and "none" average weren't taken into account at all in the changes.
Please let me know if I'm missing something.

Update: When updating the metric state, I ran into a new error regarding shape mismatch of self.tp. It seems that I needed to change how self.reduce was initialized. My guess is that self.reduce used to be initialized in the super class (Metric), but in #1252 it was moved to Dice class, but with incorrect initalization. Here is a commit with the update: https://github.com/blazejdolicki/metrics/commit/f94b9e1ee16b9f162d64733ac7de3fe0663058c8
Now the training script finishes without errors.

Hi everyone, thanks for reporting this issue.
We are actually in the process of completely deprecating Dice as it is mathematically the same as F1Score. Therefore please use that metric instead. We have some work thats been going on in PR https://github.com/Lightning-AI/metrics/pull/1090 (that is sadly a bit stagnated at the moment) that is going to deprecate Dice but instead add GeneralizedDice as an metric.

Hi everyone, thanks for reporting this issue. We are actually in the process of completely deprecating Dice as it is mathematically the same as F1Score. Therefore please use that metric instead. We have some work thats been going on in PR #1090 (that is sadly a bit stagnated at the moment) that is going to deprecate Dice but instead add GeneralizedDice as an metric.

I cannot get the expected Dice result using MulticlassF1Score. See below this toy example where I calculate the Dice for class 1 and 2 (ignoring 0). My implementation and the MONAI implementation agree, but the F1 score does not (and also still returns a tensor with length of classes including 0).

from monai.metrics import DiceMetric as dice
from torchmetrics.classification import MulticlassF1Score as F1_score
import torch
from torch.nn.functional import one_hot

calc = dice(include_background=False, reduction='mean_batch')
F1 = F1_score(num_classes=3, multidim_average='global', average='none', ignore_index=0)

def with_torch(pred, gt, F1):
    pred = one_hot(pred, num_classes=3)
    gt = one_hot(gt, num_classes=3)
    pred = torch.permute(pred, (0,3,1,2))
    gt = torch.permute(gt, (0,3,1,2))
    return F1(pred, gt)

def with_monai(pred, gt, calc):
    pred = one_hot(pred, num_classes=3)
    gt = one_hot(gt, num_classes=3)
    pred = torch.permute(pred, (0,3,1,2))
    gt = torch.permute(gt, (0,3,1,2))
    return calc(pred, gt)

def my_dice(pred, gt):
    pred1map = (pred==1).type(torch.int64)
    pred2map = (pred==2).type(torch.int64)
    gt1map = (gt==1).type(torch.int64)
    gt2map = (gt==2).type(torch.int64)
    c1 = 2*torch.sum(pred1map * gt1map)/ (torch.sum(pred1map) + torch.sum(gt1map))
    c2 = 2*torch.sum(pred2map * gt2map)/ (torch.sum(pred2map) + torch.sum(gt2map))
    return torch.tensor([c1, c2])

test_pred = torch.tensor([[[1, 1], [2, 0]]]).type(torch.int64)
test_gt = torch.tensor([[[1, 0], [2, 1]]]).type(torch.int64)

print(test_pred.shape)
# torch.Size([1, 2, 2])

print(test_pred)
# tensor([[[1, 1],
                [2, 0]]])

print(test_gt)
# tensor([[[1, 0],
                 [2, 1]]])

print(F1(test_pred, test_gt))
# tensor([0.0000, 0.6667, 1.0000])

print(with_monai(test_pred, test_gt, calc))
# tensor([[0.5000, 1.0000]])

print(my_dice(test_pred, test_gt))
# tensor([0.5000, 1.0000])

I think that you should set multidim_average="samplewise" to achieve the same results.

I already did
On Fri, Jul 28, 2023 at 8:46 AM Jan Karwowski @.***>
wrote:

I think that you should set multidim_average="samplewise" to achieve the
same results.
—
Reply to this email directly, view it on GitHub
https://github.com/Lightning-AI/torchmetrics/issues/1425#issuecomment-1655208569,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZWRUXD2D547DWTQ6N3N7MTXSNU4FANCNFSM6AAAAAATQF45XI
.
You are receiving this because you commented.Message ID:
@.***>

The issue is due to my misunderstanding of the ignore_index argument.

Would you think that some rewording is needed?

Personally, I can't think of any situations where the current behaviour is
useful (but perhaps this is just biases from my own field of work). I think
that this behaviour would not be the expected behaviour for most people and
unless they were to carefully test the function, they wouldn't notice what
is actually happening and would have inflated metrics.
My vote would be to change the computation, but if not, then yes, rewording
would be helpful I think.
On Thu, 14 Sept 2023, 15:55 Jirka Borovec, @.***> wrote:

The issue is due to my misunderstanding of the ignore_index argument.
Would you think that some rewording is needed?
—
Reply to this email directly, view it on GitHub
https://github.com/Lightning-AI/torchmetrics/issues/1425#issuecomment-1719617940,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZWRUXDUIZ3A7KECBXTFWZTX2MLGFANCNFSM6AAAAAATQF45XI
.
You are receiving this because you commented.Message ID:
@.***>

I can confirm same behaviour of ignore_index for other multiclass classification metrics (like precision, recall, f1) on v1.2.0.
When using the ignore_index value, that class is simply filtered out from the labels, so the corresponding row of the confusion matrix is zero. Filtering is done here: stat_scores.py
When calculating with macro averaging, the value is biased towards 0 because the TP of ignored class is 0, leading to overall score of 0. Averaging is performed here: compute.py
The weighted averaging removes this problem because the weight of the ignored class is set to 0, but then the other classes are re-weighted as well according to their frequency.
I agree with @Jesse-Phitidis, the current implementation either accounts for all classes (bias towards class imbalance) or doesn't account for false-positives (promotes trivial classifiers). The parameter ignore_class sounds like it ignores that class from the final averaging in macro or weighted (which would give the more complete result), but actually just ignores any TP&FP for that class: If y=0 and model says 1, that is ok, (but not vice-versa).
My suggestion is to keep the current ignore_index (with more elaborate docs on its effect) for backwards compatibility of any unforseen usages people might have for it and add a new parameter background_index to stop the background class from contributing to the final averaging macro and weighted, while keeping its influence on the FPs. Combining the two parameters also fixes the bias towards 0 of the current implementation.


Automatic error report

Problem Description
I'm not entirely sure what the effects of this error are, and its doesn't seem to have a negative impact on my uses for spyder. The GUI still opens successfully and I can load, edit, and save files. I figured I'd report this error just in case its resolution can be useful for others.
Error appeared more or less randomly today and is raised everytime I start it up now. Error first appeared on v3.2.6, but is still appearing after update to v3.2.8 today.
Traceback
  File "/Users/kevinamses/miniconda2/lib/python2.7/site-packages/spyder/otherplugins.py", line 85, in _import_plugin
    module = _import_module_from_path(module_name, plugin_path)
  File "/Users/kevinamses/miniconda2/lib/python2.7/site-packages/spyder/otherplugins.py", line 107, in _import_module_from_path
    info = imp.find_module(module_name, [plugin_path])
ImportError: No module named spyder_projects

Package Versions

Spyder version: 3.2.8
Python version: 2.7.14
Qt version: 5.6.2
PyQt5 version: 5.6
Operating system: Darwin 15.6.0

Dependencies
pyflakes >=0.5.0  :  1.6.0 (OK)
pycodestyle >=2.3 :  2.3.1 (OK)
pygments >=2.0    :  2.2.0 (OK)
pandas >=0.13.1   :  0.20.3 (OK)
numpy >=1.7       :  1.13.3 (OK)
sphinx >=0.6.6    :  1.6.3 (OK)
rope >=0.9.4      :  0.10.5 (OK)
jedi >=0.9.0      :  0.10.2 (OK)
psutil >=0.3      :  5.4.0 (OK)
nbconvert >=4.0   :  5.3.1 (OK)
sympy >=0.7.3     :  None (NOK)
cython >=0.21     :  None (NOK)
qtconsole >=4.2.0 :  4.3.1 (OK)
IPython >=4.0;<6.0:  5.4.1 (OK)
pylint >=0.25     :  1.7.4 (OK)

Thanks for reporting; we've never seen this particular bug before.. Have you installed any Spyder plugins? You updated Spyder with conda, not pip, correct? Do the commands in the Projects menu function? Can you start Spyder from the Terminal (by typing spyder) after first typing export SPYDER_DEBUG=3 to enable debug mode, and see if there is any relevant output and exactly where in the startup sequence the error occurred?
Also, please post the information listed in relevant subsection of the Spyder Troubleshooting Guide as a comment to this issue, and we'll try to help if we can. Thanks, and best of luck!

Thanks for reporting. We'll fix this in our next version.

Hello. Yes, I used conda to install and update spyder. The same error occurs when loading with SPYDER_DEBUG=3, just that no error notification window is opened, and the error appears in the command line instead.
ERROR: 3rd party plugin import failed forspyder_projects Traceback (most recent call last):   File "/Users/kevinamses/miniconda2/lib/python2.7/site-packages/spyder/otherplugins.py", line 85, in _import_plugin     module = _import_module_from_path(module_name, plugin_path)   File "/Users/kevinamses/miniconda2/lib/python2.7/site-packages/spyder/otherplugins.py", line 107, in _import_module_from_path     info = imp.find_module(module_name, [plugin_path])
The buttons in the project menu appear to still work (ie I can create a new project), but I don't use these functions, so I can't fully test them out to see if/where they stop working.
I think I've posted all of the relevant information outlined in your link, but let me know if there is anything else and I will try to get you what you need.
Kevin

Thanks @amsesk , looks like @ccordoba12 is already on top of things and it'll be fixed shortly. We appreciate your help!


Dry and consistent size calculation.

Use resize_dimensions from PR #667 in thumbnail from PR #720.

Thanks!


TRSV2-227: pyjwt vulnerability

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@167d87f). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 2e2006f differs from pull request most recent head 22021d6. Consider uploading reports for the commit 22021d6 to get more accurate results

@@            Coverage Diff            @@
##             master     #226   +/-   ##
=========================================
  Coverage          ?   46.77%
=========================================
  Files             ?      141
  Lines             ?     9534
  Branches          ?     1305
=========================================
  Hits              ?     4460
  Misses            ?     4836
  Partials          ?      238

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 167d87f...22021d6. Read the comment docs.


Move to new file does not carry over global 'use strict'

Given a javascript source file that sets strict mode ('use strict'),
When using the Move to a new file refactoring to extract a function declaration,
Then the resulting function ends up in a non-strict file.
It is possible for this to change the program's behavior.

VSCode Version: 1.48.1
OS Version: Windows 10

Steps to Reproduce:

Given main.js:

'use strict'
const fs = require('fs')
function foo() { return this }
console.log(foo())

Running node main produces the output:

undefined

Extract foo using the Move to a new file refactoring.

This modifies main.js:
'use strict'
const fs = require('fs')
const { foo } = require("./foo")
console.log(foo())

and generates foo.js:
function foo() { return this; }
exports.foo = foo;

Now running node main produces the output:

Object [global] {
  global: [Circular],
  ....

Manually adding 'use strict' to foo.js restores the original behavior.

Do we need to suggest "Move to a new file" for directives?
[|"use strict";|] ?

function foo() {
    [|"use strict";|] ?
}

cc @DanielRosenwasser @RyanCavanaugh

No, the intent is that when declarations are moved to a new file, every prologue should be moved over as well.

Actually, I'm going to close this as a duplicate of #30478 because I already filed this issue.

Ouch, I can do PR to resolve the issue with the prologue directives, if, of course, this is acceptable.

Absolutely, that would be great!


Issue with ENC calculation

I have been getting an issue while trying to run the program (copy + pasted here):
Calculating ENC Traceback (most recent call last):   File "CodonShuffle.py", line 1664, in <module>     call(["./lib/codonW/codonw", filename, "-enc", "-nomenu", "-nowarn", "-silent"]) #Insert path before codonw in this line (ENC)   File "/usr/lib/python2.7/subprocess.py", line 523, in call     return Popen(*popenargs, **kwargs).wait()   File "/usr/lib/python2.7/subprocess.py", line 711, in __init__     errread, errwrite)   File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child     raise child_exception OSError: [Errno 8] Exec format error
And the program exits. Any help I can get with this?

Thanks for using codon shuffle.
We are looking into this issue now and will let you know what we can figure out for you soon.

Adam

Adam Lauring, MD, PhD
Assistant Professor
Department of Medicine, Division of Infectious Diseases
Department of Microbiology & Immunology
University of Michigan Medical School
5510B MSRB I, SPC 5680
1150 W. Medical Center Dr.
Ann Arbor, MI 48109-5680
(734) 764-7731
alauring<EMAIL_ADDRESS>On Nov 13, 2016, at 6:55 PM, mgshapiro100 <notifications<EMAIL_ADDRESS>wrote:
I have been getting an issue while trying to run the program (copy + pasted here):
Calculating ENC Traceback (most recent call last): File "CodonShuffle.py", line 1664, in  call(["./lib/codonW/codonw", filename, "-enc", "-nomenu", "-nowarn", "-silent"]) #Insert path before codonw in this line (ENC) File "/usr/lib/python2.7/subprocess.py", line 523, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 711, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child raise child_exception OSError: [Errno 8] Exec format error
And the program exits. Any help I can get with this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/lauringlab/CodonShuffle/issues/4, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKC-HL8ZP1b3d8bKZGB8MI10t-YxHcW4ks5q96OPgaJpZM4Kw2Uo.

Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues

Hi,
Thanks for using CodonShuffle.
Is the script working with the example that we add in the package? Please, could you double check if exists any space in the fasta file between the name and sequence, please? Because, if there are any space the script could stop. Or could you send me the fasta file, so I can try to run here?
Thank you.

The issue arose with the example sequence that was provided with codon
shuffle.
On Nov 17, 2016 4:47 PM, "danielmjorge"<EMAIL_ADDRESS>wrote:

Hi,
Thanks for using CodonShuffle.
Is the script working with the example that we add in the package? Please,
could you double check if exists any space in the fasta file between the
name and sequence, please? Because, if there are any space the script could
stop. Or could you send me the fasta file, so I can try to run here?
Thank you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lauringlab/CodonShuffle/issues/4#issuecomment-261380034,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APLZ1Nj-DorGhLBzSSFgluNaf0B6TK9Qks5q_MtkgaJpZM4Kw2Uo
.

Ok, thanks for letting know. Some questions: Are you using mac, linux or PC? If you are using mac, did you updated PIP installer? Do you have installed in your mac the software Xcode? When you are running the install_dependencies.py, did you get any error in the command line?
Thank you

I am using Ubuntu, and had no problems with the installation.
On Nov 18, 2016 7:41 AM, "danielmjorge"<EMAIL_ADDRESS>wrote:

Ok, thanks for letting know. Some questions: Are you using mac, linux or
PC? If you are using mac, did you updated PIP installer? Do you have
installed in your mac the software Xcode? When you are running the
install_dependencies.py, did you get any error in the command line?
Thank you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lauringlab/CodonShuffle/issues/4#issuecomment-261523037,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APLZ1Fi3K9Asb1OmvBv1Q5P9BCko5W_Zks5q_ZzngaJpZM4Kw2Uo
.

Ok. Please, could you check if the Codonw is working well? Since is getting an error running it. Could you run the command: # ./lib/codonW/codonw . If the codonw is running well, you will get a initial menu with some option. Please use the item 1 in the menu to load the file "Poliovirus_1_Mahoney_P1.fas". It will ask you to create two new files a "out" and "blk" files. After that, you could run the analysis typing "4" and "4" again to select Effective number of codons. Finally, please could you run the analysis typing "R". The out file will have the results from ENC.
Second question, since the program is stopping in the ENC step, are you getting the results from shuffle part of the script? Are you getting fasta file, hamming distance and CAI results?
Third question, which is the version of the python ( I am using version 2.7.10) that you have in your computer?
Sorry about so many questions, I am trying to figure out what is causing this problem.
Thanks for your patience.

So it may be an issue with codonW. When trying to execute codonw, I get an
error:
bash: ./lib/codonW/codonw: cannot execute binary file: Exec format error
Otherwise, I am getting results from the hamming distance, CAI, and shuffle
portion of the script, and I use python 2.7.10 as well.
Please don't apologize for asking questions. I understand debugging and
programming come without a crystal ball. If you need any other info, please
let me know.
Max
Maxwell Shapiro
Department of Applied Mathematics & Statistics
http://www.ams.stonybrook.edu
<EMAIL_ADDRESS>"If I have seen further than others, it is by standing upon the shoulders
of giants." - Sir Isaac Newton
On Fri, Nov 18, 2016 at 12:12 PM, danielmjorge<EMAIL_ADDRESS>wrote:

Ok. Please, could you check if the Codonw is working well? Since is
getting an error running it. Could you run the command: #
./lib/codonW/codonw . If the codonw is running well, you will get a initial
menu with some option. Please use the item 1 in the menu to load the file
"Poliovirus_1_Mahoney_P1.fas". It will ask you to create two new files a
"out" and "blk" files. After that, you could run the analysis typing "4"
and "4" again to select Effective number of codons. Finally, please could
you run the analysis typing "R". The out file will have the results from
ENC.
Second question, since the program is stopping in the ENC step, are you
getting the results from shuffle part of the script? Are you getting fasta
file, hamming distance and CAI results?
Third question, which is the version of the python ( I am using version
2.7.10) that you have in your computer?
Sorry about so many questions, I am trying to figure out what is causing
this problem.
Thanks for your patience.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lauringlab/CodonShuffle/issues/4#issuecomment-261586605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APLZ1LbDTcFttUqgrX2ytqumtZRVHZQ6ks5q_dxqgaJpZM4Kw2Uo
.

Thanks for your feedback. Did you try to change the permission for the codonw executable file?


Is it possible to publish the MG selfplay at Minigo-pub Google Cloud?

Hi! Is it possible to publish the MiniGo v17 selfplay for downloading it from Minigo-pub page at Google Cloud? Maybe the last few millions selfplays, and for MiniGo v15 and v16 too if possible. Any quality is suitable: with debug information or without it, no difference.
Thanks!

The debug SGF files are quite large, but I'm happy to take a crack at publishing some of the later selfplay games without debug info.

I've copied SGFs of the selfplay games from the final hour of v17 training to gs://minigo-pub/v17-19x19/sgf/clean/2019-02-26-00
I've compressed the games into multiple archives: nr.tar.gz holds all the games for which resignation was disabled, the other *.tar.gz files contain regular selfplay games.
It's only ~53,000 games but let me know if the data looks good (I've only made a cursory check myself) and I can upload some more.

@ tommadams
Thanks a lot! I'll check the files as soon as possible))

No problem. Keep in mind that we were playing around with various hyperparameters for the last day of v17's training.

@ tommadams
Selfplays look good! Would be great to have a bit bigger MG training dataset :)

Including the policy training target would be helpful.

Cool. I'll start exporting more SGFs then.
All our training data is stored in Cloud BigTable and we haven't yet got a good way of exporting that data yet, sorry.

I've put some more games up: gs://minigo-pub/v17-19x19/sgf/clean/

@tommadams
Very nice to see more games! Thanks a lot :)

@tommadams
Hey, may I ask is this the full MiniGo v17 training dataset?
https://console.cloud.google.com/storage/browser/minigo-pub/v17-19x19/data/golden_chunks/?pli=1
Or something else?

That is not the full training dataset. Since v14 onwards, we stored the selfplay data in a Cloud BigTable and randomly sample the training examples from during training. Since the examples are sampled randomly and sent directly from to the TPU for training, we don't actually have the exact set of examples used to train the model.
The data that I extracted for you was a random sampling of examples from the complete data set that covers all generations of the model.

@tommadams
Thank you very much for the data! So, if i get the clue correctly, this link
https://console.cloud.google.com/storage/browser/minigo-pub/v17-19x19/data/golden_chunks/?pli=1
Leads to the training samples of MG v17 selfplay dataset which can be directly feed to the agent, unlike sgf files itself?

@SHKD13 Yes, the golden chunks are tf.examples which can be feed to the agent (dual_net.py) for training.

@sethtroisi The training you mentioned is in minigo format or lz? I also want to know how to deal with .zz file. Are they some compressed files? Thanks.

@bubblesld
it's in minigo format (tf.train.examples) you can see an example of reading it here
https://colab.research.google.com/drive/1Sx6WTphh5f8oKVhWJB7SenYsDkG5ytiN
or in offones (e.g. https://github.com/tensorflow/minigo/blob/master/oneoffs/compare_examples.py)

@sethtroisi
Thanks for your information. I would like to include minigo self-play games in training LZ weights. Last time, when we include elfv2 to the training data, v222 learned 羋氏飛刀 (sorry, I do not know its translation in English), and it is a key reason that LZ beat Golaxy once in the previous tournament. We hope that LZ can learn something from minigo as well.
I know little in linux. I think that the self-play games @tommadams mentioned should be good to use, but I do not know how to turn them into lz training format. I learned that the command is
dump_supervised sgffile.sgf train.txt
But I could not do it for 53k times. Can anyone teach me how to read all the files and dump_supervised each?

You can do copy * 2.sgf to merge all files under current directory into one file. Then you can dump_supervised 2.sgf train.
lz.zip is the 2.sgf and training data gz files I got from 2.tar.gz in https://console.cloud.google.com/storage/browser/minigo-pub/v17-19x19/sgf/clean/2019-02-26-00

By the way, does Minigo v17 actually used scale = True in the residual layers? The current code says so: https://github.com/tensorflow/minigo/blob/d0f6a7dae7f80a3e573346457d64fc1afd4a0671/dual_net.py#L397
I think if scale = False was used then it's possible to apply convert_minigo.py, net_to_model_py, and parse.py (with the slight modification https://github.com/leela-zero/leela-zero/pull/1782/files of tfprocess.py) to continue training a v17 model in LZ format, now that https://github.com/leela-zero/leela-zero/pull/2370 is ready.

@alreadydone I believe that convert_minigo.py was fixed with https://github.com/leela-zero/leela-zero/pull/2133

@alreadydone
Thanks. I will try it.
Since there is only 53k self-play games in the link tommadams mentioned, it is probably too few for training. We used 400k lz + 250k elfv2 (or elfv1, elfv0) earlier. Can I convert the files sethtroisi mentioned into .sgf (then convert to lz format)?

@sethtroisi I believe that that old PR doesn't include any support for SE. I am specifically talking about continuing training v17 nets with LZ code. @Ttl mentioned in https://github.com/leela-zero/leela-zero/pull/1782#issuecomment-416303807 that one (probably the only) obstruction that we can't train ELF nets with LZ code is the gammas being used in residual layer batchnorm, which correspond to the scale = True (In tfprocess.py in master branch , scale is False for both residual layers and the two heads, while in latest Minigo code it's False in the two heads but True in SE residual layers).
However it seems that @Ttl already fixed this in his PR https://github.com/leela-zero/leela-zero/pull/2370/files#r280738306. Now scale is False in the first layer of each residual block and True in the second layer (the same PR also contains updated convert_minigo.py and net_to_model.py). Does that mean Minigo v17 nets (and possibly also ELF nets) can now be trained directly with code in that PR without much modification?

Another questions, to train a net with larger block, can I use a lower block net + some identity block? For example, can I use LZ-40b + 40 identity bloacks as the initial for 80b? This is the same as the original 40b net? If yes, I think that it is a good initial to start with. At least, it have the same strength, and it has rooms for improvement. If yes, how to write a code to create this net? Thanks.

You could try net2net.py in LZ training code. Append the number of blocks and the number of filters to be added to the weight file name, if I recall correctly.

You could try net2net.py in LZ training code. Append the number of blocks and the number of filters to be added to the weight file name, like python net2net.py 226.gz 40 0, if I recall correctly.

Thanks. I will try it as well.

I recently uploaded 123GB of compressed training examples from our v17 run: gs://minigo-pub/v17-19x19/data/golden_chunks

@tommadams Thanks. I thought that they are not .sgf files. But I still have trouble in opening .zz files. sethtroisi mentioned two ways to read them. How to read them and save them to .sgf files? I found that .zz is Zzip? I tried to uncompress .zz files, but not successful.

Those files are the actual training examples, not .sgf files.
Each file contains a list of compressed TensorFlow examples. Seth's earlier comment contained links to code that shows how to read these files: https://github.com/tensorflow/minigo/issues/835#issuecomment-496819491
The example code decompresses the examples automatically, so you don't need to decompress them yourself.

@tommadams Thanks. I will download the code to try it.

I'd like to ask one thing. Why no one ever used PhoenixGo v1 for generating the high quality selfplay? Neither Leela Zero nor MiniGo team. Even for evaluation games.
It works fairly well in LZ engine + PhoenixGo converted weights format. It shows really good results in matching the AlphaGo Zero moves even by using the old modified LZ 0.15 engine. I think, the new LZ 0.17 can make PhoenixGo even stronger.
Why not?

There wasn't much interest in the PhoenixGo model because it came after ELF v0 but wasn't as strong as it (there must have been more tests than https://github.com/leela-zero/leela-zero/issues/1405#issuecomment-388568293, but maybe they aren't published on GitHub), despite being of slightly bigger size. I'd like to see data showing that PhoenixGo matches AGZ moves better. Which of the AGZ games in https://www.alphago-games.com are you referring to?
In order to do self-play, leela-zero must make an official release that supports both PhoenixGo and LZ weights, but because of lack of interest, no one bothered to modify the code and submit a PR to support both formats.

@sethtroisi Questions regarding https://colab.research.google.com/drive/1Sx6WTphh5f8oKVhWJB7SenYsDkG5ytiN, just to confirm:
17th plane = 1 means black is to move at current position, outcome = 1 means black won, right?

@alreadydone
Thanks for reply! But really strange to hear that PhoenixGo was considered as a weaker AI than ELF v0. During the high level playouts (over 50K) OGS tournament In february 2019 PhoenixGo has kicked the asses of ELF v2, LZ #205 and MiniGo v15. You can find the sgf's on OGS. If it is strong enough to beat much newer Networks, how can it be weaker than the oldest version of ELF?
Here is the sample of a small research "Comparison of AlphaGo Zero (both 20 & 40 residual blocks sized) with its Deep Reinforcement Learning Clones, Based on Matching the Samples of AlphaGo Zero’s Moves":

PhoenixGo matches AlphaGo Zero 20B moves better than any version of ELF OpenGo in this article. These two things drive me to ask the question about ignoring the PhoenixGo training potential last year.
Of course, I might be completely wrong :)

@sethtroisi Questions regarding https://colab.research.google.com/drive/1Sx6WTphh5f8oKVhWJB7SenYsDkG5ytiN, just to confirm:
17th plane = 1 means black is to move at current position, outcome = 1 means black won, right?

Correct

Thanks for reply! But really strange to hear that PhoenixGo was considered as a weaker AI than ELF v0. During the high level playouts (over 50K) OGS tournament In february 2019 PhoenixGo has kicked the asses of ELF v2, LZ #205 and MiniGo v15. You can find the sgf's on OGS. If it is strong enough to beat much newer Networks, how can it be weaker than the oldest version of ELF?

It's probably worth mentioning that we have never entered Minigo into a tournament, so that entry wasn't "official" ;)

@tommadams
Yes, that was some game enthusiast with a hardware good enough to run LZ 0.16 engine + converted MG v15 weights for 60k vs 60k playouts online battle. PhoenixGo performed surprisingly strong that time, especially for his age.
Anyway, I hope @bubblesld will find the way to use MG v17 selfplay and build some interesting hybrid models while we waiting for the enter of MiniGo v18 :)

@SHKD13 Nice to see the data, but did you only test for 20 moves (that you chose)? Maybe one from each game of AGZ 20B vs. AG Lee, or else?
I think you are talking about the PhoenixGo matches in this thread https://github.com/leela-zero/leela-zero/issues/2237, and not the OGS tournament https://online-go.com/tournament/44207. However, it seems that the earlier favorable results for PG were due to incorrectly setting enable background search: 1 when testing both AI on the same machine. "Background search" in PhoenixGo is called "pondering" in LZ, and when it's enabled PG will continue searching when LZ is generating its move, so PG will accumulate a large number of playouts and when it starts generating its move, it adds another 60k playouts to the tree, so PG was getting much more than 60k playouts in the earlier games, which was not fair to the LZ engine (whether it's running LZ, Minigo, or ELF weights). See:
https://github.com/leela-zero/leela-zero/issues/2237#issuecomment-467565132
https://github.com/leela-zero/leela-zero/issues/2237#issuecomment-467595716
https://github.com/leela-zero/leela-zero/issues/2237#issuecomment-470186238

I found that using "native background search 1" will affect the efficiency of the other AI in the same game, so I canceled it from March.

https://github.com/leela-zero/leela-zero/issues/2237#issuecomment-470425880
"i thought you were using pondering for lz too"
But @atoutw was actually always using --noponder for LZ even before March:
https://github.com/leela-zero/leela-zero/issues/2216#issuecomment-464120226
In the later games, PG with 90k sims lost 2-3 to LZ # 208 and 0-4 to # 209 both with 60k sims. (According to https://github.com/leela-zero/leela-zero/issues/2237#issuecomment-470544437, the PG engine would use 123s per move and LZ < 77s, but the LZPG engine should be faster).

@alreadydone
I didn't know that PG background search was enabled. Thanks for info!
Anyway, even 2 to 3 mini match with much yonger LZ 208 is a fairly well result for ELF v0's same age AI. It is still competitive no matter how much stronger PG became now, in its recent iterations which Tencent is hiding from Go community.
By the way, I've been asking them for PhoenixGo training dataset, but the answer was "Hell, no! :)", no matter that PG is a nominal open source project.
Few words about AlphaGo Zero comparison. This is my "beta test" analysis. I'll finish it soon with more comprehensive stats and illustrations. I took 20 non-forced looking moves from 4 last games of each AGZ 20B and 40B models against itself, 40 moves in general. All moves are beyond 30 first ones to avoid any distortion by randomization argument -m 30 (obviously, some games are evaluation tests but some are the training ones with a noisy openings). All AI's, except PG and MG v17, are driving by newest LZ 0.17 engine, which is making a significant difference compared to its 0.16 predecessor.
I'd like to analyse the AG Zero moves from its evaluations versus AG Master too, but there are no simulation numbers per move in AGZ paper for these games, only two hours time limitation pointed out. I'm sure there can be NO correct comparison with visits count way higher or lower than in original research. That's not the way to check or reproduce it.
My hypothesis was a more matches for newer & stronger AI's like MiniGo v15 or v17 (v17 is my faforite one), as well as freshest iterations of LZ and ELF. But some results already are out of my expectations, and that's nice :)

@tommadams Thanks! LZ instead uses 0 for 'black to move'.
@bubblesld
I modified the sample code for reading Minigo training data into a converter into LZ format https://colab.research.google.com/drive/1L9AGDxgmIjFNIJt599nTMjmsdNJYlKdr#scrollTo=tAPUbcGsdvrK
I haven't found a good way to verify correctness though.
On Google Colab, each position takes about 1.5 ms to convert, and a whole chunk (~ 2,000,000 positions) should take < 1 hour to convert. It's slow but introducing the function to_hex reduced runtime by 7.5x and I'm not sure how to further optimize it. Change train_0007470000_0000660016.tfrecord.zz to other file name under the same directory to convert other chunks. @tommadams Which ones are generated by the latest models?
Since I have trouble automatically downloading generated chunks of LZ training data (6,000 positions each) from Google Colab, so you'd better run it locally.

Sorry but can anyone explain a little bit more how to turn into sgf those MG v17 selfplay files, which have been converted from MiniGo to Leela Zero format?

@tommadams Thanks! LZ instead uses 0 for 'black to move'.
@bubblesld
I modified the sample code for reading Minigo training data into a converter into LZ format https://drive.google.com/file/d/1L9AGDxgmIjFNIJt599nTMjmsdNJYlKdr/view?usp=sharing https://colab.research.google.com/drive/1L9AGDxgmIjFNIJt599nTMjmsdNJYlKdr
I haven't found a good way to verify correctness though.
On Google Colab, each position takes ~1.6 ms to convert (10 ms (!) on my notebook), and a whole chunk (~2,000,000 positions) should take < 1 hour to convert. It's slow but introducing the function to_hex reduced runtime by ~7.5x and I'm not sure how to further optimize it. Change train_0007470000_0000660016.tfrecord.zz to other file name under the same directory to convert other chunks.

Thanks. I will try it.

Sorry but can anyone explain a little bit more how to turn into sgf those MG v17 selfplay files, which have been converted from MiniGo to Leela Zero format?

SGFs can't be recovered; you'd better have @tommadams upload them. The training data of each position only contains information about the locations of black/white stones (at the current position or right before the previous seven moves), the side to move, the normalized visit counts, and the winner of the game. Each position is followed by a random position, almost surely from another game. The move from a position can be recovered as the highest visited one. The move is usually the highest visited one, but if it's within the first 30 moves it's randomly chosen, so you can't piece them together trivially, and if you do so you just get a tree of positions instead of a disjoint collection of paths along the game that you can each put into a SGF.

It's not possible to generate the SGFs from the training examples. Due to the way we randomly sample training examples from selfplay, there's no guarantee that all the moves from each game are in the training data.
Why do you want the SGFs by the way?

@tommadams
Yeah, I got it. That was another idea how to adopt MG v17 training examples for feeding the hybrid LZ bot. Those cross-selfplay models are always interesting and strong.
Maybe MG team will try something like this during the running of MiniGo's next versions?

to put a little clarity on this thread, i thought i'd list what kinds of game data we have and what we've already made public, & what i'd like us to eventually make public.
Each run has:

"Evaluation games" -- sgfs with debug information of the matches used to determine the strengths of our models.  These are all public and there are good viewers on cloudygo.com.
Selfplay games as sgf

"clean" sgf records, with the debug information stripped (~1kb each)
"full" sgf records, with the debug information present in sgf comments (~500kb each)

Selfplay games as training examples.  These are serialized TFExample objects, one per game.  These are files on GCS, each game is about 50kb-100kb.  After v14, these were also written to a Cloud Bigtable so they can be efficiently read by a Cloud TPU.
For runs prior to v14, we made aggregated "golden chunks", which are aggregates of the training examples that have already been shuffled and sorted according to the methodology described in the paper, i.e., the "positions uniformly sampled from the most recent 500k games...".  Each golden chunk is numbered according to the model it produced.  I.e., Model 499 trains on golden chunk 500 and the new checkpoint is model 500.
Model checkpoints -- which are the models themselves.  most of them are either available as the "frozen graph", i.e. a .pb file, or the index/meta/data format of a tensorflow checkpoint, which may be the worst way to persist these artifacts possible.
tensorboard logs which are really inefficiently stored; each one basically writes the whole graph over again.

On top of all of the above for each run, we also have Cross-run evaluation games
The "debug information" in the sgf records is a human-readable dump of the search information, so humans can look at the PV and see how the two engines thought they were doing.  It's not usable directly as training examples, although they could be turned into limited training examples with some scripts; you could convert the tabular data into the new policy targets, but it's only the policy target for the most visited nodes, not a full list of all 361.  That might actually be fine, but either way you'd need to do that for all the hundreds of millions of sgfs...
So of the list above, we've only published the models and the evaluation games.  I'm happy to publish the other data but it's not clear that it's any use to anyone.  It's also not like i have them in a convenient form; sync'ing tens of millions of tiny files in order to tarball them and re-upload them is not something i want to do until it looks like someone needs them :)
The selfplay games as sgfs would be pretty interesting to do a large scale analysis on, but they're fairly big and a lot of them have the sort of randomness that makes them look really funny to people (the 30 move temperature thing).  V17 has 25M games; 25M * 500kb ~= 10TB+ of full selfplay games.
The training examples in bigtable for v14 & up are ~15TB in total, each run is a few TB.  These could probably be exported from bigtable, or the .tfrecord.zz files could be sync'd and gzipped, but see above -- i'd want to be sure they wouldn't just disappear into someone's totally closed-source franken-bot, for instance, which is something i know leela has been dealing with.
Hope this helps.  I'd love to find the best way to get the useful parts of this data into the go community in useful formats, so if anyone has any ideas on that front feel free to open some issues for us :)


Something like this for node?

Hi Claudio,
I really enjoyed this comprehensive read. You don't find something like this often on the web. Are you aware of a similar introduction for node or even typescript?
Thank in advance,
Patrick

Unfortunately, no I don't. I quite enjoyed https://github.com/verekia/js-stack-from-scratch back in the day, but it hasn't been updated for three years (which is close to eternity in the Javascript world).


publish python package

TODO:

add README
add CI job to test python package
add CI job to publish

(Yep is in the TODO)


[2n] Disable Run Button: Create runningPromptId field to determine if button should be disabled

[2n] Disable Run Button: Create runningPromptId field to determine if button should be disabled
I did a few things:

Create a new state id runningPromptId to check which prompt is running, making sure to set these correctly on run prompt actions
Read from this state in the AIConfigEditor and passed it as a prop down to the RunPromptButton

Question: Is there a better way of doing step #2 so that we don't need to keep piping it?
Test Plan
Make sure that:

When you are running a prompt, you can still cancel it
When another prompt is running, you can't run any other prompt
When prompt is complete (or cancelled or errored), all the prompts can run again

https://github.com/lastmile-ai/aiconfig/assets/151060367/6e9a9cbf-6469-4ecb-ba74-1ede2ed1a292

Stack created with Sapling. Best reviewed with ReviewStack.

-> #907
#905

Question: Is there a better way of doing step https://github.com/lastmile-ai/aiconfig/pull/2 so that we don't need to keep piping it?

Yes, technically. We could use context to make the value accessible to any child below it (e.g. wrap around the promptlist). But if we do end up supporting custom PromptContainers/InputRenderers then we'd probably do that by supporting render callbacks which would not necessarily be able to access the context and would require the value passed by prop instead.

Also just noting this could be done without all the state stuff by just checking
const isConfigRunning = aiconfigState.some(prompt => prompt._ui.isRunning)

and checking within the PromptInputRenderer isConfigRunning && !isRunning.
Downside to that is it would run the check over the prompt elements on every state change/re-render. So, using state for this avoids that extra work.

Yea this is why I wanted to use config-level state. It feels a bit strange perform logic checks within a specific prompt that the prompt itself doesn't have control over and is only affected by it's sibling prompts logic.
This is my understanding on how react components are rendered, please let me know if I'm wrong:
By making this disabled logic passed as props instead of re-checking logic directly within promptInputRenderer, since props are read-only, we actually aren't rendering the entire promptInputRenderer, only the runPromptButton where the changed prop affects the rendering logic of that component?

if we do end up supporting custom PromptContainers/InputRenderers then we'd probably do that by supporting render callbacks

Can you give me an example/speudocode on how this would work?

Also just noting this could be done without all the state stuff by just checking
const isConfigRunning = aiconfigState.some(prompt => prompt._ui.isRunning)

and checking within the PromptInputRenderer isConfigRunning && !isRunning.
Downside to that is it would run the check over the prompt elements on every state change/re-render. So, using state for this avoids that extra work.

Yea this is why I wanted to use config-level state. It feels a bit strange perform logic checks within a specific prompt that the prompt itself doesn't have control over and is only affected by it's sibling prompts logic.
This is my understanding on how react components are rendered, please let me know if I'm wrong: By making this disabled logic passed as props instead of re-checking logic directly within promptInputRenderer, since props are read-only, we actually aren't rendering the entire promptInputRenderer, only the runPromptButton where the changed prop affects the rendering logic of that component?

Not exactly -- if a component's prop changes that component will re-render, regardless of rendering logic

if we do end up supporting custom PromptContainers/InputRenderers then we'd probably do that by supporting render callbacks

Can you give me an example/speudocode on how this would work?

There's a bit of detail here: https://docs.google.com/document/d/1YwUlIQZX8CiuvtbVR4OvpFQ2nphFITRD_XZR3CDNtoE/edit#heading=h.3hy566aov149


Problem navigating between tabs and screens

I have in my application two tabs, inside the first tab I have a button to navigate to a screen, the problem is that when I navigate to the screen from the tab, if I switch to the other tab and go back, the tab has not been reset, but continues showing the screen, how can I change this?
I've seen this thread, but I'm not sure what the user meant.
record_tabs_screens.webm
Edit:
Finally I understood what the user was saying in his answer, it is to copy the TabNavigator class completely and set the parameter disposeSteps = true
package cafe.adriel.voyager.navigator.tab

import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.ProvidableCompositionLocal
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
import cafe.adriel.voyager.core.annotation.InternalVoyagerApi
import cafe.adriel.voyager.core.lifecycle.DisposableEffectIgnoringConfiguration
import cafe.adriel.voyager.navigator.Navigator
import cafe.adriel.voyager.navigator.NavigatorDisposeBehavior
import cafe.adriel.voyager.navigator.compositionUniqueId
import cafe.adriel.voyager.navigator.tab.CurrentTab
import cafe.adriel.voyager.navigator.tab.Tab

typealias TabNavigatorContent = @Composable (tabNavigator: TabNavigator) -> Unit

val LocalTabNavigator: ProvidableCompositionLocal<TabNavigator> =
    staticCompositionLocalOf { error("TabNavigator not initialized") }

@OptIn(InternalVoyagerApi::class)
@Composable
fun TabNavigator(
    tab: Tab,
    disposeNestedNavigators: Boolean = false,
    disposeSteps: Boolean = false,
    tabDisposable: (@Composable (TabNavigator) -> Unit)? = null,
    key: String = compositionUniqueId(),
    content: TabNavigatorContent = { CurrentTab() }
) {
    Navigator(
        screen = tab,
        disposeBehavior = NavigatorDisposeBehavior(
            disposeNestedNavigators = disposeNestedNavigators,
            disposeSteps = disposeSteps
        ),
        onBackPressed = null,
        key = key
    ) { navigator ->
        val tabNavigator = remember(navigator) {
            TabNavigator(navigator)
        }

        tabDisposable?.invoke(tabNavigator)

        CompositionLocalProvider(LocalTabNavigator provides tabNavigator) {
            content(tabNavigator)
        }
    }
}

@OptIn(InternalVoyagerApi::class)
@Composable
fun TabDisposable(navigator: TabNavigator, tabs: List<Tab>) {
    DisposableEffectIgnoringConfiguration(Unit) {
        onDispose {
            tabs.forEach {
                navigator.navigator.dispose(it)
            }
        }
    }
}

class TabNavigator internal constructor(
    internal val navigator: Navigator
) {

    var current: Tab
        get() = navigator.lastItem as Tab
        set(tab) = navigator.replaceAll(tab)

    @Composable
    fun saveableState(
        key: String,
        tab: Tab = current,
        content: @Composable () -> Unit
    ) {
        navigator.saveableState(key, tab, content = content)
    }
}

Is there a way to do this without having to copy the class? Or that in future versions that parameter is part of the TabNavigator constructor as it is in the Navigator as I have put in the implementation I show above.

@iesedobleac I've gone through you code but I didn't find the screen code. Could you share the code for screens and tabs including navigation logic as well?

@iesedobleac I've gone through you code but I didn't find the screen code. Could you share the code for screens and tabs including navigation logic as well?

Yes, of course, here it is:
My main App Composable
@Composable
fun App() {

    val tabs = listOf(HomeTab, MapsTab)

    KoinContext {

        MaterialTheme {

            TabNavigator(
                tab = HomeTab,
                tabDisposable = {

                    TabDisposable(
                        navigator = it,
                        tabs = tabs
                    )
                }
            ) {
                Scaffold(topBar = {
                    TopAppBar(title = {
                        Text(text = it.current.options.title)
                    })
                }, bottomBar = {
                    BottomNavigation {

                        tabs.forEach { tab ->
                            TabNavigationItem(tab)
                        }
                    }
                }, content = {
                    CurrentTab()
                })
            }
        }
    }
}

My HomeTab
object HomeTab : Tab {

    override val options: TabOptions
        @Composable
        get() {
            val icon = rememberVectorPainter(Icons.Default.Home)

            return remember {
                TabOptions(
                    index = 0u,
                    title = "Home",
                    icon = icon
                )
            }
        }

    @Composable
    override fun Content() {
        Navigator(screen = HomeScreen()) { navigator ->
            SlideTransition(navigator = navigator)
        }
    }
}

My HomeScreen
class HomeScreen : Screen {

    @Composable
    override fun Content() {
        HomeScreenContent()
    }
}

@Composable
fun HomeScreenContent(viewModel: HomeViewModel = koinInject<HomeViewModel>()) {

    Column(
        modifier = Modifier.fillMaxSize(),
        horizontalAlignment = Alignment.CenterHorizontally,
        verticalArrangement = Arrangement.Center
    ) {

        Button(onClick = {
            navigator.push(DetailScreen())
        }) {
            Text("Go to detail")
        }
    }
}

And finally, this is my DetailScreen:
class DetailScreen : Screen {

    @Composable
    override fun Content() {

        val navigator = LocalNavigator.current

        Box(modifier = Modifier.fillMaxSize()) {

            IconButton(
                onClick = {
                    navigator?.pop()

                }, modifier = Modifier
                    .padding(start = 14.dp, top = 14.dp)
                    .clip(CircleShape)
                    .background(MaterialTheme.colors.primary)
            ) {
                Icon(
                    imageVector = Icons.Default.ArrowBack,
                    contentDescription = null,
                    tint = Color.White
                )
            }

            Column(
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Detail Screen")
            }
        }
    }
}

i am having the same problem trying to use a LocalNavigator.currentOrThrow.push(Screen) inside of a tab and it didnt work, instead it gave me this error
screens.vendor.VendorScreen cannot be cast to cafe.adriel.voyager.navigator.tab.Tab
did you ever find a fix to this?

        Navigator(screen = HomeScreen()) { navigator ->
            SlideTransition(navigator = navigator)
        }

This might help you understand
    val navigator = LocalNavigator.currentOrThrow
    navigator.parent?.push('Your Screen')

Is there a solution for the ticket? How can we reset the navigator in a tab? For some reason, when switching between tabs, if we assign navigators to each tab, they persist and the tabs are not reset. I haven't found a way to control this or reset them.


Thread safety done right

Fixes #287.
Creates new timer object on each invocation - this solves both reentrancy and thread safety (added a test for reentrancy).
It's about 5% slower than the previous version with TLS, but in fact it's only 0.12us (micro) difference per function call. Assuming that actual functions will do other things besides updating metrics, I think it's quite negligible.
Here are the detailed performance test results:
Timing manual `observe'
10000000 loops in 14.906 seconds
1.491us per iteration
670.875k iterations per second

Timing ThreadLocalTimer
10000000 loops in 23.368 seconds
2.337us per iteration
427.944k iterations per second

Timing ObjectTimer
10000000 loops in 24.539 seconds
2.454us per iteration
407.510k iterations per second

And the actual performance test code:
from threading import local

from prometheus_client.core import Summary, default_timer, decorate, _Timer

class ThreadLocalTimer(object):
    def __init__(self, callback):
        self._callback = callback
        self._storage = local()
        self.key = "k_{0}".format(id(self))

    def __enter__(self):
        setattr(self._storage, self.key, default_timer())

    def __exit__(self, typ, value, traceback):
        start = getattr(self._storage, self.key)
        # Time can go backwards.
        duration = max(default_timer() - start, 0)
        self._callback(duration)

    def __call__(self, f):
        def wrapped(func, *args, **kwargs):
            with self:
                return func(*args, **kwargs)
        return decorate(f, wrapped)

class ObjectTimer(object):
    def __init__(self, callback):
        self._callback = callback

    def _new_timer(self):
        return self.__class__(self._callback)

    def __enter__(self):
        self._start = default_timer()

    def __exit__(self, typ, value, traceback):
        # Time can go backwards.
        duration = max(default_timer() - self._start, 0)
        self._callback(duration)

    def __call__(self, f):
        def wrapped(func, *args, **kwargs):
            with self._new_timer():
                return func(*args, **kwargs)
        return decorate(f, wrapped)

def time_me(f, iterations=10000000):
    start = default_timer()
    for i in range(iterations):
        f()
    duration = default_timer() - start
    print(iterations, "loops in %.3f seconds" % duration)
    print("%.3fus per iteration" % (duration / iterations * 1000 * 1000))
    print("%.3fk iterations per second" % (iterations / duration / 1000))

def main():
    s = Summary("s", "help")
    st = Summary("st", "help")
    so = Summary("so", "help")

    dummy = lambda: None

    def s_f():
        start = default_timer()
        dummy()
        duration = max(default_timer() - start, 0)
        s.observe(duration)

    st_f = ThreadLocalTimer(st.observe)(lambda: None)
    so_f = ObjectTimer(so.observe)(lambda: None)

    print("\nTiming manual `observe'")
    time_me(s_f)
    print("\nTiming ThreadLocalTimer")
    time_me(st_f)
    print("\nTiming ObjectTimer")
    time_me(so_f)

if __name__ == "__main__":
    main()

Thanks! I think 5% is okay, though it is annoying that Python mutexes are so slow compared to other languages.

Thanks for merging. When do you plan to craft a new release?

It's on my todo list, probably this week.


Things we want to query DC2 for that are not in simple merged_tract HDF catalogs

The purpose of #151 was to provide a concrete example of merged coadd catalogs to trigger specific thoughts about what information and features we want to see in our use models for the data from DC2.  This present issue is meant as a gathering point for such ideas and requests.  This issue is meant to complement the higher-level gathering of science-driven use cases that are being collected at the working group level.  I anticipate that this issue may result in a list that gets folded in to some design plan document for DC2 analysis, but in the mean time having it on GitHub means that it lives at the same level as the technical work that will be done and explored to figure out what we want.
Please add your suggestions here.
While the merits and importance of the suggestions is not dependent on the author, I attach names to the points below to invite corrections and clarifications.

[ ] Provide a stable naming convention for data columns so that downstream analysis scripts don't immediately break for relatively silly reasons.  This is in part a goal of the GCR package.  @cwwalter  @yymao
[ ] Give me all of the tract+patches that were the result of coadding at least N images.  @EiffL

Milky Way extinction?


OpenAI API compatibility

This adds experimental compatibility with the OpenAI Chat Completions (i.e. /v1/chat/completions) API. Details on compatibility and supported fields are indocs/openai.md
Fixes #305

Thanks for this, deployed the branch and it seems to work for us with IntelliJ CodeGPT plugin. Had to create a "fake modelfile" with model name gpt-3.5-turbo-1106.
However for this above I need to expose the ollama serve port to the whole internal network to allow all hosts, didn't figure out how to do that, so for now we put a proxy in front.
I did try OLLAMA_ORIGINS="*" but it does not seem to work.
Any ideas how to make ollama serve accept connections from any client?

There is a failed action, does this feature released on latest macos application ?

@sjy I believe that is a connectivity issue. It will be released soon, and is currently in pre-release: https://github.com/ollama/ollama/releases/tag/v0.1.24

Got it,thx.
Jeffrey Morgan @.***> 于2024年2月8日周四 11:57写道：

@sjy https://github.com/sjy I believe that is a connectivity issue. It
will be released soon, and is currently in pre-release:
https://github.com/ollama/ollama/releases/tag/v0.1.24
—
Reply to this email directly, view it on GitHub
https://github.com/ollama/ollama/pull/2376#issuecomment-1933324412, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALT25A5LOG7YOBB4D4ESITYSREJRAVCNFSM6AAAAABC4TQ4GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZTGMZDINBRGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

just what I needed, I was creating this https://github.com/Esleiter/gpt-api-Clone 😅


Improve rich preview support

This improves rich preview support by adding additional og tags and tags specifically used by Twitter.
See the following sites for reference

http://ogp.me/
https://dev.twitter.com/cards/types/summary
https://dev.twitter.com/cards/markup
https://cards-dev.twitter.com/validator

Relabelled as feature as I think its more about adding additional functionality than just general maintenance.


add unit test and manager

add unit test and manager

Coverage increased (+0.02%) to 72.625% when pulling 83d7025f9dd117ae4fe5ecb6adcb82fddf13370c on hndrk15:dev into e2f32df0db6bede84879a946b5a9c9b2248ddd77 on danliris:dev.


Collection's diff yields empty

Laravel Version: 5.6.15
PHP Version: 5.6.15

Steps To Reproduce:
If this yields the difference:
>>> collect(['foo' => ''])->diff(['foo' => 'bar'])
=> Illuminate\Support\Collection {#1453
     all: [
       "foo" => "",
     ],
   }

Then why this yields an empty set of collection?
Did I missed anything here?
>>> collect(['foo' => '', 'lorem' => ''])->diff(['foo' => 'bar', 'lorem' => ''])
=> Illuminate\Support\Collection {#1456
     all: [],
   }

>>> collect(['foo' => '', 'lorem' => ''])->diff(['foo' => 'bar', 'lorem' => null])
=> Illuminate\Support\Collection {#1433
     all: [],
   }

I have understood. Will close this issue.


Elevate log level to WARNING when a conflicting Example is found

Fixes #1007

@timemanx thanks for this PR, I'll have to check first how will this affect the projects that depend on parser, this should not be a blocker, and I'm not so sure this implementation won't. @frantuma

@gracekarina Oh, so you mean changing the log level might become a blocker for dependent projects?
Anything I can help with?


Reboot button does not work

First, thank you very much for this great example. It works quite well, and fiited well into my project involving modifying an old jukebox, rewiring the old buttons and finally serve audio files to a sonos box. I did not use the SPIFF but added an SD card for more storage.
I used the more fancy 2nd example and noticed the reboot button does not work at all.
In webpages.h
Line 29:
document.getElementById("statusdetails").innerHTML = "Invoking Reboot ...";
Changed into:
document.getElementById("details").innerHTML = "Invoking Reboot ...";
BTW, the conversion to SD card was easy. First I changed all SPIFFS references to SD. The only thing with SD.exists() and SD.remove() is that it wants a "/" in front of the filename, so I made some minor changes for that in webserver.ino
Thanks again, very happy with this!
Cheers,
Frank

Can you please share the code for changing SPIFFS to SD.

@Frank-Bemelman thank you for the feedback, I will make the change shortly.
Are you able to provide a code example for the change to SD card, I can include it in the examples to help others - or even link to your code hosted somewhere else.  I don't have an SD card setup to test with.


Possible error in docstring mrmr_classif (pandas)

Hello,
I think there is an imprecision in the docstring of the function "mrmr_classif" present in the file pandas.py.
The docstring says:
cat_features: list (optional, default=None)
    List of categorical features. If None, all string columns will be encoded.

but from the code I see that the function that performs the encoding (i.e.  encode_df) is called only if cat_features is provided. I do not see a point in the code where strings columns are automatically encoded (maybe I am missing something).
All the  best,

Hi,
this behaviour is inherited by the classes of category_encoders (see for example https://contrib.scikit-learn.org/category_encoders/leaveoneout.html) which are used by the function.
However, I have corrected the function because I have just noticed that the default was an empty list instead of None, as it's declared in the docstring.
Thank you,
Samuele


Typo in ai.dart class

Hey,
yesterday I started using your lib. I really like it, but I think there is a typo in the ai.dart class.
Line 165 - 172
'20': const AI(       code: '16',       type: AIFormatType.FIXED_LENGTH,       dataTitle: 'VARIANT',       regExpString: r'^20(\d{2})$',       fixLength: 2,       description: 'Internal product variant',     ),
I think it should be.
'20': const AI(       code: '20',       type: AIFormatType.FIXED_LENGTH,       dataTitle: 'VARIANT',       regExpString: r'^20(\d{2})$',       fixLength: 2,       description: 'Internal product variant',     ),
I would be nice, if you take care of that.
Best regards
Andreas

Hi.
Thanks.
Fix it. Use version 1.0.1


when state go back，image don't show

i'm use ionic, when go back to list page like use code $ionicHistory.goBack();，all of the images don't show。i must to scroll the page, then the images will show，please help me.
my list page code:

the item is dynamic data of ajax request.
use $rootScope.$emit('lazyImg:refresh'); not work!!!

#30 should fix it. Let me know if you still have this problem though after a year you probably moved : )


POC: Add nvidia-docker

Just a Proof of Concept.
Things to improve:

Probably it's better to create separate AMI with nvidia-docker.
Make configurable default runtime (current PR makes nvidia as default runtime)

Very interesting! But I'm sorry we can't accept this into the default stack. Please feel free to run this and create your own AMIs for use in your stacks. :-)


Implement Weighted Least Squares

Add Weighted Least Squares preprocessing method for baseline correction:
https://pubs.rsc.org/en/content/articlehtml/2015/an/c4an01061b

This preprocessing has been added, it is called ARPLS


Fixes issues #668 + #671

Fixes pending depreciation issues. Build of docs tested and checked html and pdf output. Images resulting from doc builds not pushed.

This is failing for Python 2.7, 3.2, 3.7 and pypy. Do we need to wrap the import in a try/except?

Yup, sorry but collections.abc was introduced in Python 3.3. It definitely needs a try..except, probably something like:
try:
    from collections.abc import Mapping
except ImportError:
    from collections import Mapping

At the top, and change the class def to class frozendict(Mapping). The rest of the PR looks good though!

Sorry for delay - have been catching up with other things. Will fix.

Codecov Report

Merging #673 into master will increase coverage by 0.41%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #673      +/-   ##
==========================================
+ Coverage   85.64%   86.06%   +0.41%
==========================================
  Files          36       36
  Lines        7488     7648     +160
==========================================
+ Hits         6413     6582     +169
+ Misses       1075     1066       -9

Impacted Files
Coverage Δ

gpiozero/pins/__init__.py
72.88% <ø> (ø)
:arrow_up:

gpiozero/boards.py
92.43% <ø> (ø)
:arrow_up:

gpiozero/compat.py
56.98% <100%> (+1.43%)
:arrow_up:

tests/test_outputs.py
100% <0%> (ø)
:arrow_up:

gpiozero/output_devices.py
98.41% <0%> (+0.04%)
:arrow_up:

gpiozero/mixins.py
76.06% <0%> (+3.84%)
: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 7a1776f...94ec903. Read the comment docs.