Bluetooth HCI driver location & Kconfig restructuring

This primarily affects local Link Layer drivers, but the first bullet relates to all HCI drivers.

We only have one type of Bluetooth drivers, namely HCI drivers, so the drivers should move from drivers/bluetooth/hci/ to simply drivers/bluetooth/. This is also in line with the fact that the corresponding header file is include/zephyr/drivers/bluetooth.h.
BT_CTLR should be, as per its definition, used for all cases where you have a local LL. Until now only Nordic has taken advantage of it, both for the upstream native LL as well as their downstream SD LL.

Remove BT_LL_CHOICE
Make BT_CTLR a virtual option that's selected by users (like BT_LL_SW_SPLIT or any other "local controller" HCI driver)
Use default y for anything that depends on a status = "okay"; in DT (like BT_LL_SW_SPLIT)
Remove any current explicit enabling of CONFIG_BT_CTLR=y in prj.conf files, since it's now auto-enabled based on DT. Explicit CONFIG_BT_CTLR=n may be necessary in some places.
Remove this redundant pattern which seems to exist in many Kconfig.defconfig files:

 config BT_CTLR
 	default BT

The reason it's pointless is that BT_CTLR already depends on BT and now that it'll get automatically selected there's no point in doing these tricks anymore.

I'll close this as most of it was already implemented by #82157 and the rest will be likely done differently than what this issue describes (e.g. it looks like the controller driver doesn't need to move anywhere)


fix: add additional checks to see if auth config is configured

each auth config has to be non-nil due to the way the flag package sets properties for these structs, so just checking that they aren't nil isn't enough to determine whether or not basic / oidc auth is configured.

Codecov Report

Merging #131 (ad61985) into main (e5c4439) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #131   +/-   ##
=======================================
  Coverage   95.57%   95.58%
=======================================
  Files          19       19
  Lines        2036     2040    +4
=======================================
+ Hits         1946     1950    +4
  Misses         68       68
  Partials       22       22

Impacted Files
Coverage Δ

common/client.go
100.00% <100.00%> (ø)

common/client_basic_auth.go
100.00% <100.00%> (ø)

common/client_oidc_auth.go
93.10% <100.00%> (+0.51%)
: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 e5c4439...ad61985. Read the comment docs.


T2 support?

Any chance to add T2 support?

This is meant for iOS. Just curious, what would be the point of this for T2?

Access the root system or we can ssh the device, can you please add support for it as non of the ramdisk methods work on it. I have tried different ramdisks on T2, one thing more if the ramdisk is larger than 110mb on T2 it doesn’t load at all.


Neogit not workign after update - neogit has not been setup

Description
I am not sure, which version i was using it, but it was working really well for last couple of months. and today just when I upgraded it. it's showing me following error.r
I am using lazy to install the plugin.
 return {
    "NeogitOrg/neogit",
    dependencies = {
      "nvim-lua/plenary.nvim",         -- required
      "sindrets/diffview.nvim",        -- optional - Diff integration
      -- Only one of these is needed, not both.
      "nvim-telescope/telescope.nvim", -- optional
      "ibhagwan/fzf-lua",              -- optional
    },
    config = function()
      require("neogit").setup()
    end,
    cmd = "Neogit",
    -- event = "VeryLazy"
  }

Neovim version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1713773202
Operating system and version
macos 14.5
Steps to reproduce
use this configuration  and ttry to run Neogit command.
 return {
    "NeogitOrg/neogit",
    dependencies = {
      "nvim-lua/plenary.nvim",         -- required
      "sindrets/diffview.nvim",        -- optional - Diff integration
      -- Only one of these is needed, not both.
      "nvim-telescope/telescope.nvim", -- optional
      "ibhagwan/fzf-lua",              -- optional
    },
    config = function()
      require("neogit").setup()
    end,
    cmd = "Neogit",
    -- event = "VeryLazy"
  }

Expected behavior
error.
Neogit has not been setup!
Actual behavior
should open the neogit in split window.
Minimal config
return {
    "NeogitOrg/neogit",
    dependencies = {
      "nvim-lua/plenary.nvim",         -- required
      "sindrets/diffview.nvim",        -- optional - Diff integration
      -- Only one of these is needed, not both.
      "nvim-telescope/telescope.nvim", -- optional
      "ibhagwan/fzf-lua",              -- optional
    },
    config = function()
      require("neogit").setup()
    end,
    cmd = "Neogit",
    -- event = "VeryLazy"
  }

I recommend updating to nvim 0.10.x and see if that sorts things out :)

I recommend updating to nvim 0.10.x and see if that sorts things out :)

Update the neovim to 0.10.1 and everything works
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1720049189


Plugin fails with "Illegal character in path" if sub-module references ${project.groupId}

Version 2.7
Maven 3.6.0
testcase.zip
Repro steps:

Extract testcase
Run "mvn versions:display-dependency-updates versions:display-plugin-updates versions:display-property-updates"
Plugin will fail with:

[ERROR] Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.7:display-plugin-updates (default-cli) on project submodule: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.7:display-plugin-updates failed: Illegal character in path at index 38: https://repo.maven.apache.org/maven2/${project/groupId}/test/maven-metadata.xml -> [Help 1]

Notice that ~/.m2/${project/groupId}/test is created

Expected behavior:

${project.groupId} should result to testcase
Repository directory should not be created

I have the same problem, with a similar set-up (using a plugin with ${project.groupId}, because the plugin uses the same versioning system as the parent POM and the other submodules). It seems that property-replacement is not performed in this case.

Cannot reproduce anymore. I guess this must have been fixed. I suggest to close this. @slachiewicz

@ajarmoniuk What (released) versions did you test this against?

2.12.0, but now I've also tried with 2.7.0 and didn't see the error either. Could you please retest and attach the output with the -X switch?
Btw, you don't need to run display-dependency-updates or display-property updates if they're not the ones that are failing.


Change colorize gem to rainbow, reason: License

colorize uses GLP-2
The GPL licenses include a strong copyleft clause, which could cause to the user to be required to publish the source code.

I still need to validate performance in that scenario I mentioned. I will do that shortly. Thanks @arturictus


PacReq: peazip-gtk2-bin, peazip-qt-bin, peazip-qt5

Types
-bin (Binary release of the package), -deb (Debian achieve release of the package)
URL
https://aur.archlinux.org/packages/peazip-gtk2-bin
https://aur.archlinux.org/packages/peazip-qt-bin
https://aur.archlinux.org/packages/peazip-qt5
Building guide
No response
Additional context
No response

Any news?

Well they have no apimage, i build it by my self.


Scope of disposal and cancelation

Does disposing a HttpClient object dispose any HttpResponseMessage objects (and their HttpContent objects) that it has created? Does HttpClient.CancelPendingRequests cancel HttpContent.ReadAsStringAsync on objects it has created? Does a cancellation token passed to HttpClient.SendAsync apply to HttpContent.ReadAsStringAsync?
In general, the scoping rules regarding disposal and cancelation need to be better documented. It would appear that there is at least some interconnection; otherwise, one would expect the async methods in HttpContent to take a cancellation token. But the docs don't say what the rules are.

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

ID: 7ef78901-be85-0439-819b-39a792a34672
Version Independent ID: 5505e40d-6767-b131-4b42-0b92634b6fa4
Content: HttpMessageInvoker.Dispose Method (System.Net.Http)
Content Source: xml/System.Net.Http/HttpMessageInvoker.xml
Product: .net
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

A related question regards the scope of HttpClient.Timeout: When it says that "the same timeout will apply for all requests using this HttpClient instance," does that apply only to calls like HttpClient.SendAsync, or also follow-up calls like HttpContent.ReadAsStringAsync?


Rename env variable to correct env variable used in atom

The environmental variable ATOM_SHELL_INTERNAL_RUN_AS_NODE was renamed in the atom source code to ELECTRON_RUN_AS_NODE a while back, but was apparently never changed in the
platformio-terminal code. Changing ATOM_SHELL_INTERNAL_RUN_AS_NODE to ELECTRON_RUN_AS_NODE in the lib/process.coffeefile seems to resolve the issues people have been having not being able to run various commands in the terminal.

@ivankravets It looks like this will fix #178 #177 #157 #146 #135 #128 #112 #103 #92 (strangely enough) and possibly #175 #51

Thanks a lot!

@Fred-Barclay unfortunately it wont for many of those on windows. The issue is that 'env' variable does not get passed properly or sent to the terminal instance, and I traced it down to pty.js being VERY outdated with tons of known issues.
See https://github.com/Microsoft/vscode/issues/13625 notably, which leads to node-pty being the only currently maintained pty fork that I could find.

I have confirmed that 2.4.0 did NOT fix atleast #112

Does not fix #51


[perf] Migrate @azure-tests/perf-core-rest-pipeline to ESM

Packages impacted by this PR

@azure-tests/perf-core-rest-pipeline

Issues associated with this PR

https://github.com/Azure/azure-sdk-for-js/issues/31338

Describe the problem that is addressed by this PR
Migrates @azure-tests/perf-core-rest-pipeline to ESM via tshy
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

/azp run js - pullrequest

/azp run js - pullrequest


The balloon policy can't adjust CPU frequency

I use the below configmap:
apiVersion: v1
data:
  nri-resource-policy.cfg: |
    policy:
      Active: balloons
      ReservedResources:
        CPU: 750m
      AvailableResources:
        CPU: cpuset:0-27,56-83
      balloons:
        BalloonTypes:
          - Name: "b0"
            MinCpus: 4
            MaxCPUs: 4
            CPUClass: low
            MinBalloons: 2
    cpu:
      classes:
        default:
          minFreq: 1600000
          maxFreq: 1600000
        high:
          minFreq: 3000000
          maxFreq: 3000000
        low:
          minFreq: 1000000
          maxFreq: 1000000
        turbo:
          minFreq: 3000000
          maxFreq: 3600000
    logger:
      Debug: resource-manager,cache,policy,resource-control
    instrumentation:
      HTTPEndpoint: :8891
      PrometheusExport: true
kind: ConfigMap
metadata:
  name: nri-resource-policy-config
  namespace: kube-system

After creating the balloon policy deployment, I can see the balloons are created successfully:

But the CPU frequency of them doesn't be adjusted:

The CPU frequency should be adjusted to 1GHz as the configmap showed.
Further more, I try to create a nginx pod:
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  annotations:
    balloon.balloons.resource-policy.nri.io: b0
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80
    resources:
      requests:
        cpu: "4"
        memory: "100M"
      limits:
        cpu: "4"
        memory: "100M"

Also, the CPU frequency doesn't be adjusted. And the log of the NRI pod:

