batchwise implementation of scorecam

This implementation can generate scorecam activation maps for multiple images present in a batch. This code is 25x faster than the original implementation as it uses a data  loader to input images (multiplied with the normalized activation maps) instead of a for loop

Hi, @umairjavaid
Thanks for your implementation, before I merge it into the main branch, could you take a look at this PR, it seems that you are doing the same thing.

Hi, @umairjavaid
Thanks for your implementation, before I merge it into the main branch, could you take a look at this PR, it seems that you are doing the same thing.

(This is a great paper, and I feel really happy that I am contributing to it )
I haven't seen the whole implementation, but the part where feature-multiplied images are being inputted to the model is implemented using a for loop which is way slower than using a data loader. I also changed the way activations are being normalized, the entire batch of features can be normalized at once in my code using proper pytorch implementation, kindly see the difference.

(This is a great paper, and I feel really happy that I am contributing to it )
I haven't seen the whole implementation, but the part where feature-multiplied images are being inputted to the model is implemented using a for loop which is way slower than using a data loader. I also changed the way activations are being normalized, the entire batch of features can be normalized at once in my code using proper pytorch implementation, kindly see the difference.

Cool, if possible, could you also add a Colab demo for Score-CAM? It will be helpful.

Cool, if possible, could you also add a Colab demo for Score-CAM? It will be helpful.

I can't provide the demo. You can use the code I provided

I can't provide the demo. You can use the code I provided

Hi @umairjavaid, could you write a test file just like this?

Hi @umairjavaid, could you write a test file just like this?

I tried to use this scorecam-batchwise and faced a couple of problems. First there is a typo on line 76. It should be logit = self.model_arch(imgs).cuda(), not logit = self.model_arch(inputs).cuda()
and also when  calling backward(), you cannot do it for other than scalars so this error arises:
RuntimeError: grad can be implicitly created only for scalar outputs

I tried to use this scorecam-batchwise and faced a couple of problems. First there is a typo on line 76. It should be logit = self.model_arch(imgs).cuda(), not logit = self.model_arch(inputs).cuda()
and also when  calling backward(), you cannot do it for other than scalars so this error arises:
RuntimeError: grad can be implicitly created only for scalar outputs

class myModel15(nn.Module):
    def __init__(self, features, num_classes=1000, **kwargs):
        super(myModel15, self).__init__()
        self.features = features
        self.conv6 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv7 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.conv8 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv9 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.conv10 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv11 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.relu = nn.ReLU(inplace=False)
        self.avgpool = nn.AdaptiveAvgPool2d(1)
        #self.fc = nn.Linear(1024, num_classes)
        initialize_weights(self.modules(), init_mode='he')

    def get_masked_imgs(self, imgs, activations):
      b, d, r, c = imgs.shape
      _, A, _, _ = activations.shape
      imgs = imgs.reshape(-1)
      imgs = imgs.repeat(A)
      activations = activations.permute(1,0,2,3)
      activations = activations.repeat(1,1,d,1)
      activations = activations.reshape(-1)
      mul = activations*imgs
      mul = mul.reshape(-1,d,r,c)
      return mul

    def activation_wise_normalization(self, activations):
      b,f,h,w = activations.shape
      activations = activations.view(-1,h*w)
      max_ = activations.max(dim=1)[0]
      min_ = activations.min(dim=1)[0]
      check = ~max_.eq(min_)
      max_ = max_[check]
      min_ = min_[check]
      activations = activations[check,:]
      sub_ =  max_ - min_
      sub_1 = activations - min_[:,None]
      norm = sub_1 / sub_[:,None]
      norm = norm.view(b,-1,h,w)
      return norm

    def get_scores(self, imgs, targets):
      b, _, _, _ = imgs.shape
      total_scores = []
      class MyDataloader(torch.utils.data.Dataset):
        def __init__(self, images):
            self.images = images
        def __len__(self):
            return self.images.shape[0]
        def __getitem__(self, idx):
            return self.images[idx, :, :, :]

      train_data = MyDataloader(imgs)
      train_loader = torch.utils.data.DataLoader(train_data,
                                                shuffle=False,
                                                num_workers=0,
                                                batch_size=50)
      for batch_images in train_loader:
        scores = self.sub_forward(batch_images)
        scores = F.softmax(scores, dim=1)
        labels = targets.long()
        scores = scores[:,labels]
        total_scores.append(scores)
      total_scores = torch.cat(total_scores,dim=0)
      total_scores = total_scores.view(-1)
      return total_scores

    def get_cam(self, activations, scores):
      b,f,h,w = activations.shape
      cam = activations*scores[None,:,None,None]
      cam = cam.sum(1, keepdim=True)
      return cam

    def sub_forward(self, x):
      x1 = self.features(x)
      x1 = self.conv6(x1)
      x1 = self.relu(x1)
      x1 = self.conv7(x1)
      x1 = self.relu(x1)

      x2 = self.features(x)
      x2 = self.conv8(x2)
      x2 = self.relu(x2)
      x2 = self.conv9(x2)
      x2 = self.relu(x2)

      x3 = self.features(x)
      x3 = self.conv10(x3)
      x3 = self.relu(x3)
      x3 = self.conv11(x3)
      x3 = self.relu(x3)

      x = x1 + x2 + x3
      x = self.avgpool(x)
      x = x.view(x.size(0), -1)
      return x

    def forward(self, imgs, labels=None, return_cam=False):
        x = self.sub_forward(imgs)

        if(return_cam == True):
          with torch.no_grad():
            batch_size, D, H, W = imgs.shape
            y = self.features(imgs)
            y = F.relu(y)
            y = F.interpolate(y, (H, W), mode='bilinear', align_corners=False)
            y = self.activation_wise_normalization(y)
            z = self.get_masked_imgs(imgs, y)
            z = self.get_scores(z, labels)
            y = self.get_cam(y,z)
            y = F.relu(y)
            y = normalize_tensor(y)
            y = y.squeeze_(0).detach().clone()
            return y

        return {'logits': x}

class myModel15(nn.Module):
    def __init__(self, features, num_classes=1000, **kwargs):
        super(myModel15, self).__init__()
        self.features = features
        self.conv6 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv7 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.conv8 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv9 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.conv10 = nn.Conv2d(512,  1024, kernel_size=3, padding=1)
        self.conv11 = nn.Conv2d(1024, num_classes, kernel_size=1)
        self.relu = nn.ReLU(inplace=False)
        self.avgpool = nn.AdaptiveAvgPool2d(1)
        #self.fc = nn.Linear(1024, num_classes)
        initialize_weights(self.modules(), init_mode='he')

    def get_masked_imgs(self, imgs, activations):
      b, d, r, c = imgs.shape
      _, A, _, _ = activations.shape
      imgs = imgs.reshape(-1)
      imgs = imgs.repeat(A)
      activations = activations.permute(1,0,2,3)
      activations = activations.repeat(1,1,d,1)
      activations = activations.reshape(-1)
      mul = activations*imgs
      mul = mul.reshape(-1,d,r,c)
      return mul

    def activation_wise_normalization(self, activations):
      b,f,h,w = activations.shape
      activations = activations.view(-1,h*w)
      max_ = activations.max(dim=1)[0]
      min_ = activations.min(dim=1)[0]
      check = ~max_.eq(min_)
      max_ = max_[check]
      min_ = min_[check]
      activations = activations[check,:]
      sub_ =  max_ - min_
      sub_1 = activations - min_[:,None]
      norm = sub_1 / sub_[:,None]
      norm = norm.view(b,-1,h,w)
      return norm

    def get_scores(self, imgs, targets):
      b, _, _, _ = imgs.shape
      total_scores = []
      class MyDataloader(torch.utils.data.Dataset):
        def __init__(self, images):
            self.images = images
        def __len__(self):
            return self.images.shape[0]
        def __getitem__(self, idx):
            return self.images[idx, :, :, :]

      train_data = MyDataloader(imgs)
      train_loader = torch.utils.data.DataLoader(train_data,
                                                shuffle=False,
                                                num_workers=0,
                                                batch_size=50)
      for batch_images in train_loader:
        scores = self.sub_forward(batch_images)
        scores = F.softmax(scores, dim=1)
        labels = targets.long()
        scores = scores[:,labels]
        total_scores.append(scores)
      total_scores = torch.cat(total_scores,dim=0)
      total_scores = total_scores.view(-1)
      return total_scores

    def get_cam(self, activations, scores):
      b,f,h,w = activations.shape
      cam = activations*scores[None,:,None,None]
      cam = cam.sum(1, keepdim=True)
      return cam

    def sub_forward(self, x):
      x1 = self.features(x)
      x1 = self.conv6(x1)
      x1 = self.relu(x1)
      x1 = self.conv7(x1)
      x1 = self.relu(x1)

      x2 = self.features(x)
      x2 = self.conv8(x2)
      x2 = self.relu(x2)
      x2 = self.conv9(x2)
      x2 = self.relu(x2)

      x3 = self.features(x)
      x3 = self.conv10(x3)
      x3 = self.relu(x3)
      x3 = self.conv11(x3)
      x3 = self.relu(x3)

      x = x1 + x2 + x3
      x = self.avgpool(x)
      x = x.view(x.size(0), -1)
      return x

    def forward(self, imgs, labels=None, return_cam=False):
        x = self.sub_forward(imgs)

        if(return_cam == True):
          with torch.no_grad():
            batch_size, D, H, W = imgs.shape
            y = self.features(imgs)
            y = F.relu(y)
            y = F.interpolate(y, (H, W), mode='bilinear', align_corners=False)
            y = self.activation_wise_normalization(y)
            z = self.get_masked_imgs(imgs, y)
            z = self.get_scores(z, labels)
            y = self.get_cam(y,z)
            y = F.relu(y)
            y = normalize_tensor(y)
            y = y.squeeze_(0).detach().clone()
            return y

        return {'logits': x}

