{"action":"created","issue":{"url":"https://api.github.com/repos/nengo/nengo_spa/issues/26","repository_url":"https://api.github.com/repos/nengo/nengo_spa","labels_url":"https://api.github.com/repos/nengo/nengo_spa/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/nengo/nengo_spa/issues/26/comments","events_url":"https://api.github.com/repos/nengo/nengo_spa/issues/26/events","html_url":"https://github.com/nengo/nengo_spa/issues/26","id":228361563,"number":26,"title":"Add function to inhibit complete networks","user":{"login":"jgosmann","id":850157,"avatar_url":"https://avatars0.githubusercontent.com/u/850157?v=3","gravatar_id":"","url":"https://api.github.com/users/jgosmann","html_url":"https://github.com/jgosmann","followers_url":"https://api.github.com/users/jgosmann/followers","following_url":"https://api.github.com/users/jgosmann/following{/other_user}","gists_url":"https://api.github.com/users/jgosmann/gists{/gist_id}","starred_url":"https://api.github.com/users/jgosmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgosmann/subscriptions","organizations_url":"https://api.github.com/users/jgosmann/orgs","repos_url":"https://api.github.com/users/jgosmann/repos","events_url":"https://api.github.com/users/jgosmann/events{/privacy}","received_events_url":"https://api.github.com/users/jgosmann/received_events","type":"User","site_admin":false},"labels":[{"id":603854252,"url":"https://api.github.com/repos/nengo/nengo_spa/labels/discussion","name":"discussion","color":"207de5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-05-12T17:46:30Z","updated_at":"2017-06-08T17:44:52Z","closed_at":null,"body":"This was proposed in nengo/nengo#1288 and after extensive discussion in nengo/nengo#1301 it was decided to implement such a function in nengo_spa.\r\n\r\nAdditional discussion is required to decide wether to go with the approach in nengo/nengo#1288 or write a function that creates a node that can be connected to."},"comment":{"url":"https://api.github.com/repos/nengo/nengo_spa/issues/comments/307176604","html_url":"https://github.com/nengo/nengo_spa/issues/26#issuecomment-307176604","issue_url":"https://api.github.com/repos/nengo/nengo_spa/issues/26","id":307176604,"user":{"login":"tbekolay","id":203709,"avatar_url":"https://avatars1.githubusercontent.com/u/203709?v=3","gravatar_id":"","url":"https://api.github.com/users/tbekolay","html_url":"https://github.com/tbekolay","followers_url":"https://api.github.com/users/tbekolay/followers","following_url":"https://api.github.com/users/tbekolay/following{/other_user}","gists_url":"https://api.github.com/users/tbekolay/gists{/gist_id}","starred_url":"https://api.github.com/users/tbekolay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbekolay/subscriptions","organizations_url":"https://api.github.com/users/tbekolay/orgs","repos_url":"https://api.github.com/users/tbekolay/repos","events_url":"https://api.github.com/users/tbekolay/events{/privacy}","received_events_url":"https://api.github.com/users/tbekolay/received_events","type":"User","site_admin":false},"created_at":"2017-06-08T17:44:52Z","updated_at":"2017-06-08T17:44:52Z","body":"Personally I prefer 2 because it results in fewer connections if you have multiple things that can inhibit the ensemble. E.g., if there are 8 ensembles in the network, having two sources of inhibition results in 16 connections with option 1 and 10 connections in option 2. A single connection to a node also feels easier to manipulate (to me) compared to a list of connections.\r\n\r\nRegarding the connections that are created within the function, it doesn't feel to me like you would ever need to modify those connections unless you wanted to inhibit some ensembles more than others? Otherwise, anything you would want to do to each connection you should instead do to the connection to the node that is returned by the function.\r\n\r\nWhile I think that returning the node is a better solution for a helper function, there is precedent for adding attributes to an object through a method in [`EnsembleArray.add_output`](https://github.com/nengo/nengo/blob/master/nengo/networks/ensemblearray.py#L199). Not saying that's an ideal solution, but we've been using it for a long time so it must not be too bad."}}
{"actor":{"display_login":"tbekolay"}}