I have tested the CRI-RM balloon policy on the same machine. The CPU frequency can be adjusted correctly. So I suppose that maybe this is a bug in the NRI balloon policy.

Any insight @askervin @jukkar ?

Is there any pre-request for deploying nri-balloon policy?
Such as:
OS - Ubuntu/CentOS
CPU driver - intel_cpuacpi / intel_pstat
Governor - performance/powersave/...
EPB - performance/normal/...
Intel_uncore_frequency driver - enable/disable
Hope you guys can provide some suggestions?

Is there any pre-request for deploying nri-balloon policy? Such as: OS - Ubuntu/CentOS CPU driver - intel_cpuacpi / intel_pstat Governor - performance/powersave/... EPB - performance/normal/... Intel_uncore_frequency driver - enable/disable
Hope you guys can provide some suggestions?

We should add some prerequisites or BKM for the nri-balloon policy.

We can run the nri-balloon policy out of the container directly:
sudo sh -c "NODE_NAME=$(hostname) ./build/bin/nri-resource-policy-balloons --fallback-config  ./build/bin/fallback.cfg --kubeconfig /home/ubuntu/.kube/config --metrics-interval 2s"

But the CPU frequency is not adjusted. After some investigation, I found that the CPU controller doesn't start. I added some debug code like this:

The "getCPUController().started" is false. Further, I added some debug code like this:

The debug info didn't appear in my terminal. Therefore, I suppose that the CPU controller didn't start yet.
Hope this can help to debug.

@changzi1990 Yes, the original controllers are not hooked into the infra ATM at all. We'll take a look at fixing that.

@changzhi1990 This should be now fixed in the 0.1.0-tagged first release and also in the latest main/HEAD. Please take it for a spin.

Hi @klihub , thanks for your reply. I have tried the 0.1.0-tagged and I encounter some problems with the doc. In addition, I have fixed them here https://github.com/containers/nri-plugins/pull/88.
After deploying the balloons policy successfully, the CPU frequency still can't be adjusted. Here is the detailed info:
kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kube-system

images:
- name: '*'
  newName: ghcr.io/containers/nri-plugins/nri-resource-policy-balloons
  newTag: unstable

resources:
- ../../base/crds
- ../../base/nri-resource-policy
- sample-configmap.yaml

patches:
  - patch: |-
      - op: replace
        path: /spec/template/spec/containers/0/name
        value: nri-resource-policy-balloons
    target:
      group: apps
      version: v1
      kind: DaemonSet
      labelSelector: "app=nri-resource-policy"
    options:
      allowNameChange: true

sample-configmap.yaml
apiVersion: v1
data:
  policy: |+
    Active: balloons
    ReservedResources:
      CPU: 888m
    balloons:
      BalloonTypes:
        - Name: "b0"
          MinCpus: 2
          MaxCPUs: 8
          CPUClass: low
          MinBalloons: 2
  cpu: |+
    classes:
      high:
        minFreq: 30000000
        maxFreq: 30000000
      low:
        minFreq: 10000000
        maxFreq: 10000000
      turbo:
        minFreq: 30000000
        maxFreq: 36000000
  logger: |+
    Debug: resource-manager,cache,policy,resource-control
  instrumentation: |+
    # The balloons policy exports containers running in each balloon,
    # and cpusets of balloons. Accessible in command line:
    # curl --silent http://localhost:8891/metrics
    HTTPEndpoint: :8891
    PrometheusExport: true

kind: ConfigMap
metadata:
  name: nri-resource-policy-config.default
  namespace: kube-system

Here is the log of the nri pod.
log.txt
In addition, here is the metrics info:

The CPU frequency still doesn't adjust:

@jukkar please take a look at this log
debug_log.txt

Hi @changzhi1990,
I tried this by building latest nri-plugins (commit 66846cb397314376bc8269ce0549387c89bcc595) and latest containerd in release/1.7 branch (commit 6d148fb319755c7787dfc8eca56d6b5ff4fce9b2).
I applied your config map, though added ,cpu to the end of the Debug: ... line. You might wish to add this to your fallback configuration and configmap in order to get log.Debug() messages from the cpu controller.
I deployed the balloons plugin so that it's launched with following command line arguments:
      containers:
        - name: nri-resource-policy-balloons
          args:
            - --host-root
            - /host
            - --fallback-config
            - /etc/nri-resource-policy/nri-resource-policy.cfg
            - --pid-file
            - /tmp/nri-resource-policy.pid
            - -metrics-interval
            - 5s
            - --enable-test-apis
          ...
          volumeMounts:
          - name: hostsysfs
            mountPath: /host/sys
         ...
      volumes:
      ...
      - name: hostsysfs
        hostPath:
          path: /sys
          type: Directory

(--host-root and --fallback-config are important for this)
Then I...

created a pod into balloon b0
modified frequencies of the high CPU class (from 30000000 to 20000000) in the config map
kubectl applied new config map
4.. observed following lines in the plugin output:

# kubectl logs -n kube-system nri-resource-policy-jqfrr
...
I0707 12:09:01.982074       1 cpu.go:141] enforcing cpu frequency limits {20000000, 20000000} from class "high" on [2 3 4 5]
E0707 12:09:01.982116       1 cpu.go:261] cpufreq enforcement on re-configure failed: Cannot set min freq 20000000: open /host/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq: no such file or directory

I was running this trial in a nri-plugin e2e virtual machine, so this was an expected error message as there is no cpufreq in the guest os (directory /host/sys/devices/system/cpu/cpu2/cpufreq is missing). But this at least showed that at least some of expected CPU frequency updates are in place. (strace -e trace=openat -f -p $(pidof nri-resource-policy-balloons) showed that the policy indeed tried to open this file for writing).
I'll do more thorough analysis next week in order to see that all expected CPU frequency updates take place.

Hi, any progress with this issue?
@askervin

@daisy-ycguo this should now be fixed, in v0.1.0 release. Could you report back if it works as expected?

Hi, I have no enough time to test it currently, I will test it as soon as possible.

@daisy-ycguo this should now be fixed, in v0.1.0 release. Could you report back if it works as expected?

As discussed with @askervin, the balloon policy can adjust the CPU frequency in the v0.1.0 version. Meanwhile, we find another issue at https://github.com/containers/nri-plugins/issues/99. And close the current issue. Thanks all!


Bug!! progress is not saving after successfully completing the project challenge.. help!!

Describe the Issue
In Back End Development and APIs project challenge. When I successfully complete a project and submit it, no response appears...and the page does not redirect to the next challenge..
Affected Page
https://www.freecodecamp.org/learn/back-end-development-and-apis/
Steps to Reproduce
i don't know about this step...
Expected behavior
In the previous challenges, I was successful in completing them and submitting them. I was receiving a response indicating the progress of my challenge completion. I was then redirected to the next challenge ...
But now the response is no longer showing nor am I being redirected to the next challenge even though I have passed all the test cases.
Screenshots

as you can see all the test cases have passed ....but no response...
System

Device: [windows, Laptop]
OS: [ Windows 11]
Browser: [ Chrome]
Browser Version: [15.0.5790.171]

Additional context
No response

Link to the project from image: https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice
Does this happen for you only on this project?

no, not only for this ..This is happening for all the projects challenge
after "Timestamp Microservice"...  [image: Screenshot 2023-08-12 174932.png]
On Sat, 12 Aug 2023 at 17:28, Krzysztof G. @.***> wrote:

Link to the project from image:
https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice
Does this happen for you only on this project?
—
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/51242#issuecomment-1675874771,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4XKTPLBC6X3VYG2LMHAGDLXU5VXHANCNFSM6AAAAAA3NZSLYY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Do you get the modal if you are not signed in and submit it?
Your project is online correct? You can pass all the tests and still get the "Remember to submit a publicly visible app URL." message that is telling you it must be online (like on Replit or Glitch).

ohh yeah!!... Now I see it...I was using localhost://3000. That's why it
didn't work, but after using Replit's public URL it worked.
Thank you very much...
On Tue, 15 Aug 2023 at 02:48, Lasse Jørgensen @.***>
wrote:

Do you get the modal if you are not signed in and submit it?
Your project is online correct? You can pass all the tests and still get
the "Remember to submit a publicly visible app URL." message that is
telling you it must be online (like on Replit or Glitch).
—
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/51242#issuecomment-1678079003,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4XKTPN4U3AGM6XKGZ7NB5LXVKI3ZANCNFSM6AAAAAA3NZSLYY
.
You are receiving this because you authored the thread.Message ID:
@.***>

The problem is now clear to me. I'm closing this issue because it's resolved..if anyone has the same problem..don't use a local URL from your machine..
You can either deploy it and then submit it, or you can use replit..


D2D port fixes

Fix the over-release issue with a ID2D1PathGeometry object and update the test app from a D2D test sample source.
The over-release issue can be fixed by avoiding a copy of an D2DSVGPath but to make D2D objects generally copyable and handle lifetime issues all D2D objects are now wrapped by a smart pointer (CComPtr). The only downside here is that CComPtr is part of Windows' Active Template Library (ATL) which might not be available everywhere.

Code looks good to me an I am going to merge it. Could you work on the CircleCI integration as well or shall I @qrb7xc ?


Explain the ## operator (or make the explanation easier to find if it exists)

As per @jsjoeio in discord:

Follow up question: what is this operator called ##?

yawaramin: that's JavaScript property access
@anmonteiro linked to https://bucklescript.github.io/docs/en/object-2#accessors

Ahh! Thank you @yawaramin and thanks for the link @anmonteiro ! I was looking on <reasonml.org>

Just to be clear, the same information is available on reasonml.org: https://reasonml.org/docs/reason-compiler/latest/object-2#accessors
I am not sure how to highlight the ## syntax, except finally finding better names for the Object and Object 2 pages. Any ideas on how to find it more easily are highly appreciated!

A few thoughts that might help:

The search doesn't work on the site. In the idea world, I would search ## and be lead to this page on "Accessors"

Add a description to "Accessors" - notice how it goes straight to "read" without telling me what it is or why I would use it

Yes I agree with you, we should find better names than Object and Object 2 😂 There has to be a name that is used to distinguish the two under the hood i.e. in the compiler right? One thought is to consolidate all the information from Object and Object2 into one category called Object

Due to the move to ReScript, the ## is obsolete and the Object 2,.. section got refactored into a unified object section.


(EMAIL) Exhibitors - how_to_prepare_for_expo

Please schedule and send the attached emails.
EN: E-commerce Berlin Expo 2022 - are you all prepared? We’ve got some tips for you!
DE: E-commerce Berlin Expo 2022 - bist du schon vorbereitet? Wir haben einige Tipps für dich!
ebe6-how_to_prepare_for_expo.zip