This is how I implemented it. I am taking activation maps from within my model - by returning them when return_cam = True. The important thing that I am trying to share is how I have implemented self.activation_wise_normalization, self.get_masked_imgs, self.get_scores and self.get_cam. These work in my code. I did not run your code, kindly alter these in your code accordingly

This is how I implemented it. I am taking activation maps from within my model - by returning them when return_cam = True. The important thing that I am trying to share is how I have implemented self.activation_wise_normalization, self.get_masked_imgs, self.get_scores and self.get_cam. These work in my code. I did not run your code, kindly alter these in your code accordingly

Will you consider my code? It took a lot of effort to get it done. Thank you :)

Hi @umairjavaid, it's a good implementation. But I don't have time to clean the code so that it fits the current coding style.


Wrong sql version

At https://docs.microsoft.com/pl-pl/windows-server/identity/ad-fs/development/enabling-oauth-confidential-clients-with-ad-fs#to-upgrade-the-database-file  There is „...Server 2102 Express...” should be „Server 2012 Express”

Updated and PR #2843


Shared playlists

Add initial shared playlists feature
Various minor tweaks and fixes

Is there anything that needs doing before this PR is accepted?

Why is this still not accepted?

Outstanding issues that would ideally be resolved before release:

(Major) At least one user has reported freezes/crashes when Syncplay changes files on mpv and MPC-HC. It might ultimately be the fault of the media players, but hopefully something can be done in Syncplay to avoid triggering the issue.
(Moderate): Sometimes it skips two files rather than one.
(Minor/Moderate) The 'highlight files not on PC in red' is not reliable enough, and sometimes gives false negatives/positives

Still to do (but doesn't have to be in initial release):

Add more 'safe' streaming domains, and allow user to specify these
Add looping functionality
Allow media folders to be added during runtime, and prompt users for this when necessary
Better handling for connecting to old servers without shared playlist functionality
Ability to more easily save/load/copy shared playlists

Known existing/potential issues that are not under active development:

Won't go to next file if the person who got to the end first is not using shared playlists - probably won't fix as it is not worth the hassle (if anyone cares, just get everyone to use shared playlists)
Occasionally does not rewind after switching files - intermittent so hard to test, but might already be resolved
Occasionally file selection may change when updating playlist - intermittent so hard to test, but might already be resolved

URI switching issue resolved:

By default, if Shared Playlists is enabled people will be automatically switched to all URIs
If people wish, they can set 'onlySwitchToTrustedURIs' to 'True' in '[client_settings]' within the Syncplay INI.
Those users can then specify Trusted URIs via 'trustedURIs' in '[client_settings]'. E.g.:
trustedURIs = [u'http://www.youtube.com/',u'https://www.youtube.com/']

Hopefully resolved the 'highlight files not on PC in red' reliability issue with ea5813e2b5352ffb20802b10114d16214208aeb8 and 571f671ce2ffea519c6d1b7408873545297d5ac6

Hard to test as the issues are intermittent, but I have hopefully resolved the double advance issue with 	09907a0 and the 'not ready' EOF bug with f7b7855. Let me knows if these problems persist with the new version please.

All major issues should now hopefully be resolved. Thanks to everyone who has contributed to the shared playlist branch!


Teacher lesson plan difficult to read

Upon downloading the teacher lesson plan, I see the cover and at the bottom of the cover, the red text on green background is quite difficult to read. My recommendation is to change it to white so it's more readable

Updated


Add created_at for Tweet

Added the created_at property for tweets.

Summary by CodeRabbit

New Features

Tweets now display the date and time they were created, enhancing user experience by providing more context.

Thank you very much, I will upload it to pypi later.


Garden control plane: Specify preemption priority class for extension admission controllers

How to categorize this issue?
/area control-plane
/kind enhancement
What would you like to be added:
The following is in the context of the garden control plane: Currently extension admission controllers do not specify preemption priority class and run with priority=0. Ideally, we'd like to avoid the extra latency and potential timeout faults resulting from admission controller preemption.
Why is this needed:
Reduce the frequency of webhook latency spikes caused by admission controller preemption.

Could you elaborate what you'd like to see being added by gardener/gardener @andrerun, a new priority class?
There is already https://github.com/gardener/gardener/blob/master/docs/development/priority-classes.md#priorityclasses-for-garden-control-plane-components, e.g. gardener-garden-system-400 sounds reasonable?!

I think the existing classes would work well.
I agree with you that gardener-garden-system-400 sounds like the reasonable choice. The other class where I see an admission controller is gardener-garden-system-300, which we apparently use for VPA's admission controller. To me, 400 seems the reasonable default, with 300 being a possible choice for admission controllers which are less time-sensitive.

Any suggestion what we should do with this issue @andrerun? Admission controller charts need to be adjusted to allow the value of priorityClass, but do you want to track the status of each one here or should be close it and you just adjust the extensions one by one ... ?

For simplicity, I'd say: keep just this issue, and then the implementer(s) can decide. I won't be doing the actual implementation. I'm filing the issue as someone who stumbled upon it, not as a first step of a specific plan to fix it.

/assign


Add CI using GitHub actions

I need to figure out missing make binary in latest Docker image of golangci-lint.

I need to figure out missing make binary in latest Docker image of golangci-lint.

Done: https://github.com/golangci/golangci-lint/issues/1483


IntelliJ does not prompt for target pod and reports "mirrord was cancelled"

Bug Description
When I run mirrord without specifying a target pod, I expect to be prompted via the pod selection widget. No widget shows up and instead I am seeing an IntelliJ error message saying "mirrord was cancelled"
Steps to Reproduce
mirrord 3.56.3
Intellij Ultimate 2023.2.5
MacOS Sonoma
Java application using VM 17.0.3-zulu
Backtrace
No response
Relevant Logs
No response
Your operating system and version
OSX Sonoma 14.2
Local process
Mach-O 64-bit executable x86_64
Local process version
No response
Additional Info
No response

dup with #97 - just to clarify, issue is that we don't display relevant warning that user needs to set target.

Hey, I can't reproduce it with same configuration. Would you up to do a screen share session so we can investigate better?
If so, please schedule time here - https://calendly.com/aviram-5/30min or ping me on Discord.

I have the same issue.

I have the same issue. IntelliJ IDEA 2023.1.5 MacBook Pro - Ventura 13.4
Was able to manually configure with a mirrord.json though

hi @Dill-Dall did you specify the target in the mirrord.json and it worked?

@infiniteregrets
yup, following worked like a charm
{
    "target": {
        "path": {
            "pod": "di-spring-boot-starter-5c478ff597-c99pg"
        },
        "namespace": "di-spring-boot-starter"
    },
    "feature": {
        "network": {
            "incoming": {
                "mode": "steal",
                "http_filter": {
                    "header_filter": "X-Playground: thomas"
                }
            },
            "outgoing": true
        },
        "fs" : "read",
        "env" : true
    }

}

@Dill-Dall did you get a notification that mirrord cannot display the target selection dialog box along with "mirrord was cancelled"?

@infiniteregrets correct
'mirrord was cancelled'
and the error
'mirrord plugin was unable to display the target selection dialog. You can set it manually in the configuration file<EMAIL_ADDRESS>

@infiniteregrets correct 'mirrord was cancelled' and the error 'mirrord plugin was unable to display the target selection dialog. You can set it manually in the configuration file /Users//git/com.github//di-spring-boot-starter/.mirrord/mirrord.json.

Thanks for the info! I believe that's expected behavior because we want the user to know the alternative solution, however, as the issue points they did not see any helpful message (:

Opened a related issue on JetBrains board here

Opened a related issue on JetBrains board here

Thanks!
@Dill-Dall , @gjacobitrs please upvote it on YouTrack so JB will help us! :)