@peterecommberlin OK
i will confirm NEXT WEEK
btw: status of unassigned account manager - i hope there is someone in charge of updating it

cc @jprzybylski4

@az fixed.
the odd thing with CoverGenius and Storyblok - we had added account managers a long time ago i think. Both of them have some additional packages (premium services)... maybe that's why they are listed here.

odd things (almost) never happen - just human failures :)
as i can see a company is not assigned to one of the purchases.....
company must be assigned to ANY purchase of tickets marked by role exhibitor (i assume vipzone ticket has a role exhibitor)

covergenius same story @peterecommberlin
ticket has role "exhibitor" - company should be assigned (otherwise we may encounter an error and the other side effect is that the company cannot see the big picture in their panel....only some purchases are visible)

just for the sake of clarity... i will drop you my pov on this. Maybe i'm wrong but would be good to be on the same page :)
Companies are allowed to order services like vip zone only if they are confirmed exhibitor. So... they already have one exhibitor account in the system (right?). If we turn on the EXPO button in the system then another one will be created, i think so?! To avoid the mess we didn't assign premium services to the exhibitor panel...

Companies are allowed to order services like vip zone only if they are confirmed exhibitor.

that is business (!!!!) perspective totally not represented here
that would be only true in "admin context" WHEN YOU'D UPGRADE main purchase (a "booth") with some other stuff (ideally with ticket with role other than exhibitor...like service_internal or service_external or empty role)....that would literally mean "an additional item has been purchased by an exhibitor"...its valid when you upgrade stuff via account.... OR book things internally in the name of a company (via upgrade button)....
we have other scenario here ... 2 independent bookings.
considering one example entity - COVERGENIUS
so at the moment you have 1 company (in business meaning!!!) but 2 exhibitors (and one is making problems when we are sending email newsletter)... why?
there are at least two separate registrations/purchases with tickets that are marked as "exhibitor" role (check the screenshot above) - this not considered as 1 company because one of the purchase has no company assigned (!)
from the admin side there 2 UNRELATED exhibitors (2 tickets with exhibitor role) but one has company assigned and the other not....
SO - the correct way of doing things is:

ONLY tickets that are represented on the booking map (with a space) should have an exhibitor role
All upgrades (from the business perspective) should have only service_internal or service_external role
Every PAID purchase should have a company assigned

@peterecommberlin @jprzybylski4

maybe you havent understood the "role" option of the tickets @peterecommberlin
role is not "who can buy it" (we dont have any of such things in our system)...... role is a static tag so we could perform some stuff (like get all exhbitors from all events) without thinking of the  ticket's name or the ticket's tag used .... exhibitor in every event has a ticket with role exhbitor, similar "presenter", "contestant" etc.... otherwise i would need to adapt the code to ticket ids, tags or names on every event change.... but the whole system is based on ticket roles ("static names") also sending the newsletters
sending newsletter is "get me all entities that purchased the tickets that has a role "exhibitor")
so the sending system took coffee snacks because of invalid role set....and shown an error because this "exhibitor" had no company assigned

@az account managers fixed in the new admin.
Regarding your slack message - could we please add the link to calendly as a variable / placeholder?
It would also be great if we could add the same link in the AM's footer for future emails.
DOMINIK: https://calendly.com/dominik-ebe
GEROME: https://calendly.com/gerome-ebe
MARTA: https://calendly.com/marta-ebe

@jprzybylski4 ok - we will expand the email footer with such info


Hide macOS dock icon

Hi!
I've managed to hide the dock icon, while keeping the menu bar. For me, the dock icon doesn't make much sense, cause the  best thing about the macOS app is the quick toggle between noise cancelling and ambient mode.
I have little experience with native Objective-C, but managed to hide the dock icon using following modifications:

in info.plist added LSUIElement String 1
in AppDelegate.mm added

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
    //new
    [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
    [NSApp setPresentationOptions:NSApplicationPresentationDefault];
    [NSMenu setMenuBarVisible:NO];
    [NSMenu setMenuBarVisible:YES];
    // end
    if (flag) {
        return NO;
    }
    else {
        [_window makeKeyAndOrderFront:self];
        return YES;
    }
}

Maybe we can manage the settings via menu bar?

@semvis123 is the expert here

Hi,
I created a similar software for the Parrot Zik headphone, and now I own a Sony headset. If you need to, I can help on this project:
https://github.com/vincent-le-normand/Parrot-Status
I tends to believe that it would be better to only offer one option: either show the dock icon for everybody, or for nobody. I'd vote for no dock icon, and the UI embedded in the menu, something similar to Big Sur control center.
If you want to change this setting programatically, it appears you should perform this way:
https://stackoverflow.com/questions/5382932/how-to-create-a-helper-application-lsuielement-that-also-has-a-removable-doc

Hi,
hiding the dock icon might be preferable for most users, but maybe other people want that fine control of the current gui interface. We could create some user preferences that could store things like,

dock icon visible,
menu bar icon visible,
menu bar icon quick toggle (as currently default)
menu bar full gui version,  all settings move to the menu bar, as @vincent-le-normand suggested, but this has a disadvantage because it doesn't provide the speed of the quick toggle.
start-at-login
auto (re)connect to known Mac address (could configured with the native bluetooth ui)
NC quick toggle value, this value is used for the Noise Cancelation quick toggle
ASM quick toggle value, this value is used for the Ambient sound (transparency) quick toggle

https://developer.apple.com/documentation/foundation/nsuserdefaults?language=objc
Those are just some ideas, and I currently do not have enough time to fulfill this all. But I would love to hear your opinion about something like this.