@Razz4780 Given the comments in the JetBrains issue, is this still blocked?

@Razz4780 Given the comments in the JetBrains issue, is this still blocked?

Based on feedback we got from JetBrains, solving this issue would require a massive change in our plugin. We currently extend RunConfigurationExtension endpoint, which is not meant to show any UI. We should be extending BeforeRunTaskProvider, which has a very different interface and imposes a different flow.
Also, since this issue was opened, we've added a warning that asks the user to fill target in the mirrord config.

Should be fixed as part of the BeforeRun

Right now we only use BeforeRunTaskProvider for Tomcat executions. The plan was to give it some time and see if it's stable. Then rework all other entrypoints


Change the documentation to reflect the product change from using one warehouse worker for all MHAX inbound queue messages to the user mappings between system users and warehouse workers.

In the product, we changed the configuration of MHAX from using a single user ID to having a user mapping table. Made a simple change in the documentation to reflect this change.

I reproduced this change in the main repo rather than merge the PR from this fork. Closing this PR.


RFC1867 support for seamless use with uwsgi/nginx

Just by changing a few keys, RFC1867 support is possible with a bit of
nginx configuration. This makes it possible to use django-progressbarupload with Django + nginx +
uwsgi.

:+1:


[docs] @vx/stats shows @vx/boxplot page instead

In the docs, looking at the page for @vx/stats shows the page for @vx/boxplot instead.
https://vx-demo.now.sh/static/docs/vx-stats.html
https://vx-demo.now.sh/static/docs/vx-boxplot.html

Thanks for the catching this @jpmn! will be fixed in v0.0.170 release


Android App - Person view Map - Does not show location.

Using HA app on Android 11. Map view does not load any details, currently just country borders. ( UK )

https://github.com/matt8707/ha-fusion/issues/121

Sorry. Will close.
Loving the dashboard btw. Nailing it.


Oracle VM VirtualBox Test version 6.1.17-141063

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

cc @KevinLaMS Installer requires Administrator privileges:

cc @KevinLaMS

This installer seems to reboot at completion.  I tried to see if I could suppress with --ignore-reboot, but it did not work. Thoughts?

This installer seems to reboot at completion. I tried to see if I could suppress with --ignore-reboot, but it did not work. Thoughts?

@KevinLaMS Which build are you on? Just did another install today (4 Nov 2020) manually via winget and the installer didn't restart my VM.

If I remember correctly, the latest Insider build (not sure if it's fixed) seem to have some issues with virtualization softwares.


feat(tutorial): complete step 5

Closes #
https://carbon-tutorial-hondo.mybluemix.net/#/
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

Congratulations! 🥇 You have successfully completed all 5 sections of the carbon tutorial.  One day you will get a tshirt and badge.


Phar packaging and deploying with travis-ci

This assumes #48 is accepted (made ontop of this)

Package all *.php files to PHAR

Add options for travis to automatically assemble PHAR on builds

Add options for travis to put built PHAR to release tags on GitHub

See my test release for phar package auto-deployed

Deployment occurs only with tags https://travis-ci.org/scaytrase/phan/builds/96430094

Phar package allows easy distributing of your project. Phar default stup points to phan.php file (made from you phan shell script) so all functioning is equals to calling ./phan
To make it work API_KEY (github token with public_repo access) env var should be setup for job at travis

Rebased onto accepted #48


Add ScreepsNotify library and various hooks

This will enable notifications for-

Any Logger message with a severity >= LOG_ERROR
Any territory claim (new room, new mine).
Any room claim.

For this to work an additional service will need to be setup to pick up the messages and actually send them. Once this PR is accepted I will do so and point the notifications at the slack channel.

This Pull Request has been merged by GitConsensus.
Vote Totals

Yes
No
Abstain
Voters

3
0
0
3

Vote Breakdown

User
Yes
No
Abstain

tedivm
✔

ViezeVingertjes
✔

dragoonreas
✔

Vote Results

Criteria
Result

Has Quorum
True

Has Votes
True


Reshade Menu Key Doesnt Work

Reshade Home key doesnt work to bring up the Reshade menu with this mod enabled when using dgvoodoo2 at the same time. Switching to other keys dont seem to work either. Works when dgvd2 is omitted with this mod. And works with this mod omitted when using dgvd2. And reshade home key works without either.

Dont use the vulkan renderer, switch the game back to d3d9 (if your computer is good enough there shouldnt be any performance problems) Then reinstall reshade with the d3d9 option and the home key should work. I had your problem until I changed back to d3d9


[glib]: bump version to 2.74.0

Describe the pull request
Update glib to 2.74.0. Glib now uses git submodules for gvdb, and vcpkg_from_gitlab does not fetch submodules, so I resorted to vcpkg_download_distfile.
I don't know of any other library that uses gvdb, so I think it's okay not to create an entire recipe for it.

@hesham-essam ,Thanks for your pr, when I tested the feature by command "./vcpkg install glib[*]:x64-linux",
I got this error, could you please take a look?
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: running: autopoint --force
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: configure.ac: not using Intltool
autoreconf: running: gtkdocize --copy
Can't exec "gtkdocize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 293.
autoreconf: error: gtkdocize failed with exit status: 2

autoreconf: running: gtkdocize --copy
Can't exec "gtkdocize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 293.

Since vcpkg doesn't care for docs, it doesn't need gtkdocize. You may turn this step into a no-op by adding this to the portfile:
set(ENV{GTKDOCIZE} true)

Cf. libidn2, libtasn1.

I add set(ENV{GTKDOCIZE} true) to libmount portfile.cmake and fix the error, but got the another one:
Tested by command "./vcpkg install glib[*]:x64-linux",

Code:

        #ifdef __has_include
         #if !__has_include("afunix.h")
          #error "Header 'afunix.h' could not be found"
         #endif
        #else
         #include <afunix.h>
        #endif
Compiler stdout:

Compiler stderr:
 /home/test/test/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmp3bnbvpuy/testfile.c:4:12: error: #error "Header 'afunix.h' could not be found"
    4 |           #error "Header 'afunix.h' could not be found"
      |            ^~~~~

Has header "afunix.h" : NO

Has header "afunix.h" : NO

On my linux machine, afunix.h comes with Ubuntu package linux-headers. (FTR this package is also needed by port openssl, and that port carries a reminder message.)

@JonLiu1993
Glib does not havea  hard dependency on afunix.h. I get the same message as well, but glib builds without problems all the same (and vcpkg doesn't complain either):
Code:

        #ifdef __has_include
         #if !__has_include("afunix.h")
          #error "Header 'afunix.h' could not be found"
         #endif
        #else
         #include <afunix.h>
        #endif
Compiler stdout:

Compiler stderr:
 /home/theartful/Programming/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmpfr_q1e90/testfile.c:4:12: error: #error "Header 'afunix.h' could not be found"
    4 |           #error "Header 'afunix.h' could not be found"
      |            ^~~~~

Has header "afunix.h" : NO

Are you sure this is the cause of the build failure?

Are you sure this is the cause of the build failure?

@hesham-essam , I use command "./vcpkg install glib[*]:x64-linux" tested again,
this is error log, please take a look:
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: running: autopoint --force
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: configure.ac: not using Intltool
autoreconf: running: gtkdocize --copy
Can't exec "gtkdocize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 293.
autoreconf: error: gtkdocize failed with exit status: 2

@JonLiu1993  I removed my gtkdocize, reproduced the issue, then applied @dg0yt suggested solution, and things should work now. Please try again.

@JonLiu1993  There are not really errors. Meson performs tests to check if certain functions exist. I get the same stuff
Compiler stderr:
 /home/theartful/Programming/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmp68g4jd6k/testfile.c: In function 'main':
/home/theartful/Programming/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmp68g4jd6k/testfile.c:17:18: error: #error "__builtin_getvfsstat not found"
   17 |                 #error "__builtin_getvfsstat not found"
      |                  ^~~~~

Checking for function "getvfsstat" : NO

The cause of the error is something else. Can you please send me the log files?

@JonLiu1993 These are not really errors. Meson performs tests to check if certain functions exist. I get the same stuff
Compiler stderr:
 /home/theartful/Programming/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmp68g4jd6k/testfile.c: In function 'main':
/home/theartful/Programming/vcpkg/buildtrees/glib/x64-linux-dbg/meson-private/tmp68g4jd6k/testfile.c:17:18: error: #error "__builtin_getvfsstat not found"
   17 |                 #error "__builtin_getvfsstat not found"
      |                  ^~~~~

Checking for function "getvfsstat" : NO

The cause of the error is something else. Can you please send me the log files?

The error log file Error log I looked into and found a useful piece of information:
../src/glib-2-22354247da/meson.build:2123:2: ERROR: Dependency "libselinux" not found, tried pkgconfig and cmake

@JonLiu1993 Well, to enable selinux support, you have to have libselinux installed. If you're on ubuntu, try sudo apt install libselinux1-dev


IOS app fails to send message, ajax spinner ad infinitum

Summary
Very frequently, ios app fails to send message, just endless ajax spinner.  Must reboot app to reconnect.
Environment Information

Device Name: iPhone 6 Plus
OS Version: 10.3.2 (latest)
Mattermost App Version: 3.5
Mattermost Server Version: 3.10.0 Enterprise

Steps to reproduce
I cannot determine how to reproduce, it happens frequently and randomly across all staff iphones (have not tested android).  Does NOT happen with desktop client nor web client.   Perhaps happens when you switch wifi access points, or go from wifi to 3g with app open and active.
Expected behavior
Well, uhm, message sends.
Observed behavior
The ajax spinner that shows whenever you send a message, it never goes away.  You can send message after message to any channel or person and they all just spin.  Must reboot app and retype every message.
Possible fixes
I'm guessing you are using websockets (never looked at the code) and on a network switch are not always successfully reconnecting the websocket.

Hi @fmp777 - would you be able to try with the new app from here to see if the issue still reproduces?

Well, I dont run Android.  And for IOS, I found the new native app and excitedly deleted the "classic" one.  This issue might very well also be more related to the web-app since this app is just little more than repackaging the webapp, but I never experience it on the web-app because when you use the webapp you are stationary and not switching networks, which is where I believe the problem lies.

@fmp777 - ah sorry, meant to link to the iOS one but glad you found it.
I'm going to close this issue since it seems fixed with the new apps, and will check if connection issues or something could cause it to happen on the webapp.


How to plug live websocket data

Hi, I am new to this library would you please help me how I build live candlestick chart with it.

@itsmemittal When you say "live websocket data", do you mean to be able to have the charts automatically update with new data bars?  If so, I'm interested in the same.
(I'm a newbie to web frameworks in general, so any guidance would be appreciate)

Yes i am looking for same.

Ok

Your component should look something like:
connect() {
    this.ws = new WebSocket(url);
    this.ws.onmessage = this.onMessage;
    this.ws.onerror = this.onError;
}

onMessage(message) {
    let data = JSON.parse(message.data);
    this.setState({data: data});
    //if the ws is providing high volume data (multiplt updates per sec) you should consider some
    //throteling, otherwise setting state multiple time per second will heart you app performance.
    //React currently doesn't support bulk state changes for non-lifecycle methods so you need to
    //handle it yourself.
}

render() {
    return (
       <CandlesticksChart data={this.state.data} .../>
    )
}

you can check out my profile,dogecoin-react, i did something very similair (also with a websocket)


Reload templates periodically

Thanks a lot for this extension! It removes a lot of friction for my JupyterHub users to get started.
This is what my setup looks like: I provide a JupyterLab environment to a lot of user through JupyterHub. I also of repo of template notebooks that I regularly deploy to the JupyterHub server and I have installed the templates extension to load templates from that folder.
Now, whenever I push an update to the templates folder, users need to restart their server to pick up the updates. This is because we only load templates once when the server extension get loaded.
It would be great if these templates could be reloaded periodically instead. I'm imagining something like having a dedicated class to serve templates. That class would have a function to load the templates from disk and that function would be cached with a TTL. Each call to TemplatesHandler or TemplateNamesHandler would get templates from that cached function.
Say something like
import cachetools.func

class TemplatesLoader():
    def __init__(self, template_dirs=None):
        self. template_dirs = template_dirs

    @cachetools.func.ttl_cache(maxsize=1, ttl=60)
    def get_templates(self):
        # load templates from disk
        return templates

class TemplateNamesHandler(IPythonHandler):
    def initialize(self, templates_loader):
        self.templates_loader = templates_loader

    def get(self, template=None):
        self.finish(json.dumps(sorted(self.templates_loader.get_templates().keys())))

Let me know if that makes sense and I can push a PR :+1:

Sounds fine, we can also just move the template fetching from the initialization function to the handler. Then on any jupyter loaf (or page refresh) it would refetch them. Either/or is fine, PRs welcome.


Replicating Fine-Affine experiments

I am struggling to find the implementation for the Fine-Affine experiments shown in Table 1, which seem to be the main contribution of the paper. Could you please help me with this?

Hi, Superkirill
Sure, you can repeat the experiments using the ImageNet.py file.
train:
python ImageNet.py --dir ./logs/ImageNet/ --arch resnet18 --data ./data/ILSVRC/Data/CLS-LOC --gpu 0


Connecting through a proxy with authentication results in 407

When trying to connect through a proxy following error occurs:
Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required',))

Changing headers=h to proxy_headers=h in telepot.api.set_proxy works
https://github.com/shazow/urllib3

Same problem here. Thanks for that information. Now its working. Hope this error get fixed very soon.


Allow more mount options

ISSUE TYPE

Bug Report

SUMMARY
Not all correct podman mountpoint options are not supported (like :O).
ANSIBLE-NAVIGATOR VERSION

ansible-navigator 2.1.0

CONFIGURATION

N/A
LOG FILE
$ ansible-navigator inventory -i snow.yml --eev /etc/pki/ca-trust:/etc/pki/ca-trust:O
Warning: Issues were found while applying the settings.
   Hint: Command provided: 'inventory -i snow.yml --eev /etc/pki/ca-trust:/etc/pki/ca-trust:O'

  Error: The following execution-environment.volume-mounts entry could not be parsed: /etc/pki/ca-trust:/etc/pki/ca-trust:O (Command
         line). Errors were found: Unrecognized option: 'O', available options include 'Z' and/or 'z'.
   Hint: Try again with format <source-path>:<destination-path>:<options>'. Note: options is optional.

   Note: Configuration failed, using default log file location. (/home/testuser/ansible-navigator.log) Log level set to debug
   Hint: Review the hints and log file to see what went wrong.

STEPS TO REPRODUCE
Try to use --eev /etc/pki/ca-trust:/etc/pki/ca-trust:O'.
EXPECTED RESULTS
To pass the mountpoint how it was in version 1.1.0.
ACTUAL RESULTS
End up in error.
ADDITIONAL INFORMATION
Looks like problem is here:
https://github.com/ansible/ansible-navigator/blob/fb8fef009444eeca0b275b4da0beba5653813016/src/ansible_navigator/configuration_subsystem/definitions.py#L314

Thanks @jskacel for logging the issue here! We'll look forward adding support for other VolumeMount options.
This will be super helpful :)


Duckdns blocks 443

Home Assistant
0.75.3
Install in Pi / I use untangle as my router os
Clean install and I went strait to installing duckdns. Everything was setup correctly and ports forward correctly. I was getting this error
Error doing job: SSL error errno:1 reason: HTTP_REQUEST
Traceback (most recent call last):
  File "uvloop/sslproto.pyx", line 504, in uvloop.loop.SSLProtocol.data_received
  File "uvloop/sslproto.pyx", line 204, in uvloop.loop._SSLPipe.feed_ssldata
  File "uvloop/sslproto.pyx", line 171, in uvloop.loop._SSLPipe.feed_ssldata
  File "/usr/local/lib/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:841)

I found this post https://github.com/home-assistant/home-assistant/issues/15579#issuecomment-411329358
And followed this tip
The LetsEncrypt certs can cause the WiFi module to run out of memory when trying to do the SSL handshake. See: Using Konnected with Hass.io and SSL/TLS
To work around this, use the NGINX SSL proxy:
 https://www.home-assistant.io/addons/nginx_proxy/
You will need to REMOVE the ssl_certificate, ssl_key, and base_url config variables from the HTTP section of your configuration.yaml. Also REMOVE api_host from the Konnected section. Install the NGINX proxy add-on and set "domain" to your DuckDNS domain.
By default the NGINX proxy exposes port 443 securely to your DuckDNS domain, and proxies internally to port 8123. Restart Hass and Konnected should start communicating locally to Hass over HTTP port 8123, avoiding the certificate issue.
This magically opened port 443 for me.
Please let me know if you need any more info

there is not enough info in this issue. Posting a random tip doesn't help either. DuckDNS blocks no ports. Going to close this.

What info do you need? I still have this issue.

"Please let me know if you need any more info" - ?


Weighting does not work as expected.

Expected Behaviour
We were expecting our experiments to reflect the weighting defined in the variantWeights
Current Behaviour
We've been using the weighting:
emitter.defineVariants("My Example", ["A", "B", "C"], [25, 25, 50]);

in our split tests and seeing results of
A = 40%
B = 10%
C = 20%
Assumptions
Looking over how this works, I can't see how the code would know we had n visitors & know how to weight appropriately so I can only assume it's random.
With that in mind, how does weighting work?
Help needed
Without using a 3rd party service (like mixpanel), what is the correct way to ensure our splits are as close to the weighting as possible?

I documented the code to provide some insight on what's happening: https://github.com/pushtell/react-ab-test/blob/master/src/Experiment.jsx#L66-L106
For your results, 40% + 10% + 20% = 70%
40 of 70 = 57%
10 of 70 = 14%
20 of 70 = 28%
I'm not sure how many iterations you're running, but you can see the test that confirms the weighted choices within a threshold here: https://github.com/pushtell/react-ab-test/blob/master/test/browser/weighted.test.jsx#L54-L100

Thank you.... I've just looked into this some more & we have markup like this:
<Experiment name='My Example'>
  <Variant name='B'>
    // Some components
  </Variant>
</Experiment>

in the top of our page...
and..
<Experiment name='My Example'>
  <Variant name='A'>
    // Some components
  </Variant>
  <Variant name='B'>
    // Some components
  </Variant>
  <Variant name='C'>
    // Some components
  </Variant>
</Experiment>

in the bottom.
I think it's possible our unusual 70% number is coming from the fact we haven't got Variant's A & C in the markup at the top of the page?
I'm thinking of changing the markup at the top of the page to:
<Experiment name='My Example'>
  <Variant name='A' />
  <Variant name='B'>
    // Some components
  </Variant>
  <Variant name='C' />
</Experiment>

As this should give us the correct 100% number & therefore expected weighting results.
Does that make sense so far?

You may want to check the documentation on coordinating multiple components.

Thank you... I have looked at that which is why we decided to not use the variants where we did not want them to display.
The issue I am facing is that we don't have 100% after 8854 visits.
A = 3606 (40.73%)
B = 942 (10.64%)
C = 1832 (20.69^)
I wasn't sure as to what was causing that as we've followed the instructions accordingly.
Any help is greatly appreciated :)

What is being displayed the other 30% of the time?

That's where we are confused... there should never be another 30% of the time? Our weightings add up to 100%
emitter.defineVariants("My Example", ["A", "B", "C"], [25, 25, 50]);

@wehriam thanks for all your input on this... I'm thinking I can close this issue if I've mis-understood the way weightings work?
My assumption is that the array sum should equal 100 (relating to 100%) and each entry in the array is the percentage you wish to display so for example a 60/40 split would be [60,40].
We are currently investigating to see if the emitter.addplaylistener is triggering every time as this may be the cause of our missing 30%?

The array sum does not need to add up to 100. Please refer to the documented code.

@wehriam I am sorry, but I have referred to the documented code several times & it's still not clear to me how it works.
To keep things simple....
We need a way to split A, B, C with a 25%, 25%, 50% respectively.
Can you advise how we would achieve that with weightings please? Or is it not achievable?

Weighting is achievable, tested, and documented. I would double check the code you're using to measure the results.

@wehriam yes, that's what we are currently doing, just gathering data now on that however if our fundamental understanding of how weighting works is flawed, it's pointless attempting a fix.
Could you advise of what numbers you would add to the weightings array to achieve a 25%, 25%, 50% split for 3 variants please?
According to the documentation & code, it should be [25,25,50] based on my understanding... is my understanding incorrect?

Yes,[25,25,50] would provide a weighting of 25%, 25%, 50%.

@wehriam thank you... I will close this now as logically is must be something in our implementation that is flawed.


Enable step_image_registries check for Tasks

This PR includes two commits:

Enable step_image_registries check for Tasks

This commit effectively enables the step_image_registries[1] policy rules on the Task definitions in this repo.
Since some Tasks do not yet comply with some of those policy rules, exceptions are added for those cases.
Enabling this check now should help prevent new violations from being introduced.
Since the policy now includes a very specific exclusion list for this
repo, the policy itself is now defined here.
Ref: https://issues.redhat.com/browse/EC-374
[1] https://enterprisecontract.dev/docs/ec-policies/task_policy.html#step_image_registries_package

Disable gitInitImage param from git-clone Task

This was missed in STONEBLD-2109.

cc @chmeliik , @rcerven

yaml lint is failing (unrelated to the changes in this PR). https://github.com/redhat-appstudio/build-definitions/pull/815 fixes it.

Related to the step_image_registries check, I'll mention that the rpm-ostree task gets away with having a configurable image, because it uses it in a much more obfuscated way. Per discussions in Slack, the use case is valid but may need some special treatment

Ack. We have https://issues.redhat.com/browse/EC-415 for handling that particular task.


Test test:wrappable-sequence()

This pull request derives from #489. So needs to be handled after that.

This pull request just adds some tests for test:wrappable-sequence().

:+1:


Fix example - Categories don't select anything #101

https://github.com/matyunya/smelte/issues/101

@matyunya @Kiho
Just ran into same problems. it seems docs online still don't reflect these. E.g:

@matyunya @Kiho
Just ran into same problems. it seems docs online still don't reflect these. E.g:


Stop rolling back updated clients

When a user installs a secondary Office click-to-run product, like Project or Visio, the entire collection of Office products on the computer are changed to match the version of the secondary product. So, if I have an up-to-date version of ProPlus installed, but install a Project 2016 client from SCCM or other local source that was downloaded months ago, my ProPlus installation will now be rolled back to the version from the Project install. Am I missing something? Thanks.

Office, Project, and Visio need to be using the same core Office binaries, such as mso.dll. So when you're installing Project/Visio from a local source that's older than the current Office install, Click-to-Run (the installation technology/engine) needs to "downgrade" Office to the version of Project/Visio you're installing. Since you're installing from that local source, Click-to-Run presumes that's the version you want installed.
Depending on how you have updates configured, Office, Project, and Visio would probably get updated to the most current version again the next time Click-to-Run runs and looks for updates.
One way to avoid this "downgrade" scenario is to do installs directly from the Office Content Delivery Network (CDN) on the Internet, because the CDN always has the most current bits. If this isn't an option (for example, because of bandwidth constraints), you should keep your local source location up to date with the most current installation bits. Current version info is available in the Release information for updates to Office 365 ProPlus article. Versions in that article also apply to Office 365 versions of Project and Visio.
Hope that explanation helps.


How to visualize camera poses

I have a transforms.json file that contains camera extrinsic and intrinsic. How can I visualize them?

There is no support for JSON transforms in either COLMAP or PyCOLMAP. If you plan to use COLMAP / PyCOLMAP, you will need to convert this file to the COLMAP equivalent https://colmap.github.io/format.html#text-format
Closed as offtopic.


syntax highlighting for c is not working

Lapce Version
Lapce v0.4.1
Windows 10 Pro
Describe the bug
this issue is same with #3282, now #3282 is closed, so i create new one.
syntax highlighting in lapce:

stdout.log:
failed to obtain release info: Failed to retrieve releases for tree-sitter-grammars

It looks like you can't download the tree sitter grammars from Github.

try to set environment variable https_proxy， which allow request to go through the proxy.e.g: http://<IP_ADDRESS>:7897

@jm-observer Thanks,it works now!


It returns message "maximum recursion depth exceeded"

Describe the bug
Gemini returns message "maximum recursion depth exceeded"
Version
OS: Ubuntu 23.10
Python: 3.11
Gemini API: 2.0.0
Using proxy: None
Legion:
Code
from gemini import Gemini

cookies = {} # I input my cookies here as decribe in README
GeminiClient = Gemini(cookies=cookies)

prompt = "hello, how are you?"
response = GeminiClient.generate_content(prompt)

print(response.response.dict)

Error
It returns "maximum recursion depth exceeded"
I check on gemini.google.com/app,
it has sent prompt to gemini but not get answer from gemini.google.com/app as below image
Bard API still runs smooth!

Thank you for reporting.
Please give me tracebacked error message.

looks like it returns attachment instead of text now, response.bin, dunno have not dig much, so sorry if that makes no sense

Would it still work if I leave the Gemini object as is and only rerun the generate content method? I'll check again tomorrow. I was aware of the bot server change, but since the old bot server was still running, I didn't make the switch, though I'm a bit scared, I'll check it again.
Before posting it on the readme, I'll first post it on this issue page. Since it's difficult to code and check, I'll get back to you within 12 hours!
Thank you.

Traceback (most recent call last):
File "c:\Users\Divyanshi\Desktop\New\tets.py", line 83, in
print(geminiultra("What is the capital of France? also show images"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\Divyanshi\Desktop\New\tets.py", line 45, in geminiultra
answer = response.response_dict['candidates']['text']
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Divyanshi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\gemini\src\model\output.py", line 47, in response_dict
return self.response_dict
^^^^^^^^^^^^^^^^^^
File "C:\Users\Divyanshi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\gemini\src\model\output.py", line 47, in response_dict
return self.response_dict
^^^^^^^^^^^^^^^^^^
File "C:\Users\Divyanshi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\gemini\src\model\output.py", line 47, in response_dict
return self.response_dict
^^^^^^^^^^^^^^^^^^
[Previous line repeated 995 more times]
RecursionError: maximum recursion depth exceeded

Thank you for reporting. I will check this issue ASAP.

I just update to Ver 2.2.0 and it still returns "maximum recursion depth exceeded"

phamxtien
The update in Python 3.11 is suspected to cause recursive calls leading to a "recursive exceed" error.
I've made modifications to change the recursive calls in property definitions in GeminiModelOutput. Could you please reinstall the version from GitHub and check again?
pip install git+https://github.com/dsdanielpark/Gemini-API.git

Thank you for your guide
I just get newest source and it still return the same error
I will try with python3 3.8

Are you sure to use print(response.response_dict) ?
Or try to use rint(response.payload)
It seems the issue is related to a property, which might confuse other users. I'm concerned but will fix it as soon as possible. Please keep following the issue for updates; I'll correct it soon and adjust the settings to address the error. In reality, there's still a lot to refactor and implement, but due to a busy schedule, I haven't been able to devote much time to it. Thank you.

use print(response.response_dict) ?

I use print(response.response_dict)

phamxtien
I release v2.2.2. Could you check?

rint(response.payload)

it works, and response format is also changed
{'metadata': ['c_37bce86328f5eb0c', 'r_7ad361e5f2e31296'], 'prompt_class': None, 'prompt_candidates': [], 'candidates': [{'rcid': 'rc_dcc7ef3199425605', 'text': 'The capital of France is Paris. It is a major European city and a global center for art, fashion, gastronomy, and culture. \n[Image of Paris, France] ', 'code': {}, 'web_images': [{'url': 'https://sa.visamiddleeast.com/dam/VCOM/regional/cemea/generic-cemea/travel-with-visa/destinations/paris/marquee-travel-paris-800x450.jpg', 'title': '[Image of Paris, France]', 'alt': 'Paris, France'}], 'generated_images': []}, {'rcid': 'rc_af89988c3898dec1', 'text': 'The capital of France is Paris.  Paris is a major world center for art, fashion, cuisine, and culture.   \n[Image of Paris, France]', 'code': {}, 'web_images': [{'url': 'https://sa.visamiddleeast.com/dam/VCOM/regional/cemea/generic-cemea/travel-with-visa/destinations/paris/marquee-travel-paris-800x450.jpg', 'title': '[Image of
Paris, France]', 'alt': 'Paris, France'}], 'generated_images': []}, {'rcid': 'rc_daf9c135dc80150a', 'text': "The capital of France is Paris. It's a major European city and a global center for art, fashion, gastronomy, and culture. \n[Image of Paris, France]", 'code': {}, 'web_images': [{'url': 'https://sa.visamiddleeast.com/dam/VCOM/regional/cemea/generic-cemea/travel-with-visa/destinations/paris/marquee-travel-paris-800x450.jpg', 'title': '[Image of Paris, France]', 'alt': 'Paris, France'}], 'generated_images': []}]}

phamxtien
I release v2.2.2. Could you check?

Thanks, it runs smooth

Thank you for reporting! Have a nice day. I will close this issue as complet.


Fix build error: "struct field shorthands are unstable"

I caught the error as below in building this library (ver 11.1.0).
error: struct field shorthands are unstable (see issue #37340)
  --> src/io/tcp.rs:66:13
   |
66 |             address,
   |             ^^^^^^^

error: aborting due to previous error

In the future, struct field must be described specifically.
See #37340 on rust-lang/rust repo.
My Rust environment is below.
$ cargo -V
cargo-0.17.0-nightly (f9e5481 2017-03-03)
$ rustc -V
rustc 1.16.0 (30cf806ef 2017-03-10)

Thanks.

Hi!
field_init_shorthand feature are stable since 1.17.0. Please update your rust version.


最後分享頁面可以讓阿伯有撒花動畫

前面都有阿伯動畫，只有最後一頁沒有，好像不夠興奮 XDDDD
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

其實已經有阿伯動畫了


Add several flow features and bugfixes

Add coverage checking for Flow, some bugfixes and extra error
handling. Also add two new features - the option to mix sublime
and flow autocomplete, and to omit function parameters for
autocomplete (similar to Nuclide). Add the ability to override
settings on a per-project basis under the "FlowIDE" key, so that
different projects can use different paths for Flow.
Also add an MIT license (discussed over email).

I just tried this branch. Fixes the two biggest painpoints. I'm very grateful.
I'd say the only thing remaining to bring FlowIDE up to par with Nuclide is the ability to show the flow errors in a small popup box. Because as soon as an error message gets a bit long, I'd have to run $  flow inside the terminal to really see what's going on. Afaik this feature is doable because Sublime added a capability that allows packages to do simple HTML rendering a while ago.

:+1: Amazing. The coverage output is exactly what I wanted (barely visible but there), and the autocomplete fixes are really great. Really nice work!

Hey @tptee - would you be able to take a look at this?

Looking now!

Sorry for the wait, I went down a refactoring rabbit hole 😬 v1.2.0 is published and Package Control should pick up the update within the next 30 mins.


add "how to HTTPS" getting started guide

see https://openziti.discourse.group/t/using-https-to-access-services-over-openziti/901
User mentioned HTTPS - it'd be great to point people how to acquire certificates from a verified domain, and then how to use __ totally private DNS__ provided by openziti to have "valid" certificates

+1


cant see didal connect in mobile app

after instalation with 0 error still cant see my device in tidal connect. i use RPI 4B 8GB + HiFiBerry dac 2 pro with installed MoOdeOS

Hello, please post the container logs, using
cd $HOME/tidal-connect
docker-compose logs -f

also post the contents of
cat /proc/asound/cards
and
cat $HOME/tidal-connect/.env
Thank you

Hello, did you solve the issue?

Closing for inactivity, feel free to reply (I'll reopen) or open a new one if needed


IndexError with Svaba caller vcf

weird variant:Variant(10:167066314 N/[10:167066555[N)
fatal.nim(39)            sysFatal
Error: unhandled exception: index 167065294 not in 0 .. 130694993 [IndexError]
any suggestions to get rid of the above-mentioned error?

Chromosome 10 is 130694993 bases long and that variant is way past that. I should handle and report this error better in duphold, but this seems like a bigger problem upstream with svaba.

I am going to close this as not a duphold issue. Please re-open if you find otherwise.


Details about the code for the sample strategy

Hi, @wenhaomin
I was studying your code and noticed that you use three methods in the sample_strategy, namely 'ddim_multi', 'ddim_one' and 'ddpm'. I would like to ask which method is used in the paper?
Looking forward to your reply, thank you!

And why use ‘ddpm’ when training and ‘ddim_multi’ when testing in code?

So, using ddim_multi during training will also make it faster, right?


Deprecate CredentialTypeKeyPair

We should deprecate the use of CredentialTypeKeyPair and switch to using CredentialTypeSecret for all types of Profiles.
The key pair was useful when we supported only S3/S3 Compliant Profiles with the AccessKeyID and SecretAccessKey combination. With the addition of IAM roles and other types of credentials, we have switched to using a K8s secret. This should be made the default for all Profiles.

🚀


Only query tag trigger update callback timer

Thanks for the lib, it works like charm 😄
Btw, I read the code and see only the query tag from init.js (https://github.com/WebReflection/sqlite-worker/blob/main/esm/init.js#L96) triggers the update callback timer.
I tried the transaction tag and it doesn't work
// no ?module needed, it's the main export in unpkg
import { init } from "//unpkg.com/sqlite-worker";

// `dist` option resolved automatically via import.meta.url
init({
  name: "my-db1",
  update(uInt8Array) {
    console.log("updated", uInt8Array);
  },
}).then(async ({ all, get, query, raw, transaction }) => {
  const table = raw`todos`;
  await query`CREATE TABLE IF NOT EXISTS ${table} (id INTEGER PRIMARY KEY, value TEXT)`;
  const { total } = await get`SELECT COUNT(id) as total FROM ${table}`;
  if (total < 10) {
    console.log("Inserting some value");
    await query`INSERT INTO ${table} (value) VALUES (${"a"})`;
    await query`INSERT INTO ${table} (value) VALUES (${"b"})`;
    await query`INSERT INTO ${table} (value) VALUES (${"c"})`;
  }
  const insert = transaction();
  for (let i = 0; i < 10; i++)
    insert`INSERT INTO todos (value) VALUES (${"Ipsum " + i})`;
  await insert.commit();
  console.log(await all`SELECT * FROM ${table}`);
});

Can we export a defer update function, save function to manual trigger save ?
Thanks

I wonder if exporting explicitly that save instead would be a better option ... and btw, these days I suggest https://github.com/WebReflection/sql.js instead, where you can add sqlite-tag or any other extra logic you need. It works in both main and workers too.

Oh I see, but this repo like a heavy lifting about "worker messaging", it's like a shortest way to kick start and use sqlite wasm in worker. So I think this repo is still good as its purpose.
Yah, exporting save is good enough option :) Until that, I think have to use the trick
await query`SELECT 'update' as ok`;

Thanks

await query`SELECT 'update' as 1`;

probably, but that's why I think the current "magic handler on changes" is too magic ... having a whole scan/parser for the syntax feels overkill, not having it might always allow hacks or fail in some occasion ... explicit is better than implicit as users writing queries surely know when they want these to be updated, me delaying an interval after guessing some action feels ... meh ...

Before searching your repo, I think I will use sql.js export with a timer for checking checksum the Uint8Array then saving to storage. Even checksum crc32 is good for detecting changes. Just an idea :)

thing is ... timers get easily discarded when you unload a page while IndexedDB operations that have been already triggered might get some time to complete their operation before the browser fully discard that page ... so timers might not a robust solution, but then again I am not sure there are guarantees with IDB transactions neither, but I expect that to be the case.


The photo preview

Author:
hello, I want to click on the camera, screen display photos of images on the current interface directly, also is the effect of preview, I can now achieve is the photo of the data to the next screen, display, but not like a regular camera in the current page, could you tell me how to do?Which attributes can be achieved or is it?

i need this.

I think this is what you are looking for
https://github.com/spencercarli/react-native-snapchat-clone/blob/master/app/routes/Camera.js

This issue is closed because of inactivity.
Furthermore RCTCamera is deprecated now, use RNCamera instead. If this issue is also related to RNCamera, please open a new one.


Update k8s-toolkit.md

@cfusterbarcelo @oeway
Could you both please double check that the k8s info is sufficient?


[Bug]: Deleted or non-existent project fails Observe when crossplane.io/external-name set.

Is there an existing issue for this?

[X] I have searched the existing issues

Affected Resource(s)
cloudplatform.gcp.upbound.io/v1beta1 - Project
Resource MRs required to reproduce the bug
apiVersion: cloudplatform.gcp.upbound.io/v1beta1
kind: Project
metadata:
  annotations:
    crossplane.io/external-name: PROJECT-ID
  name: PROJECT
spec:
  forProvider:
    name: PROJECT
    projectId: PROJECT-ID

Steps to Reproduce
Install Crossplane and provider-gcp-cloudplatform
Deploy the MR
What happened?
Expected: the Project will be created
Actual: the Observe phase fails with an error
Relevant Error Output Snippet
ReconcileError: observe failed: failed to observe the resource: [{0 the user does not have permission to access Project "{PROJECT-ID}" or it may not exist  []}]

Crossplane Version
1.16
Provider Version
1.3.0
Kubernetes Version
No response
Kubernetes Distribution
GKE
Additional Info
It looks like this may be expected behavior from GCP, passed through Terraform. https://github.com/hashicorp/terraform-provider-google/pull/6729 https://github.com/hashicorp/terraform-provider-google/blob/v5.19.0/google/services/resourcemanager/resource_google_project.go#L286-L301
The provider will need to interpret the error appropriately.

Hello! We have the same issue!
Do we know when there is likely to be a fix for this? We cannot create gcp projects without removing the external name


PULL_REQUEST_TEMPLATE: Encourage maintainers to test cross-building

Motivation for this change
At the current state of things, if feels like cross-building packages (eg.  nixpkgs.crossSystem = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; }) break quite often or is quite often already broken.
This change hopes to encourage package maintainers to test for cross-building of packages as part of testing pull requests.

Cross-platform is too wide, there are too many different archs to compile to. We also do not have any cross CI (I don't count the cross Hydra set for master, its not used for gating). We first need to define what archs to support (Tier 2 if I am correct, see https://github.com/NixOS/rfcs/pull/46).
If you need stability I suggest sticking to a stable release.

If you need stability I suggest sticking to a stable release.

The issue is that stable releases usually don't build cross-platform without patching over issues through overlays and the like, hence this PR.

Cross-platform is too wide, there are too many different archs to compile to. We also do not have any cross CI (I don't count the cross Hydra set for master, its not used for gating).

The issue I encounter the most when dealing with cross-build issues is that dependencies are not correctly defined, eg. using buildInputs instead of nativeBuildInputs or using perl instead of buildPerl. These issues should show when building against basically any foreign platform. We don't need to have an air-tight solution here to remove a lot of issues from the current state of things.

We don't need to have an air-tight solution here to remove a lot of issues from the current state of things.

That I agree with.

The issue I encounter the most when dealing with cross-build issues is that dependencies are not correctly defined, eg. using buildInputs instead of nativeBuildInputs

Here using strictDeps = true; throughout would help a lot. Basically one large PR setting strictDeps = true; for all packages that we can cross-compile already would probably go a long way for keeping them working. Maybe we should ask authors to set that attribute?

I am always for being more strict / precise when defining dependencies, but I would estimate that this roughly breaks a shitload of builds with not always obvious solutions, so I doubt a lot of maintainers are willing to go the extra mile if they don't have to.
On the plus side, it seems that @GrahamcOfBorg is willing to build crossPkgs if asked for it. Maybe it would be good if maintainers regularly checked for that when reviewing merge requests?

I am always for being more strict / precise when defining dependencies, but I would estimate that this roughly breaks a shitload of builds with not always obvious solutions, so I doubt a lot of maintainers are willing to go the extra mile if they don't have to.

Setting it in the stdenv, probably, but setting it for packages that currently cross-compile, clearly no. Obviously that is an effort.

Maybe it would be good if maintainers regularly checked for that when reviewing merge requests?

This is just shifting work to others.
I am closing this PR.


Put the private action type into actionType.js

Thanks, but this is intentionally not stored. The probe action is intended to be thrown away and not re-used.


command not found trying to execute navi on windows

Describe the bug
Error message: /bin/bash: line 1: c:binnavi.exe: command not found
My executable is of course in c:\bin\navi.exe but something is going wrong with backslashes parsing.
To Reproduce
Just trying to use it in the simplest way on Windows > cmd.exe.
C:\Users\me>navi.exe
Expected behavior
Default working behavior
Screenshots

Versions:

OS: [WSL ubuntu]
Shell Version windows 11 cmd.exe

I described a workaround for this problem in #794
It enables almost all previewing capabilities of navi when using bash on windows
The workaround can probably also be used for other shells when the environment variables are set correctly


Explicitly require setuptools, fiona/fio/main.py and tests/test_fio_info.py imports pkg_resources

Instead of adding setuptools to the install_requires, it might be the better option to remove it's usage in fiona/fio/main.py. The setuptools docs also say it is discouraged in favor of stdlib importlib (https://setuptools.readthedocs.io/en/latest/pkg_resources.html), or otherwise there are also dedicated alternatives like entrypoints (https://entrypoints.readthedocs.io/en/latest/index.html).

Yes, that's certainly also another option for how to do this. The reason why I opened this PR is that in Fedora we introduced this change (https://fedoraproject.org/w/index.php?title=Changes/Reduce_dependencies_on_python3-setuptools). We would like packages to explicitly state that they require setuptools on runtime. We identified about 200 packages with missing setuptools in install_requires and we tried to help upstream to put it there to avoid any future breakages in Fedora. I am sorry, but I cannot dedicate more time to do it the way you propose.

I am sorry, but I cannot dedicate more time to do it the way you propose.

No problem, and thanks a lot for bringing it up, as it's currently indeed a missing requirement

Let's require setuptools for 1.8.20 (see #1014) and switch to importlib in the future.


Make TaskReportContainer public to ease implementation of ReportContainer

Expected Behavior
3rd party code quality plugins can implement TaskReportContainer.
Current Behavior
3rd party code quality plugins cannot implement TaskReportContainer as it's part of the internal package namespace.
Context
The docs for Reporting say to implement the reporting interface just do the following:
class MyTask implements Reporting<MyReportContainer> {
    // implementation
}

But to implement the interface an implementation for approximately 40 methods is required.
Gradle's code quality plugins can take advantage of internal class TaskReportContainer which simplifies things greatly, but as it's part of the internal API it's not available to well-behaved 3rd party plugins.
Steps to Reproduce (for bugs)
N/A
Your Environment
Trying to implement ReportContainer in detekt.

The Reporting interface isn't really intended to be implemented outside of the Gradle core plugins. We certainly could make it possible to implement it using only public types or methods. We probably wouldn't do this by making the TaskReportContainer type public but might instead provide factory methods for creating ReportContainer instances.
However, I think it might be better to reconsider the report APIs so that the reports generated by a task are described using the same pattern that we use to describe other kinds of inputs and outputs, rather than this entirely different pattern. For example, introducing an @OutputReport annotation.
It might be better to change the title of this issue to something like "make it possible for tasks and plugins to generate custom reports".

Tasks can already generate reports. The only thing that Reporting really provides is a semi-consistent mechanism for users to configure report generation for a task. There are potentially other useful things that Gradle could do with the knowledge of where a task produced its reports, but it doesn't today.
The title should probably be “make it possible for tasks to allow configuring their reporting in a consistent manner” or some such.

@3flex apologies, I was more responding to @adammurdoch's comments.

If Reporting is only intended to be implemented by the core plugins, that means the Build Dashboard is intended for core plugins only as well?

Effectively, yes. I would be surprised if anyone is seriously using the build dashboard plugin.
I agree with you that the current situation is unfortunate and unkind. In your case, what is motivating you to use Reporting? Anything in particular? Or are you just trying to follow the lead of the core plugins?

I would be surprised if anyone is seriously using the build dashboard plugin.

I agree, just pointing out that the docs there also make it seem like a 3rd party code quality plugin would want to implement Reporting to show up in the dashboard, because why wouldn't other tools want closer integration with built-in Gradle features? (not being rude, just stating my thought process - reading things like that in the docs provide motivation for me to "do the right thing", because who knows which other features in future might also require Reporting to be implemented).

trying to follow the lead of the core plugins

Exactly this - guided by what looked like a recommendation from the docs.  Seems it shouldn't have been too hard to have the custom task implement ReportContainer and expose config for a single xml and html report which only required customisation of their destinations based on this example.
Simplest thing for now would be to update the docs and remove references to implementations that aren't feasible, and possibly also state in docs that certain interfaces are documented publically but only intended to be implemented internally. Request to make TaskReportContainer public was a moonshot :)
A factory to create a ReportContainer would be welcome but I doubt it's valuable enough to justify building and maintaining.

Thanks for clarifying.
Part of the problem here is that Reporting doesn't work very well. It's cumbersome to implement and is awkward for a bunch of uses. If it was really good, we'd be much more enthusiastic about opening it up because there is no good reason why explicit modelling of reports should be confined to core tasks and good reasons for having a comprehensible pattern here.
I'll take a look at the docs. In the meantime, I suggest modelling your reporting however best makes sense for your task.

@oehme 5.1 breaks the spotbugs plugin due to internal API usage. Given that these containers are effectively immutable, the callback decoration doesn't buy all that much here.
Options:

Do nothing, put the onus on the spotbugs plugin to fix by not using TaskReportContainer
Put back the original constructor by not decorating for TaskReportContainer
Put back the original constructor and leave the new one there (i.e. just don't decorate for third party usage)
Put back the original constructor and get the decorator via some side mechanism

I think we should do 2 for 5.1, given that we effectively endorse the spotbugs plugin.

@oehme can you give some guidance on whether we do this for 5.1 or not please.

OK, @breskeby is on it.

I fixed this as suggested and added a smoketest in PR at https://github.com/gradle/gradle/pull/8076

Thanks for the quick turnaround! I guess this will go on the next 5.1 nightly

Same issue was raised against ktlint-gradle:
https://github.com/JLLeitschuh/ktlint-gradle/issues/349

Over five years since this issue was opened and still no solution for reporting from plugins. Over the years I just took the hit and implemented the ReportContainer interface. While it might not have been intended for clients to implement, I prefer the consistent integration with the built-in plugin report handling to waiting, and waiting, and waiting...


Some small formatting and minor fixes

Mostly just standardizing formatting

Hi @ArmaanB
Thanks for the pull request. Can you check the conflicts with the latest merge we did?

That should be conflict free and merged correctly


Documentation for Camera Container

While experimenting with cameras, I by happenstance discovered a Camera Container API which is definitely in the code but not mentioned anywhere in the official docs.
Is this API considered stable enough to document at this point, or is it still experimental?

I'll try to write a documentation soon.


Statically set GH runner image to ubuntu 22.04 for tests

'ubuntu-latest' now references ubuntu 24.04.
Previously, it referenced 22.04.
Potential short term measure to unblock GH CI.
Failures for ubuntu 24.04 can be seen here: https://github.com/ovn-kubernetes/ovn-kubernetes/pull/4914

cc @ormergi if you need a commit to unblock the CI

Issue created to revert this: https://github.com/ovn-kubernetes/ovn-kubernetes/issues/4919


Cache Issue fixed #12 #18

#12 #18

Clears the cache when clearCache set true

Clears the cache when clearCache set true

Where is this property?


Nuitka to reduce RAM usage by unused imported code

I have some services written in python. The services is using a lot of RAM due to imports (every import seems to be loading the whole imported library to RAM, even though I'm only using a fraction of it. Python is interpreted, so it doesn't know in advance what parts of the library I'll use, and just brings everything).
Nuitka compiles the python code. So I was hoping that if I used it my program would use less RAM.
In practice, this is what I got:
program 1 - takes ~10MB in python and ~12MB after compilation with Nuitka:
while True:
    time.sleep(1)
    print("Hello")

program 2 - taks ~28MB in python, and ~41MB after compilation with Nuitka:
from flask import Flask

while True:
    time.sleep(1)
    print("Hello")

It seems that - despite the compilation - Nuitka is loading all the imported code - even that which I won't use. Is this true?

Yes, Nuitka is very compatible with Python and optimizing for performance, not for RAM usage. The C code is a lot larger than bytecode. Your best choice is Python there.

Thanks you!


loadOnCreated should check if optionsLoader is function before calling it.

Reproduction
https://formkit.link/753caf37d11f88223f1c5cf203ce7c6a
Describe the bug
load-on-created immediately calls the optionsLoader assuming it is a function, but in some cases, this isnt true.
Environment
• OS: macOS
• Browser: Chromium
• Version: 1.6.x

@justin-schroeder This is resolved at FormKit Pro v0.126.12


bump: [#4684] Update multiple dependencies inside internal libraries to latest version

Addresses #4684
#minor
Description
This PR updates multiple dependencies that are used inside all internal libraries (botbuilder-repo-utils, botbuilder-test-utils, root package.json, etc.) to their latest version.
Specific Changes

Added clean:node_modules command in the root package.json so it is easier to remove node_module folders recursively.
Removed test:runtime from the test command, as it was duplicated.
Fixed issue with babel-traverse resolution, as it was colliding with the actual @babel/traverse package.
Removed typescript 4.6 from the test:consumers script.
Updated mocha, lodash, nyc, logger, shx, typedoc, ts-node, source-map, zod, axios, dotenv, xmlbuilder, should, random-js, promise, nock, uuid, mime, and others, to their latest version.
Some packages weren't updated due to presenting issues/limitations in newer versions, so we will tackle them individually in a separate PR.

Testing
This PR does not contain testing images, since the changes can be validated by the internal process (CI pipelines).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 84.997%

Totals

Change from base Build<PHONE_NUMBER>4:
0.6%

Covered Lines:
20351

Relevant Lines:
22910

💛  - Coveralls