This could be an option. However, some settings are not compatible (it's not a good idea to disable both dock icon and menu icon).
Regarding the menu bar full gui version, maybe it's possible to have the quick toggle and just nearby another icon that offer the full setting view. Some Apple Menu Items (such as date time) also offer quick toggles if you press options while clicking, but it's not really discoverable… Also, we could offer a quick toggle using a global hot key.
Also, I hope someday we would have a way to display battery level in the menu.
The other options (start at login, auto reconnect, …) would be really great!
I am quite busy right now, be maybe I can help someday…

This could be an option. However, some settings are not compatible (it's not a good idea to disable both dock icon and menu icon).

Yeah I know, but we should just disable the other button, so that you won't end up with a broken program or we could use a NSSwitch, but that is only available in the more recent macOS versions.
Don't know about both icons, there is already enough clutter in my menu bar :)
Long pressing the menu button might also be an option,  but I don't know if this is possible, and it isn't intuitive for the user.
Global hot key would indeed be great, battery level could be added when receiving the settings/information from the headphones is implemented.

Global hot key would indeed be great

I have some ideas on how to implement it with Automator, I'll try them later and post the results

If there would be an CLI option for any control, it would be probably the best.
Then you can use it however you want:

Alfred / LaunchBar
BetterTouchTools
https://xbarapp.com
https://github.com/sveinbjornt/Platypus
and many more...


remap shortcut not working

Microsoft PowerToys version
0.85.1
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce
remap a key or shortcuts still not working
✔ Expected Behavior
fix this bug
❌ Actual Behavior
No response
Other Software
No response

Which keys are you trying to remap? /needinfo

Ctrl right arrow in place of alt tab
Vào Th 4, 30 thg 10, 2024 lúc 00:49 Kayla Cinnamon @.***>
đã viết:

Which keys are you trying to remap? /needinfo
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/35644#issuecomment-2444962757,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMQRCIQU4PG5JPHTXYNK5ATZ57DELAVCNFSM6AAAAABQZ3GWWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBUHE3DENZVG4
.
You are receiving this because you authored the thread.Message ID:
@.***>


[Bug]: Update the copyright section

Give a brief about the bug discovered✍
In the copyright section of the web page, the year 2021 is hard-coded.
It is not the standard way of writing code.
Everytime the code will have to be changed for updating the year.
Also, the section is not aligned properly.

What is the expected behavior?
The web page needs to have a footer with a function that fetches the dynamic value of the current year.
The alignment need to be fixed with the CSS.
Give a brief description to get the expect behaviour.
Add a function to dynamically fetch the year from a function which is the best practice to add the copyright to any website to make it look formal.
Are you contributing for a program?
GSSoC2023
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

To get the expected behavior I will fetch the current year using
new Date().getFullYear() , than changing the html of copyright using span tag and textContent property.
And to perfectly align it , I will have look into its css defined using #ftbg id , I will apply margin:auto to align it horizontaly and align-item : center for vertical alignment.
No I am not A contributor of GSSoC2023 , but Please assign me this issue.

@kinsteve If @abhinav-m22 agree I'll assign this to you! IF he wanna continue then please could you look at other issues

@kinstev Please find another issue.. Because I've already started working on this issue

But isn't the year in copyright meant to be the year of start of the project @anmode , why do we want it to be the current year?

@kinstev Please find another issue.. Because I've already started working on this issue

Have u implemented ?

Someone already resolved the issue

Okay, No problem, 😊 Find and work on another issue..

Remarks: The issue is already fixed..


Add german localized string for update time notice

good catch. Not sure how that has been missed all of this time. I'm moving this to the development branch though.


Removed Windows XP-specific TimeZoneInfo example

Removed Windows XP-specific TimeZoneInfo example
The VB and C# example is used in only one place, TimeZoneInfo.ConvertTimeToUTC, and illustrates the method's behavior on Windows XP. dotnet/dotnet-api-docs#558 removes it.
This PR can be merged after dotnet/dotnet-api-docs#558 is merged.

I removed the Hold for related PR label, dotnet/samples#558 has been merged.
You can merge this when ready @rpetrusha


Cannot be shown without line numbers

The Git status gutter is not shown when line numbers are hidden.

Sorry if this detracts from your workflow, but I don't think there's enough interest in this for the Atom team to prioritize it.


Setting the @/ register with 'nomagic' on doesn't always work as expected

Describe the bug
Manually setting the @/ regiser via the let command with nomagic on gives unexpected results for two tokens: * and ~.
To Reproduce
Detailed steps to reproduce the behavior:

Run gvim --clean
Create a second line with the text ab*cd
Position the cursor on the first text
Set nomagic via the command :set nomagic
Set the @/ register to the search text ab*cd via the command let @/="ab*cd"
Press n

Expected behavior
The cursor should go to the line containing the text "ab*cd". Instead, it returns an E486: Pattern not found: ab*cd, which is an error I would expect if magic was turned on.
Environment (please complete the following information):

Vim version:

VIM - Vi IMproved 8.1 (2018 May 18, compiled May 18 2018 18:36:07)
MS-Windows 32-bit GUI version with OLE support
Included patches: 1
Compiled by mool@tororo
Huge version with GUI.  Features included (+) or not (-):
+acl                +emacs_tags         +mouse              +tag_binary
+arabic             +eval               +mouseshape         +tag_old_static
+autocmd            +ex_extra           +multi_byte_ime/dyn -tag_any_white
+autoservername     +extra_search       +multi_lang         +tcl/dyn
+balloon_eval       +farsi              +mzscheme/dyn       -termguicolors
-balloon_eval_term  +file_in_path       +netbeans_intg      +terminal
+browse             +find_in_path       +num64              -tgetent
++builtin_terms     +float              +ole                -termresponse
+byte_offset        +folding            +packages           +textobjects
+channel            -footer             +path_extra         +timers
+cindent            +gettext/dyn        +perl/dyn           +title
+clientserver       -hangul_input       +persistent_undo    +toolbar
+clipboard          +iconv/dyn          -postscript         +user_commands
+cmdline_compl      +insert_expand      +printer            +vertsplit
+cmdline_hist       +job                +profile            +virtualedit
+cmdline_info       +jumplist           +python/dyn         +visual
+comments           +keymap             +python3/dyn        +visualextra
+conceal            +lambda             +quickfix           +viminfo
+cryptv             +langmap            +reltime            +vreplace
+cscope             +libcall            +rightleft          -vtp
+cursorbind         +linebreak          +ruby/dyn           +wildignore
+cursorshape        +lispindent         +scrollbind         +wildmenu
+dialog_con_gui     +listcmds           +signs              +windows
+diff               +localmap           +smartindent        +writebackup
+digraphs           +lua/dyn            +startuptime        -xfontset
+directx            +menu               +statusline         -xim
-dnd                +mksession          -sun_workshop       +xpm_w32
-ebcdic             +modify_fname       +syntax             -xterm_save
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$HOME\vimfiles\vimrc"
 3rd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
       defaults file: "$VIMRUNTIME\defaults.vim"
    system menu file: "$VIMRUNTIME\menu.vim"
Compilation: cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32  -DFEAT_CSCOPE
-DFEAT_TERMINAL -DFEAT_NETBEANS_INTG -DFEAT_JOB_CHANNEL   -DFEAT_XPM_W32

OS: Windows 10 1803
GUI

Additional context
I encountered this feature when I was making a plugin to automatically search for the visually selected text. To do this, I am manually setting the @/ register after escaping the appropriate characters. I got the magic version working flawlessly and encountered this bug when attempting to make my plugin work for the nomagic version.

In vim's code, the search that is performed when @/ is written to is always done as though magic is set.  Not sure if this was an intentional design.
In this case, your code doesn't have to handle nomagic differently.

I am closing this, as the documentation strongly indicates that one should not set nomagic. If you want to use nomagic patterns, add the \M modifier to the pattern.


[Question] What ways are there to decrease the time it takes for apps to publish?

Experts,
We noticed that the time it takes for app to publish increases when there are multiple dependencies towards the app itself.
For our base app it takes now more than 10 minutes to publish.
So we are wondering, what ways are there to minimize the time it takes for apps to publish? Or at least some insight about what increases the time for an app to publish.

Performance of your hardware, network but also the number of AL objects (size of the bundle).
Rapid Application Development (RAD) decreases the publishing time after you've done a full publish at least 1 time but as the documentation describes, it's a bit unstable and they recommend doing full publish regularly in between.
You can't publish/republish a selection from file explorer (e.g. 1 folder or 1 file) like what happened on compilation in C/SIDE, you can't ignore specific folders (like e.g. a node_modules folder, if you have a web application in your solution or a big folder with static assets) to aid the compiler - it just traverses every folder recursively.
There's little you can do about the Base app size itself, since you just get it straight from MS but it has been their goal to componentize it into smaller pieces but I'm not sure if it even solves the problem since deployment failures aren't gracefully handled last time I checked - this  explains dependency handling of uninstalling/installing extensions in a multiroot workspace, which came in 2019w2, but this describes the issue you have when it doesn't go the typical happy-path (gracefully handle failed publish). Some people work around this by creating powershell scripts that handle publishing all extensions in a multi-root workspace.
The publishing time has been improving over the last months, but I'm curious how Microsoft handles AL development internally, since these publishing times are generally pretty time-consuming.

We are also providing some guidelines about how to Optimize Visual Studio Code for AL Development in our online documentation. You can also set "al.incrementalBuild": true in your settings.json. The following issue seems related too #5768.
Please also have a look at our Ideas forum at https://aka.ms/BusinessCentralideas, to create or upvote suggestions about performance improvements. This will help us allocate time and resources for improving this scenario.


Unity to Ros depth camera image

I have a question!
Here is my question:

Relevant Code:
<!-- Insert code here. Optionally attach code or data files to this issue. -->

I have a feature request!
I want to do this:

For being able to do it, I wish ROS# had the following feature:

I have a question!
Here is my question:
Relevant Code:
<!-- Insert code here. Optionally attach code or data files to this issue. -->

I have a feature request!
I want to do this:
For being able to do it, I wish ROS# had the following feature:


Close interstitial also closes background popup (on Android but not iOS)

Hi,
This is working on iOS but not on Android.
I show an ad and open a popup in the background. When closing the ad the user sees the popup. This works well in iOS. However, on Android (HTC one) the closing of the ad also closes the popup. Any ideas on how to prevent that?
Id also like to add that the ad is an interstitial.
Is there any difference between onAdDismiss for iOS and Android which causes this?
Thanks.
Peter

No one that has any clue about how to solve this issue? The code looks something like this:
... if (typeof AdMob !== 'undefined') {     //show ad     if(AdMob) AdMob.showInterstitial();     } popup(data, to, popup); ...

Not sure if anyone is reading this...would be great with some tips. Anyway, Ive been able to narrow it down a bit. Seems that closing an ad, on Android device (not iOS), also triggers the Cordova onResume (document.addEventListener("resume", onResume, false)). By my design this closes the popup so I now know why the popup gets closed but why would closing of an ad cause onResume to trigger?

I just guess, when an interstitial ad is displayed, the cordova in background will lose focus and trigger a 'pause' event. when the interstitial ad close, the cordova view get focus again, then it trigger a 'resume' event.
So, maybe you should not depends on the 'resume' or 'pause' event.

Thanks @floatinghotpot It makes sense that this is the case. Tricky to catch as it seems that iOS does not do this. Ive "solved" it with a flag which is checked in the 'resume' event to avoid unwanted behavior. Closing this issues now.


Previous Greater Element added

I have added the C++ code
Please review
fixes #615

Try to be more descriptive in the PR description. The code is well written though !


Fixing Javadoc build failures and checkstyle inconsistencies.

We're preparing to release v0.1.2, our first release to the central
repositories, which means we're going through a lot of new build phases
e.g. javadocs, gpg signing, maven releaseing, etc. I'm learning a lot
and hopefully we'll nail-down a quasi-sane workflow. But until then,
it's a lot of trial-and-error followed by frantic commits.
cc @brandoniles @truncs

@willsalz why don't we just stay on 0.1.2-SNAPSHOT ? The project still looks like its in alpha phase.

Yeah I can remove the auto-formatting from the diff.
And in terms of the version number: in order to publish to the central maven repository we have to push non-SNAPSHOT builds unless we have our clients put special declarations in their pom.xml stating specifically which SNAPSHOT repository to allow ( in this case, Sonatype's ). So we can keep a 'zero-major' SemVer version e.g. pre-1.0 and deploy those with standard machinery common to uploading projects to the repo.

that is why I like the netty style versioning better where each release is tagged with either Alpha, Beta or Final. Or we can just push the candidate to internal artifactory but not upload it to maven until its stable enough for general use.

Merging to unblock.


[VL] Refactor SubstraitToVeloxPlanConverter by using vector instead of unordered_map

What changes were proposed in this pull request?
two advantages of using vector in this situation:

vector is faster than unordered_map
vector doesn't need to use a loop to construct

(Please fill in changes proposed in this fix)
(Fixes: #ISSUE-ID)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@zhztheplayer @rui-mo


[1.12.2] Server sleeping warp error

When you sleep in a bed (so the screen greys out and skips night) when you wake up, every time you use the shrinking or growing items you will be warped back to your bed until you relog.
Video here: https://www.youtube.com/watch?v=CK_dl4ue8rI&feature=youtu.be
Switched to creative due to taking some damage and using up charges showing and testing this ^^;

Fixed in ede2651


textbox features, fixing instantiate

Codecov Report

Merging #128 into master will decrease coverage by 0.32%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master     #128      +/-   ##
==========================================
- Coverage   68.29%   67.97%   -0.33%
==========================================
  Files          15       15
  Lines         817      818       +1
==========================================
- Hits          558      556       -2
- Misses        259      262       +3

Impacted Files
Coverage Δ

bowtie/visual.py
56% <25%> (-1.7%)
:arrow_down:

bowtie/control.py
62.26% <50%> (-0.56%)
:arrow_down:

bowtie/_layout.py
79.27% <66.66%> (-0.27%)
:arrow_down:

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 177cb2d...eff7394. Read the comment docs.


Parameters: Deleted parameter throws error when name is reused

is there any file that exhibit this problem? I cant seem to reproduce it on my end

Just checked the local dev version and everything is working fine.
Current dev ver. online has the behavior when a parameter is deleted and the parameter name is reused for a variable.


add spatial-eggplant

hi @almaan ,
we are populating the ecosystem package listing for scverse. Your package is compliant with all the requirements and we'd be thrilled to have it listed in the scverse website as part of the ecosystem.
We'd like to kindly ask you to quickly revise the metadata and check if everything is correct. If that's the case, we'll then proceed with merging it and listing on the website.
Thank you!
Giovanni on behalf of the scverse core team

Hi @grst and @giovp,
apologies for not replying faster, I'd of course love to be a part of scverse thank you for including me; amazing effort! The meta data looks great, I hope I didn't bottleneck you guys.
Best,
Alma


Undefined method "assert_nothing_raised" with Rails 6.1.0-rc2

What Ruby, Rails and RSpec versions are you using?
Ruby version: 2.6.6
Rails version: 6.1.0-rc2
RSpec version: 4.1.0.pre (branch 6-1-dev)

Observed behaviour
Running rspec raises an error:
NoMethodError:
       undefined method `assert_nothing_raised' for #<RSpec::ExampleGroups::Test "fails" (./spec/test_spec.rb:5)>

Expected behaviour
No "undefined method" error should be raised; it worked up until Rails <IP_ADDRESS>.
Can you provide an example app?
Make a new app and add this to the Gemfile:
%w[rspec rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
  gem lib, git: "https://github.com/rspec/#{lib}.git", branch: "main"
end
git "https://github.com/rspec/rspec-rails", branch: "rails-6-1-dev" do
  gem "rspec-rails"
end

Install:
bundle install
rails generate rspec:install

Add a test:
# rspec/test_spec.rb

# frozen_string_literal: true
require "rails_helper"

RSpec.describe "test" do
  it "fails" do
    assert_nothing_raised()
  end
end

Run the tests:
bundle exec rspec spec/test_spec.rb

Any reason not to use https://relishapp.com/rspec/rspec-expectations/v/3-9/docs/built-in-matchers/raise-error-matcher?
  expect { raise "oops" }.to raise_error

I have the same problem, because using the ActiveJob::TestHelpers uses that method underneath:
RSpec.describe do
  include ActiveJob::TestHelper
  it 'works' do
    perform_enqueued_jobs do
      SomeService.doSomething
    end
  end
end

       NoMethodError:
         undefined method `assert_nothing_raised' for #<RSpec::ExampleGroups::xxxx:0x0000559e7b2a3018>
         Did you mean?  assert_raises
       # .../gems/rspec-expectations-3.10.0/lib/rspec/matchers.rb:965:in `method_missing'
       # .../gems/rspec-core-3.10.0/lib/rspec/core/example_group.rb:764:in `method_missing'
       # .../gems/activejob-6.1.0.rc2/lib/active_job/test_helper.rb:591:in `perform_enqueued_jobs'

what's the best method to replicate that functionality?

It sounds like the module it is defined in has moved, there are a bunch of assertion modules we bring in to support various helpers.

Method definition is located in ActiveSupport::Testing::Assertions.
So you can also work around it by:
RSpec.configure do |config|
  config.include ActiveSupport::Testing::Assertions
end

@benoittgt Do you think we can fix this for 6.1?

This is fixed in Rails 6.1.1, nothing to do here 🎉

This is fixed in Rails 6.1.1, nothing to do here 🎉

@doits, thanks for the heads-up. It is known to be resolved in Rails (see https://github.com/rspec/rspec-rails/pull/2398#issuecomment-748345156).
Since Rails 6.1.1 is out, we can actually close this and if someone reports, we could recommend updating their Rails version. WDYT, @benoittgt ?

@doits, thanks for the heads-up. It is known to be resolved in Rails (see https://github.com/rspec/rspec-rails/pull/2398#issuecomment-748345156).
Since Rails 6.1.1 is out, we can actually close this and if someone reports, we could recommend updating their Rails version. WDYT, @benoittgt ?

I think we should add the test from #2412 as a regression check, and if it passes with 6.1.1 close this.

I think we should add the test from #2412 as a regression check, and if it passes with 6.1.1 close this.

Regression test added in #2455


nni webportal doesn't show

Describe the issue:
webportal doesn't appear after executing nnictl create --config config_detailed.yml
Environment: Google Cloud VM

NNI version: 2.10
Training service (local|remote|pai|aml|etc):
Client OS: Ubuntu 20
Server OS (for remote mode only):
Python version:
PyTorch/TensorFlow version:
Is conda/virtualenv/venv used?: Yes
Is running in Docker?: No

Configuration:

Experiment config (remember to remove secrets!):
Search space:

Log message:

nnimanager.log:
dispatcher.log:
nnictl stdout and stderr:

How to reproduce it?:

Please check whether your firewall blocks the port.
You can test it with python -m http.server 8080. The command will create a FTP-like web server on port 8080. If it cannot be accessed, than the port is blocked.

hi @yiqiaoc11 Do you still have this issue? If this issue had been resolved, please close it. Thanks!

Hi @liuzhe-lz, I'm able to access http://<IP_ADDRESS>:8080/ in ftp-like webpage after executed python -m http.server 8080
Directory listing for /
config.yml
config_assessor.yml
config_detailed.yml
config_hybrid.yml
But I'm still not able to access http://<IP_ADDRESS>:8080 http://<IP_ADDRESS>:8080 after executed "nnictl create --config config_detailed.yml"
[2023-02-16 03:22:25] Creating experiment, Experiment ID: bq2i5sal
[2023-02-16 03:22:25] Starting web server...
[2023-02-16 03:22:26] Setting up...
[2023-02-16 03:22:26] Web portal URLs: http://<IP_ADDRESS>:8080 http://<IP_ADDRESS>:8080
[2023-02-16 03:22:26] To stop experiment run "nnictl stop bq2i5sal" or "nnictl stop --all"
[2023-02-16 03:22:26] Reference: https://nni.readthedocs.io/en/stable/reference/nnictl.html
Not sure what happend.

Have you tried http://<IP_ADDRESS>:8080/ for NNI?
The IP addresses in nnictl output are inference and not always correct.

Thank you, liuzhe-lz. It worked.


⚠ Bofrost.lu has degraded performance

In 323cfbd, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 823 ms

Resolved: Bofrost.lu performance has improved in 2d407a7.


Merge ign-math6 as of Frustum SWIG to main

➡ Forward port
Port ign-math6 as of https://github.com/ignitionrobotics/ign-math/commit/5201e53836a7acf67d6a491387cdb6c244f0c4d1 to main
Branch comparison: https://github.com/ignitionrobotics/ign-math/compare/main...5201e53836a7acf67d6a491387cdb6c244f0c4d1
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)

@scpeters , I synced this branch with main and I'm now fixing the tests. The frustum fix is similar to https://github.com/ignitionrobotics/ign-math/pull/344#issuecomment-1002323177, i.e. s/pos().y()/y()/. I'm now looking into intertial.

Ok, I pushed workarounds and commented out a couple of tests in 03f6f293815d5a770ef1caf7f054323b27be9c00. Left TODOs for me to revisit them after the pybind wrappers are forward-ported.
I think this is good to go with green CI, but do you mind taking a look at the last commit before merging, @scpeters ? Thanks!

Ok, I pushed workarounds and commented out a couple of tests in 03f6f29. Left TODOs for me to revisit them after the pybind wrappers are forward-ported.
I think this is good to go with green CI, but do you mind taking a look at the last commit before merging, @scpeters ? Thanks!

looks good, thanks!


NSApp_WithDidLaunch callback passes wrong object

The function NSApp_WithDidLaunch takes a callback that is supposed to pass the notification object. But since the first thing sent to any objective-c function is the pointer to the "self" object, the wrong object is passed to the callback. Therefore calling any of the notification methods on it causes an unrecognizable selector exception.
Reproducible code:
  package main

  import (
      "fmt"
      "github.com/progrium/macdriver/cocoa"
      "github.com/progrium/macdriver/core"
      "github.com/progrium/macdriver/objc"
      "runtime"
  )

  func main() {
      runtime.LockOSThread()
      pool := core.NSAutoreleasePool_New()
      defer pool.Release()
      var window cocoa.NSWindow
      app := cocoa.NSApp_WithDidLaunch(func(notification objc.Object) {
	      fmt.Println(notification.Get("name").String())
	      // create a reference rect
	      contentSize := core.NSMakeRect(0, 0, 800, 600)

	      // allocate window
	      window = cocoa.NSWindow_Init(contentSize, cocoa.NSTitledWindowMask, cocoa.NSBackingStoreBuffered, true)

	      // allocate view
	      window.MakeKeyAndOrderFront(window)
      })
      app.SetActivationPolicy(cocoa.NSApplicationActivationPolicyRegular)
      app.ActivateIgnoringOtherApps(true)
      app.Run()
 }

This is the error:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DefaultDelegate name]: unrecognized selector sent to instance 0x450a3c0'
The solution is to either change the callback function signature to accommodate the "self" object or wrap the callback in another function so it works properly. I prefer the second option which would look something like this.
cocoa/NSApplication.go
func NSApp_WithDidLaunch(cb func(notification objc.Object)) NSApplication {
	DefaultDelegateClass.AddMethod("applicationDidFinishLaunching:", func(_, notification objc.Object) {
              cb(notification)
        })
	app := NSApp()
	app.SetDelegate(DefaultDelegate)
	return app
}

glad this was caught and thanks for the PR.


Dropdown with inline/search doesn't adjust width properly when search query is entered

Bug Report
Steps
Using the Code Sandbox provided below, type some search query in the inlined Dropdown (e.g. 'one').
Expected Result
The width of the dropdown should adjust automatically based on entered search query.
Actual Result
The width of the dropdown is adjusted as if there was no text at all (0 width), and the dropdown icon sits on top of the search query text.
Version
0.81.1
Testcase
https://codesandbox.io/s/n0mn3vxwz0

Could this simply be fixed by setting _text in the code snippet linked below to searchQuery instead of null? Wondering what the drawbacks would be.
https://github.com/Semantic-Org/Semantic-UI-React/blob/master/src/modules/Dropdown/Dropdown.js#L1174

I almost sure that it's not supported by SUI: https://semantic-ui.com/modules/dropdown.html
Can you please check? If this is not supported by SUI will not able to this there.

Hi @layershifter, thanks for the response. I was just wondering if you think this bug fix/new feature is worth pursuing in the main SUI repository, then?


Suggestion : Option to be anonymously logged into certain chats

I'd think it would be useful to have an option to log out/be anonymously in certain chatrooms. I do not know of a way you can do it currently besides logging out/switching accounts for the entire client. I know BTTV has a feature to be anonymous in a chat in twitch

This suggestion is per channel, like a toggle for each chat room so you can be logged in some and anonymous in others

Is this the same as #1301?

Duplicate of #1301


Tini static from tianon

See: #3

:metal:

And it's live! : )
https://github.com/krallin/tini/releases/download/v0.5.0/tini_0.5.0.deb
Cheers,

Correct link = much better
https://github.com/krallin/tini/releases/download/v0.5.0/tini-static

:heart:!


[KYUUBI #2565] Variable substitution should work in plan only mode

Why are the changes needed?

close #2565
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

cc @yaooqinn

good cache ! I looked at the SparkSQLDriver, it seems with conf is enough
val substitutorCommand = SQLConf.withExistingConf(context.conf) {
  new VariableSubstitution().substitute(command)
}
context.sparkContext.setJobDescription(substitutorCommand)

we can also update it for setJobDescription

according to https://github.com/apache/incubator-kyuubi/issues/1059, engine should not run set x = y, right ?

@gabrywu  it depends on the config kyuubi.operation.plan.only.excludes. By default, we allow running set.

we can also update it for setJobDescription

Since the construction of VariableSubstitution is different across multiple versions of Spark, set the job description to the unsubstituted statement only.

thanks, merging to master


Create a GHA to update data/combined_metadata.rda

[ ] copy waldronlab/curatedMetagenomicDataCuration/data/combined_metadata.rda
[ ] Commit back to package repo in data/ directory
[ ] run on a CRON job in GHA

Until the combined_metadata.rda file is available in waldronlab/curatedMetagenomicDataCuration/data/combined_metadata.rda, just copy some random file to data/ to show how it is done. Can add the demo file to package root directory file .Rbuildignore so it's ignored when building curatedMetagenomicData.

This issue should be closed once it downloads combined_metadata.rda from waldronlab/curatedMetagenomicDataCuration. That repo now has a function to create the R object that goes into combined_metadata.rda, but it needs to be called in that repo's GHA (https://app.zenhub.com/workspace/o/waldronlab/curatedmetagenomicdatacuration/issues/44)

@lwaldron I want to verify that we want data/combined_metadata.rda in both curatedMetagenomicData and curatedMetagenomicDataCuration repositories. If we are only creating it in curatedMetagenomicDataCuration for curatedMetagenomicData, I can generate combined_metadata.rda via the GHA of curatedMetagenomicData so that we don't have to save it to curatedMetagenomicDataCuration.

If we are only creating it in curatedMetagenomicDataCuration for curatedMetagenomicData, I can generate combined_metadata.rda via the GHA of curatedMetagenomicData so that we don't have to save it to curatedMetagenomicDataCuration.

That's the case, yes it would be optimal to create it via the GHA of curatedMetagenomicData.


Add VPC attachment appliance mode support

what

Add VPC attachment appliance mode support

why

To enable traffic flow between  source and destination in the same Availability Zone for the VPC attachment for the lifetime of that flow.

references

https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-appliance-scenario.html

@nitrocode @Nuru we ran into a traffic performance issue  and realized the TF resource attribute was missing in the module.  Can you review it to merge it into your code?
Thanks ins advance.
PS: We checked at our end and couldn't find any option to enable commits form the upstream maintainers
cc: @exequielrafaela @diego-ojeda-binbash

/test all

Great job @lgallard 💪🏼 @nitrocode Thanks! 🙏🏼 🙌🏼


Update for sensor current fails

Hello,
Firstly thanks for a great integration. I just got installed 2 Easee Home charger with a Ease Equalizer and get the following errors after integration to Home Assistant :
2021-08-17 19:41:13 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.garage_current fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 446, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 654, in async_device_update
raise exc
File "/config/custom_components/easee/entity.py", line 280, in async_update
self._state = self._state_func(self.data.state)
File "/config/custom_components/easee/const.py", line 178, in <lambda>
max(
TypeError: '>' not supported between instances of 'NoneType' and 'NoneType'
2021-08-17 19:46:11 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.driveway_current fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 446, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 654, in async_device_update
raise exc
File "/config/custom_components/easee/entity.py", line 280, in async_update
self._state = self._state_func(self.data.state)
File "/config/custom_components/easee/const.py", line 178, in <lambda>
max(
TypeError: '>' not supported between instances of 'NoneType' and 'NoneType'

It looks like there is something wrong with the current sensors on both Easee Home. I see that they are listed as "unavailable" in the entity list in HA
Any ideas what this might be?
Is is just because no cars are currently charging?
Cheers.

Closing this issue, I got it fixed after charging for the first time on both Easee Home. Then the error disappeared.
Looks like some kind of a bug to me since the charger were not taken in use yet.


Ble pairing using Chip tool running inside docker container on Raspi fails due to 'mpAdapter is NULL'

Setup: Docker container running on Raspi 4 Host
Goal: Run chip tool inside docker container to pair a Nordic dev board running lighting app connected to raspi host
Ble pairing using Chip tool running inside docker container on Raspi fails due to 'mpAdapter is NULL'
We need to run the following before using chip-tool for making the dbus and bt adapter available to the tool inside docker container:
service dbus start
bluetoothd &

root@ubuntu:/connectedhomeip/examples/chip-tool/out/debug# ./chip-tool pairing ble <SSID> <password> 12345678 3840
CHIP:ZCL: Using ZAP configuration...
CHIP:ZCL: deactivate report event
CHIP:IN: TransportMgr initialized
CHIP:IN: local node id is 112233

CHIP:ZCL: Using ZAP configuration...
CHIP:ZCL: deactivate report event
CHIP:DL: CHIP task running
CHIP:DL: TRACE: Bus acquired for name C-15bf
CHIP:DL: FAIL: NULL apEndpoint->mpAdapter in bluezObjectsSetup
CHIP:DL: TRACE: Bluez mainloop starting BluezMainLoop
CHIP:DL: PlatformBlueZInit init success
CHIP:DL: Long dispatch time: 1000 ms
CHIP:DL: mpAdapter is NULL in StartDiscoveryImpl
CHIP:TOO: No response from device
CHIP:CTL: Shutting down the commissioner
CHIP:CTL: Shutting down the controller

Current issue:
CHIP:DL: FAIL: NULL apEndpoint->mpAdapter in bluezObjectsSetup

Don't run it in docker.


Issue 1563: add English msg and German translation for simulating out…

…put neurons in sensor view
A continuation of the solution of Issue 1563

merged


Possible solution of issue #88

Changing return bool(field) in has_optional_field function, we will obtain is a field is optional, does not matters is the field is initialized empty, because is optional.

Had to create a new PR due to sign-off issues: https://github.com/spdx/tools-python/pull/252


Fixes for BC and DW in test suite

Job VTB Documentation on 1f17a02 wanted to post the following:
View the site here
This comment will be updated on new commits.


created a release action

Upon merge, this would release version 1.0.0 of the message-broker to npm

good point @bingenito, I have changed it to trigger when we create a new GitHub release for now. I think having it manual like this is good for now


Jira(feature) widget not showing any data even after new version

As mentioned in https://github.com/capitalone/Hygieia/pull/1137
I followed all the steps but still Jira does not show any data. Do you want me to upgrade Hygiei API and UI as well?
After pulling the latest code, i built only Jira collector. Performed all the mentionyed cleanup task. Ran the new jira collector. The entry in the database looks like this
{
"_id" : ObjectId("589bcd2fc4c9565faf4ef41a"),
"_class" : "com.capitalone.dashboard.model.FeatureCollector",
"name" : "Jira",
"collectorType" : "AgileTool",
"enabled" : true,
"online" : true,
"lastExecuted" : NumberLong(1486605818627)
}
With this, UI did not recognize the collector (the drop down did not show Jira as an option).
When i change the collectorType from AgileTool to ScopeOwner, the dropdown is populated But the values in the UI are still 0 0 0 for any project and any value
2017-02-08 20:20:15,214 ERROR c.c.d.client.DefaultJiraClient - IOException
java.io.FileNotFoundException: https://jira.xxxxxxxxxcom/rest/tempo-teams/1/team
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) ~[na:1.8.0_74]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ~[na:1.8.0_74]
at java.net.URLConnection.getContent(Unknown Source) ~[na:1.8.0_74]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContent(Unknown Source) ~[na:1.8.0_74]
at com.capitalone.dashboard.client.DefaultJiraClient.getTeams(DefaultJiraClient.java:196) ~[jira-feature-collector.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.client.team.TeamDataClientImpl.updateTeamInformation(TeamDataClientImpl.java:57) [jira-feature-collector.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.FeatureCollectorTask.collect(FeatureCollectorTask.java:107) [jira-feature-collector.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.FeatureCollectorTask.collect(FeatureCollectorTask.java:28) [jira-feature-collector.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.CollectorTask.run(CollectorTask.java:63) [core-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_74]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_74]
2017-02-08 20:20:15,214 INFO c.c.d.collector.CollectorTask - Team Data 0 0s
2017-02-08 20:20:15,967 INFO c.c.d.collector.CollectorTask - Project Data 331 0s
2017-02-08 20:20:16,672 INFO c.c.d.c.story.StoryDataClientImpl - Loop i 0 pageSize 1
2017-02-08 20:20:16,673 INFO c.c.d.collector.CollectorTask - Story Data 1 0s
2017-02-08 20:20:16,673 INFO c.c.d.collector.CollectorTask - Finished 1s

@anandsit Yes rebuild all your modules. If you ever in doubt as to which modules need to be built, you can look at the list of files changed in a PR.

Set feature.jiraTeamFieldName to the empty string or remove it from your properties.

as a general practice, it is okay to rebuild.
but in this case, will the rebuild resolve the issue ?

@MarkRx  - Let me know the right value in DB. Is it ScopeOwner or AgileTool ?
{
"_id" : ObjectId("589bcd2fc4c9565faf4ef41a"),
"_class" : "com.capitalone.dashboard.model.FeatureCollector",
"name" : "Jira",
"collectorType" : "AgileTool",
"enabled" : true,
"online" : true,
"lastExecuted" : NumberLong(1486605818627)
}

It should be AgileTool. ScopeOwner was the old one.

@MarkRx  - when it is AgileTool, the Dropdown does not list Jira as an option.
In that case, i need to update from API and UI components as well. Because Api is still old and probably looking for ScopeOwner in DB.

Correct

Tried the latest code.

Stopped Jira collector
Removed all DB entries related to jira
Deployed latest API, UI and jira collector code
Started API, UI and later Jira collector
Still the feature widget dropdown does not show Jira as an option.

The moment i change AgileTool to ScopeOwner, the dropdown is populate but the data shown is 0 0 0

@anandsit
Don't change AgileTool to ScopeOwner.   Clear your browser cache after step 4 you've listed above and see if that helps.

Thanks!! Now it is  resolved!! I am able to see jira data. Need to work deeper into Jira to understand what data Hygieia displays

so what helped to resolve issue can you please brief even i am facing the same issue


Can't generate Potjans connectome that is interopable with TrainingSpikeNet.jl for plastic weights

Hi there @bjarthur
Actually I lied in this issue title.  I can now get the Potjans connectome to work as a static matrix, for kind=:init, if I hacked params.jl and init.jl, I will send details and links to hacked code soon.
To reproduce this error:
run
bash workflow.sh
In the base directory at: https://github.com/JuliaWSU/TrainSpikingNet.jl
Relevant contents of param.jl https://github.com/JuliaWSU/TrainSpikingNet.jl/blob/master/src/param.jl
genPlasticWeights_file = "genWeightsPotjans.jl"
genStaticWeights_file = "genWeightsPotjans.jl"

genPlasticWeights_args = Dict(:Ncells => Ncells, :frac => frac, :Ne => Ne, :L => L, :Lexc => Lexc, :Linh => Linh, :Lffwd => Lffwd,
                              :wpee => 2.0 * taue * g / wpscale,
                              :wpie => 2.0 * taue * g / wpscale,
                              :wpei => -2.0 * taue * g / wpscale,
                              :wpii => -2.0 * taue * g / wpscale,
                              :wpffwd => 0)

genStaticWeights_args = Dict(:Ncells => Ncells, :Ne => Ne,
                             :pree => 0.1, :prie => 0.1, :prei => 0.1, :prii => 0.1)

./tsn.sh init ${PWD}/src

Relevant contents of https://github.com/JuliaWSU/TrainSpikingNet.jl/blob/master/src/genWeightsPotjans.jl
using Revise
using SparseArrays
using ProgressMeter

function potjans_params()
    conn_probs = [[0.1009,  0.1689, 0.0437, 0.0818, 0.0323, 0.,     0.0076, 0.    ],
                [0.1346,   0.1371, 0.0316, 0.0515, 0.0755, 0.,     0.0042, 0.    ],
                [0.0077,   0.0059, 0.0497, 0.135,  0.0067, 0.0003, 0.0453, 0.    ],
                [0.0691,   0.0029, 0.0794, 0.1597, 0.0033, 0.,     0.1057, 0.    ],
                [0.1004,   0.0622, 0.0505, 0.0057, 0.0831, 0.3726, 0.0204, 0.    ],
                [0.0548,   0.0269, 0.0257, 0.0022, 0.06,   0.3158, 0.0086, 0.    ],
                [0.0156,   0.0066, 0.0211, 0.0166, 0.0572, 0.0197, 0.0396, 0.2252],
                [0.0364,   0.001,  0.0034, 0.0005, 0.0277, 0.008,  0.0658, 0.1443]]

    columns_conn_probs = [col for col in eachcol(conn_probs)][1]
    layer_names = ["23E","23I","4E","4I","5E", "5I", "6E", "6I"]

    ccuf = Dict(
        k=>v for (k,v) in zip(layer_names,columns_conn_probs)
    )

    ccu = Dict("23E"=>20683, "23I"=>5834,
                "4E"=>21915, "4I"=>5479,
                "5E"=>4850, "5I"=>1065,
                "6E"=>14395, "6I"=>2948)

    ccu = Dict((k,ceil(Int64,v/35.0)) for (k,v) in pairs(ccu))
    cumulative = Dict()
    v_old=1
    for (k,v) in pairs(ccu)
        cumulative[k]=collect(v_old:v+v_old)
        v_old=v+v_old
    end
    return (cumulative,ccu,ccuf,layer_names,columns_conn_probs,conn_probs)
end

function potjans_weights(Ncells)
    (cumulative,ccu,ccuf,layer_names,columns_conn_probs,conn_probs) = potjans_params()

    Ncells = sum([i for i in values(ccu)])+1#max([max(i[:]) for i in values(cumulative)])
    w0Index_ = spzeros(Int,Ncells,Ncells)
    w0Weights = spzeros(Float32,Ncells,Ncells)
    edge_dict = Dict()
    polarity = Dict()

    for src in 1:p.Ncells
        edge_dict[src] = Int64[]
        polarity[src] = ""
    end
    Ne = 0
    Ni = 0
    @showprogress for (i,(k,v)) in enumerate(pairs(cumulative))
        for src in v
            for (j,(k1,v1)) in enumerate(pairs(cumulative))

                for tgt in v1
                    if src!=tgt
                        prob = conn_probs[i][j]
                        if rand()<prob
                            if occursin("E",k)
                                if occursin("E",k1)
                                    # TODO replace synaptic weight values.
                                    # w_mean = 87.8e-3  # nA
                                    w0Weights[tgt,src] = p.je#*#350.0#)/2.0
                                elseif occursin("I",k1)
                                    w0Weights[tgt,src] = p.jx#*150.0
                                end
                                polarity[src]="E"
                                Ne+=1

                            elseif occursin("I",k)
                                if occursin("E",k1)
                                    w0Weights[tgt,src] = -p.jx
                                elseif occursin("I",k1)
                                    w0Weights[tgt,src] = -p.ji#*2.0
                                end
                                polarity[src]="I"
                                Ni+=1

                            end
                            append!(edge_dict[src],tgt)
                            w0Index_[tgt,src] = tgt

                        end
                    end
                end
            end
        end

    end

    return (edge_dict,w0Weights,w0Index_,Ne,Ni)
end

function genPlasticWeights(args, w0Index, nc0, ns0)
    Ncells, frac, Ne, L, Lexc, Linh, Lffwd, wpee, wpie, wpei, wpii, wpffwd = map(x->args[x],
    [:Ncells, :frac, :Ne, :L, :Lexc, :Linh, :Lffwd, :wpee, :wpie, :wpei, :wpii, :wpffwd])

    (edge_dict,w0Weights,w0Index_,Ne,Ni) = potjans_weights(Ncells)

    ##
    # nc0Max is the maximum number of post synaptic targets
    # its a limit on the outdegree.
    # if this is not known upfront it can be calculated on the a pre-exisiting adjacency matrix as I do below.
    ##

    nc0Max = 0

    for (k,v) in pairs(edge_dict)
        templength = length(v)
        if templength>nc0Max
            nc0Max=templength
        end
    end

    #nc0Max = Ncells-1 # outdegree
    nc0 = Int.(nc0Max*ones(Ncells))
    w0Index = spzeros(Int,nc0Max,Ncells)
    for pre_cell = 1:Ncells
        post_cells = edge_dict[pre_cell]
        w0Index[1:length(edge_dict[pre_cell]),pre_cell] = post_cells
    end

    wpIndexIn = w0Index
    wpWeightIn = w0Weights
    ncpIn = nc0
    wpWeightFfwd = randn(rng, p.Ncells, p.Lffwd) * wpffwd

    return wpWeightFfwd, wpWeightIn, wpIndexIn, ncpIn
end

function genStaticWeights(args)
    Ncells, _, pree, prie, prei, prii, jee, jie, jei, jii = map(x->args[x],
            [:Ncells, :Ne, :pree, :prie, :prei, :prii, :jee, :jie, :jei, :jii])
    (edge_dict,w0Weights,w0Index_,Ne,Ni) = potjans_weights(Ncells)

    nc0Max = 0

    for (k,v) in pairs(edge_dict)
        templength = length(v)
        if templength>nc0Max
            nc0Max=templength
        end
    end

    #nc0Max = Ncells-1 # outdegree
    nc0 = Int.(nc0Max*ones(Ncells))
    w0Index = spzeros(Int,nc0Max,Ncells)
    for pre_cell = 1:Ncells
        post_cells = edge_dict[pre_cell]
        w0Index[1:length(edge_dict[pre_cell]),pre_cell] = post_cells
    end

    wpIndexIn = w0Index
    wpWeightIn = w0Weights
    ncpIn = nc0
    wpWeightFfwd = randn(rng, p.Ncells, p.Lffwd) * wpffwd

    return w0Index, w0Weights, nc0
end

The connection matrix gets made by the above function stack (as you can see with this ascii art):

The final error that is hit before I am able to make plastic weights which are informed by the Potjans connectome is as follows:
└ @ Main ~/git/ben/TrainSpikingNet.jl/src/init.jl:57
Progress: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| Time: 0:00:03
mean excitatory firing rate: 57.04253393665159 Hz
mean inhibitory firing rate: 0.07420814479638009 Hz
Progress: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| Time: 0:00:03
ERROR: LoadError: BoundsError: attempt to access 521×2210 SparseMatrixCSC{Int64, Int64} with 403862 stored entries at index [522, 1]
Stacktrace:
 [1] throw_boundserror(A::SparseMatrixCSC{Int64, Int64}, I::Tuple{Int64, Int64})
   @ Base ./abstractarray.jl:703
 [2] checkbounds
   @ ./abstractarray.jl:668 [inlined]
 [3] getindex(A::SparseMatrixCSC{Int64, Int64}, i0::Int64, i1::Int64)
   @ SparseArrays ~/.julia/juliaup/julia-1.8.5+0.x64.linux.gnu/share/julia/stdlib/v1.8/SparseArrays/src/sparsematrix.jl:2228
 [4] top-level scope
   @ ~/git/ben/TrainSpikingNet.jl/src/init.jl:132
in expression starting at /home/rjjarvis/git/ben/TrainSpikingNet.jl/src/init.jl:129

hard to debug remotely, but the error is saying you're trying to index a dimension of a matrix that is of size 521 with an index of 522.  some of the indices in the connection matrix must exceed the number of neurons.
and why did you modify the dimensions of wpIndexConvert in init.jl in your fork?  you shouldn't have to make modifications to any of the code, other than your params.jl file and custom plugins, to get a custom adjacency matrix to work.
more generally speaking, it would be great to have a set of plugins which could convert from the allen format (or any other format of interest, e.g. sonata) into that required for trainspiking net.  am happy to help with this and would merge a PR

This is a good point
https://github.com/JuliaWSU/TrainSpikingNet.jl/blob/master/src/init.jl#L121
I will try to revert some of these unnecessary experimental changes to see if that fixes things.
I can also redo the work against the latest source code, even if GPU tests were breaking I only need CPU code to test this with.

hard to debug remotely, but the error is saying you're trying to index a dimension of a matrix that is of size 521 with an index of 522. some of the indices in the connection matrix must exceed the number of neurons.
and why did you modify the dimensions of wpIndexConvert in init.jl in your fork? you shouldn't have to make modifications to any of the code, other than your params.jl file and custom plugins, to get a custom adjacency matrix to work.
more generally speaking, it would be great to have a set of plugins which could convert from the allen format (or any other format of interest, e.g. sonata) into that required for trainspiking net. am happy to help with this and would merge a PR

Oh cool, yes I am working on this:

more generally speaking, it would be great to have a set of plugins which could convert from the allen format (or any other format of interest, e.g. sonata) into that required for trainspiking net. am happy to help with this and would merge a PR

Ill try to send through some code options, maybe as gists before esculating to PRs.
There are a few options:

Less desirable but very effective: use Nest, Sonata, and bmtk directly via PyCall.

Build matrices directly from Sonata files using HDF5, and CSV reader. I may need to use ProfileView to examine if current code is slow due to suboptimal array indexing in loops.

Build Nest as a binary cpp/Julia module, read the Sonata specification files using the Cpp (but not Python code). Populate the Julia namespace with Nest native cpp related Simulation data.

1 and 3 seem the most pragmatic, they will lead to quicker results and better lean on the Sonata file specification. The .json/.py network configurations in Sonata, are succinct files, and Sonata adaptor seems to lead to a way of sub-setting/ downscaling biological networks proportionately.

It would be awesome if the user only had to supply a connection matrix, indices of excitatory neurons and indices of inhibitory neurons.
That would mean the user could achieve wiring by unpacking a JLD matrix instead of writing the code that defines the connectivity.
I tried to do self PRs to update my forks of TrainSpikingNet.jl but resolving those merges could take too long.
The following lines of the init file achieve something like a basic Potjans network simulation with the plastic synapse connectivity being sort of like a stochastic copy of the static weights.
https://github.com/JuliaWSU/TrainSpikingNet.jl/blob/master/src/init.jl#L72-L242
https://github.com/JuliaWSU/TrainSpikingNet.jl/blob/master/enter_potjans_connectome.sh
The blocking issue for this now solved via a bad hack.
Some of this code should be version independent of TrainingSpikingNet.jl, so I have put the code in gists.
https://gist.github.com/russelljjarvis/1aa265c749b6885489d38eb111fb1c61
https://gist.github.com/russelljjarvis/6af437483449682abbc92069d7e9d50e
I was thinking I could fast track to the latest version of the source code, by doing a mix and match of a vanilla call to init.jl, and doing a JLD read of outputs from the potjans_matrix code.

This issue could optionally be closed now too.
I wonder if there is scope for a Discussions page? I have more technical code questions to ask, but they are not "issues" ie they are not code breaks.

It would be awesome if the user only had to supply a connection matrix, indices of excitatory neurons and indices of inhibitory neurons.

supplying such a connection matrix is all you should have to do.  what makes you think more is needed?

That would mean the user could achieve wiring by unpacking a JLD matrix instead of writing the code that defines the connectivity.

reading in a connection matrix from a JLD file, that is created elsewhere, is a totally valid thing to do inside the gen{Static,Plastic}Weights plugins.  in the end, all that matters is that those plugins return connection matrices.  whether they compute them on the fly, or read them from a JLD, doesn't matter.

Some of this code should be version independent of TrainingSpikingNet.jl, so I have put the code in gists.

ideally all of your code should be independent of TrainSpikingNet.jl!  users shouldn't have to fork and modify it.  that's the entire point of the plugin system.

I was thinking I could fast track to the latest version of the source code, by doing a mix and match of a vanilla call to init.jl, and doing a JLD read of outputs from the potjans_matrix code that is in a gist atm.

definitely recommend upgrading to the new version, and using your potjans gist as a custom plugin.  again, you shouldn't have to modify init.jl , or anything else in TrainSpikingNet.jl, to get this to work.  simply split the gist into two files, genStaticWeights-potjans.jl and genPlasticWeights-potjans.jl, and then in your param.jl file set genStaticWeights_file = genStaticWeights-potjans.jl etc.

I can polish this and make it a file in the TrainSpikingNet.jl somewhere.

i'm definitely amenable to creating a new "contrib/" directory for custom plugins the community has written.

i'm definitely amenable to creating a new "contrib/" directory for custom plugins the community has written.

Okay I will change the name of the directory I made in the draft PR from connectomes to contrib

definitely recommend upgrading to the new version, and using your potjans gist as a custom plugin. again, you shouldn't have to modify init.jl , or anything else in TrainSpikingNet.jl, to get this to work. simply split the gist into two files, genStaticWeights-potjans.jl and genPlasticWeights-potjans.jl, and then in your param.jl file set genStaticWeights_file = genStaticWeights-potjans.jl etc.

I will make an example of code that uses the pluggin system just for a static connectome (no plastic weights added yet, plots spikes and quits). The code might fail, but it would be nice to get your input about what went wrong, otherwise I might spend days hacking the wrong bit of code trying to accomodate an unforseen edge case. Its probably better if I can get the example (or counter example runnable on your end).

reading in a connection matrix from a JLD file, that is created elsewhere, is a totally valid thing to do inside the gen{Static,Plastic}Weights plugins. in the end, all that matters is that those plugins return connection matrices. whether they compute them on the fly, or read them from a JLD, doesn't matter.

This might work now, I will test it out somehow.

The new usage pattern in the README is so awesome!

I made a PR, that shows how using the latest code changes, I can get pretty close to using plugin style connectivity matrices.
https://github.com/SpikingNetwork/TrainSpikingNet.jl/pull/4/files
StaticMatrices.jl almost work, PlasticWeightMatrices fail.

definitely recommend upgrading to the new version, and using your potjans gist as a custom plugin. again, you shouldn't have to modify init.jl , or anything else in TrainSpikingNet.jl, to get this to work. simply split the gist into two files, genStaticWeights-potjans.jl and genPlasticWeights-potjans.jl, and then in your param.jl file set genStaticWeights_file = genStaticWeights-potjans.jl

I have mostly taken on this approach.
I was thinking I don't really need to write the a plastic connection matrix rule myself straight away. I can fall back on the erdos one as an intermediate step to debugging this code approach.


[Bug]: Livestream is not working. Getting "No response" after 30sec.

What happened?
I have the latest versions of Homebridge (1.7.0), Node.js (20.9.0) and Eufy Security (2.2.21) running. I'm using a Eufy guest login as recommend. Doorbell camera is showing up in Home app. Thumbnail says "Snapshot unavailable - Device not supported". When I start a live stream, log says "HomeBase 3 station livestream (P2P session) for Doorbell has started".  But I don't see a video stream and after 30sec I get a "No response" error. If there is motion at the door bell at later time, I do get a thumbnail though.
Device Type
Doorbell (Supported)
Plugin Version
v2.0.x (Supported)
HomeBridge Version
other (UnSupported)
NodeJS Version
other (UnSupported)
Operating System
Mac OS X 11+ (UnSupported)
Relevant log output
[11/11/2023, 18:12:18]  [EufySecurity]  INFO    HomeBase 3 station livestream (P2P session) for Doorbell has started.
[11/11/2023, 18:12:45]  [EufySecurity]  INFO    HomeBase 3 station livestream for Doorbell has stopped.
[11/11/2023, 18:12:48]  [EufySecurity]  INFO    Doorbell Stopped video stream.

config
{
    "bridge": {
        "name": "xxx",
        "username": "xxx",
        "port": xxx,
        "pin": "446-33-619",
        "advertiser": "bonjour-hap"
    },
    "accessories": [
        {
            "name": "Colo Dummy",
            "stateful": false,
            "dimmer": false,
            "reverse": false,
            "time": 1000,
            "random": false,
            "resettable": false,
            "brightness": 0,
            "disableLogging": false,
            "accessory": "DummySwitch"
        },
        {
            "name": "Colo Dummy 2",
            "stateful": false,
            "dimmer": false,
            "reverse": false,
            "time": 1000,
            "random": false,
            "resettable": false,
            "brightness": 0,
            "disableLogging": false,
            "accessory": "DummySwitch"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Govee",
            "username": "xxx",
            "password": "xxx",
            "platform": "Govee"
        },
        {
            "pruning": {
                "pruneMissingCachedAccessories": false,
                "restartsBeforeMissingAccessoriesPruned": 3,
                "pruneAllAccessoriesNextRestart": false
            },
            "whiteEffects": {
                "simultaniousDevicesColorWhite": true,
                "colorWhiteThreshold": 10,
                "colorWhiteThresholdSimultaniousDevices": 50,
                "colorOffThresholdSimultaniousDevices": 5
            },
            "deviceManagement": {
                "blacklistOrWhitelist": "blacklist",
                "blacklistedUniqueIDs": [
                    ""
                ]
            },
            "advancedOptions": {
                "periodicDiscovery": true,
                "namesWithMacAddress": false,
                "logLevel": 3
            },
            "platform": "homebridge-magichome-dynamic-platform",
            "_bridge": {
                "username": "xxx",
                "port": xxx
            }
        },
        {
            "name": "TuyaWebPlatform",
            "options": {
                "username": "xxx",
                "password": "xxx",
                "countryCode": "1",
                "platform": "smart_life"
            },
            "defaults": [
                {
                    "device_type": "form"
                }
            ],
            "scenes": true,
            "_bridge": {
                "username": "xxx",
                "port": xxx
            },
            "platform": "TuyaWebPlatform"
        },
        {
            "username": "xxx",
            "password": "xxx",
            "country": "US",
            "deviceName": "",
            "platform": "EufySecurity",
            "cameras": [
                {
                    "serialNumber": "xxx",
                    "rtsp": false,
                    "enableCamera": true,
                    "videoConfig": {
                        "audio": true,
                        "audioSampleRate": 0
                    },
                    "talkback": true,
                    "useCachedLocalLivestream": false,
                    "enableButton": false,
                    "motionButton": false,
                    "indoorChimeButton": false
                }
            ],
            "_bridge": {
                "username": "xxx",
                "port": xxx
            },
            "ignoreStations": [],
            "ignoreDevices": [],
            "cleanCache": true
        },
        {
            "name": "Button Platform",
            "port": 3001,
            "buttons": [
                "bedroom",
                "tunes",
                "livingroom"
            ],
            "_bridge": {
                "username": "xxx",
                "port": xxx
            },
            "platform": "button-platform"
        }
    ]
}

Yes, I checked the Common Issues and streaming troubleshooting pages. None of the solutions helped. I also turned on "Debug" mode - now my Doorbell camera disappeared and I can't turn Debug mode off anymore. Switch says it's off but it isn't. What are the next steps I can take to get the camera working again?


Outsourcing of the scaling utility

As mentioned in issue #18 I have outsourced my scaling work into a utils file.
These changes would allow to piece by piece make some of the fractals scale appropriately.
Also, I found an existing remap function, which I then deprecated. If you feel that it does not belong into this PR I can drop some commits!
Let me know what you think!

nice cleanup work. Will merge this :+1:


What loss is used during stage-1 pre-training - "l2" or MSE loss

In the github scripts, it uses "l2" loss which is a cosine alignment loss but in the paper, it is mentioned that it uses MSE loss. I am curious which is right?
Excerpt from the paper:
"... We select the corresponding unmasked token from the student and teacher, and compute the mean squared error (MSE) between the normalized pairs..."
From the scripts it uses clip_loss_type = "l2" and clip_norm_type="l2"
if clip_loss_type == 'mse':
    loss_func_clip = nn.MSELoss()
elif clip_loss_type == 'smooth_l1':
    loss_func_clip = nn.SmoothL1Loss()
.
.
.

if clip_loss_type == 'l2':
    loss_clip = (2 - 2 * (outputs_clip * targets_clip).sum(dim=-1)).mean()
elif clip_loss_type in ['mse', 'smooth_l1']:
    loss_clip = loss_func_clip(input=outputs_clip, target=targets_clip)
loss_func_clip =

The above code uses cosine distance and not MSE. What is the loss that is used for the best stage-1 pre-trained checkpoint?

Thanks for your good question. Since the output has been processed by L2 normalization, the MSE loss is equal to cosine distance, which was followed by  MILAN. I do not change the name seriously is the code, so it may be a little misleading.

Make sense! Thank you.
PS: I ran into Nan loss when used MSE loss function and fp16 training, so "l2" is numerically stable too.

Great! For NAN, maybe you can try bf16, which is more stable.