Hidden Markov models

Why this PR?
Adds models for analyzing time series data exhibiting transitions between discrete states. This is useful for constant-extension experiments or photon count time traces (especially FRET)
This PR lays down all of the internal algorithms for model training and state labeling. A second PR will focus on building up the rest of the public API with convenience functions for plots, histograms, etc...
Notes:

Similar to lk.GaussianMixtureModel that wraps sklearn's GMM, I defined an internal model class to just handle the parameters and initialization/update; we can then expose what we want from the model through the public API that wraps this
There is a lot of internal code that uses notation seemingly from nowhere, however it is pretty standard in the HMM field and derives largely from Rabiner's seminal "A tutorial on HMMs and selected applications in speech recognition". Another very useful resource is the HMM project from his speech recognition course, although not exactly sure if we should or how we should cite this
Mostly I did this to avoid using things like state_transition_matrix sprinkled in throughout the algorithm, instead using the standard A. Open for discussion if there are suggestions for finding a middle ground here.
For the public properties I use more descriptive attribute names (means instead of mu)
Much of the code is pulled from my smtirf repo, written during my postdoc and refactored to fit pylake's API style and vectorized where possible (since we're not yet using numba)
The only intended public API is the HiddenMarkovModel class, although I haven't made it public yet. My idea is to match the interface with that of lk.GaussianMixtureModel.

A typical workflow (after completing the public API) would be something like:
model = lk.HiddenMarkovModel.from_channel(force1x, n_states=3)
model.plot(force1x)

Update Dec 8 2023:
@JoepVanlier  I've implemented your requested changes and added further convenience API to match that of our GMM (plotting, histograms, etc). There are a lot of small commits but I thought that might make it easier to review. If not I can squash down (I think this whole thing will end up as 1 commit in the end)
A few notes

there's the fixup with the issue we ran into with the monkeypatching. I left that as a separate commit right at the beginning
I forgot to move stuff to detail before making changes .... so I just did that in one go, literal copy/paste from one commit to the next
rather than adding a from_channel class method like for the GMM I found it nicer to just deal with it in the constructor. I'm actually re-thinking if we even want to allow using these models with numpy arrays because a lot of the downstream stuff relies on time information. so to make it actually useful we'd need to either

allow users to optionally supply  the time step if they're using regular arrays
disallow this altogether

I think I want to get rid of the label method for this and GMM and replace it either with .path() like I have here. Or might be more useful to have two separate methods .state_path() and .emission_path() But I'll do this in the next PR so this one doesn't go too crazy with adding functionality and changing existing API
docs seem a bit incomplete, but I want to do another PR to make changes to the GMM API that will I think be nicer user experience in the end and avoids writing long/complex example code for certain visualizations I want to show for comparing between GMM and HMM


How to get Image Description

I want input as image and output as Place name or image description

Please refer to https://github.com/yxgeee/OpenIBL#extract-descriptor-for-a-single-image for how to extract image description for a single input image.

I have to refer this link but this only show numeric value not show image description

Yes, here we denote feature vectors as image descriptions. So what do you want?

Yes ,I want image caption like only place name

You need to establish a gallery with images and their corresponding place name. Then using our code for feature extraction and image retrieval. At last, the place name of ranked top-1 gallery image can be used for describing the probe image.

Thank you sir for your response. This greatly helps.
On Tue, 10 Nov, 2020, 10:34 pm Yixiao Ge<EMAIL_ADDRESS>wrote:

You need to establish a gallery with images and their corresponding place
name. Then using our code for feature extraction and image retrieval. At
last, the place name of ranked top-1 gallery image can be used for
describing the probe image.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yxgeee/OpenIBL/issues/8#issuecomment-724836082, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOIXCXJIMXOJVQTTQSXM5FTSPFXAHANCNFSM4TQICVEA
.


Peer Review [V&V Plan] - reference to hazards doc

Artifact Under Review
V&V Plan
Team Number for Team Doing the Review
Team 10
Description of Issue
It might be good to include a reference to your hazards doc in 2.4 , and take it into account when evaluating how your tests might pass/fail from the different failure modes

@Necried


EventSocket Exception on Stream Enabled "null" Value

zetta/lib/event_socket.js
EventSocket.prototype.send = function(topic, data) {
  if (!Buffer.isBuffer(data) && typeof data === 'object') {
    var tmpData = (this.streamEnabled) ? data.data : data;

    if (tmpData['transitions']) {

Error: "Cannot read property 'transitions' of null"
I have a monitorable property "delay" that is typically a decrementing number. It can be set to null though, and when it does, the above exception occurs (while events socket is open).

TypeError: Cannot read property 'transitions' of null
    at EventSocket.send (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/event_socket.js:190:16)
    at EventBroker._publishStreamEnabledClient (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/event_broker.js:208:10)
    at /Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/event_broker.js:284:16
    at EventBroker._subscribe.handler (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/event_broker.js:106:5)
    at PubSub._onCallback (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/pubsub_service.js:102:3)
    at EventEmitter.PubSub.subscribe.f (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/pubsub_service.js:44:14)
    at EventEmitter.emit (events.js:129:20)
    at PubSub.publish (/Users/williamking/Projects/Jilia/TOT/tot-sandbox/node_modules/zetta/lib/pubsub_service.js:32:16)
    at ObjectStream._write (/Users/williamking/Projects/Jilia/TOT/stratus-security-service/node_modules/zetta-device/node_modules/zetta-streams/object_stream.js:16:18)
    at doWrite (_stream_writable.js:301:12)

TypeError: Cannot read property 'transitions' of null
    at EventSocket.send (/Users/me/Projects/zettaproj/node_modules/zetta/lib/event_socket.js:190:16)
    at EventBroker._publishStreamEnabledClient (/Users/me/Projects/zettaproj/node_modules/zetta/lib/event_broker.js:208:10)
    at /Users/me/Projects/zettaproj/node_modules/zetta/lib/event_broker.js:284:16
    at EventBroker._subscribe.handler (/Users/me/Projects/zettaproj/node_modules/zetta/lib/event_broker.js:106:5)
    at PubSub._onCallback (/Users/me/Projects/zettaproj/node_modules/zetta/lib/pubsub_service.js:102:3)
    at EventEmitter.PubSub.subscribe.f (/Users/me/Projects/zettaproj/node_modules/zetta/lib/pubsub_service.js:44:14)
    at EventEmitter.emit (events.js:129:20)
    at PubSub.publish (/Users/me/Projects/zettaproj/node_modules/zetta/lib/pubsub_service.js:32:16)
    at ObjectStream._write (/Users/me/Projects/zettaproj/service/node_modules/zetta-device/node_modules/zetta-streams/object_stream.js:16:18)
    at doWrite (_stream_writable.js:301:12)

Thanks @wooliet i found the error and should have a fix by end of day.
What do you expect the client to see when the value goes null?

null I suppose. Is that not an expected use case?

I've published a pre release with this fix in it. You can install it with<EMAIL_ADDRESS>


Refactor to use Thanos v0.20.1

We would like to have the thanos dependency's version incremented v0.20.1 (and conflicts stemming from that resolved).  This version of the thanos code has new features, one of which that we're particularly interested in is the ability to use self-signed certificates for the storeapi grpc connection.
Unfortunately it's a relatively large jump, (from v0.13.1), and it looks like a simple version bump in go.mod throws a bunch of dependency conflicts or build errors, so it appears to be non-trivial/a bit more complicated than that.

When we took a stab at upgrading it, we ended up with the following https://github.com/anishasthana/obslytics/tree/update_dependencies. We have not been able to get around one of the dependency failures. Pinning gnostic to v0.4.0 resulted in another import failing as one of the other modules requires v0.5.1 or higher.
> go mod tidy
go: finding module for package github.com/googleapis/gnostic/openapiv2
github.com/thanos-community/obslytics/pkg/series/promread imports
        github.com/prometheus/prometheus/storage/remote imports
        github.com/prometheus/prometheus/config tested by
        github.com/prometheus/prometheus/config.test imports
        github.com/prometheus/prometheus/discovery/kubernetes tested by
        github.com/prometheus/prometheus/discovery/kubernetes.test imports
        k8s.io/client-go/kubernetes/fake imports
        k8s.io/client-go/testing imports
        k8s.io/apimachinery/pkg/util/strategicpatch tested by
        k8s.io/apimachinery/pkg/util/strategicpatch.test imports
        k8s.io/apimachinery/pkg/util/strategicpatch/testing imports
        github.com/googleapis/gnostic/openapiv2: module github.com/googleapis/gnostic@latest found (v0.5.5, replaced by github.com/googleapis/gnostic@v0.4.0), but does not contain package github.com/googleapis/gnostic/openapiv2


[T5A1][W11-B4] Ong Heng Le

@initialshl
Some comments added. Please ack & close the PR after reading comments.


[CH] support function input_file_name()

Description
As velox previously did: https://github.com/apache/incubator-gluten/pull/6021/files

@taiyang-li are you working on this?

No. Just record it in issue.

duplicated


support include param

This PR close #13

I added documentation about inclusions and its error handling inside the controller


Filter challenges by organizer

@rrchai is passing an array of User ids as a query parameter, then in the backend:

get the login of these users
query the ChallengeOrganizers that have their login in the set identified in Step 1
get the ChallengeOrganizer.challengeId for the organizers identied
filter out the challenges that don't have their ids in the set identified in Step 3

Done


Default content type to text/plain;charset=UTF-8 with ajaxConfig

Is there a reason why body are send by default with a Content-Type to text/plain;charset=UTF-8?
This is very painful.
Ok, this is on my side too.
Using ajaxConfig is the reason of this, but I can't find why.
ajaxConfig: {
  beforeSend: function(xhr) {
    xhr.open(this.type, this.url + `?token=...`, true);
    const accessToken = getAccessToken();
    if (accessToken) {
      xhr.setRequestHeader('Authorization', `Bearer ${accessToken}`);
    }
  },

Not related to ampersand-model.
I'll post the solution  here when I find it.

This is enough to fix the problem;
ajaxConfig: {
  beforeSend: function(xhr) {
    xhr.open(this.type, this.url + `?token=...`, true);
    Object.keys(xhr.headers).forEach(header => {
      xhr.setRequestHeader(header, xhr.headers[header]);
    });
  },


docs: grammar, wording and alexjs

Fixes a lot of grammar issues and wording using Grammarly and alexjs

LGTM 🚀 Thank you for your contribution! 😄👍 Let's wait for the other maintainers' review. :)
By the way, where is AlexJS being added here? 👀

I have removed all the alexJS violations ;)


hub does not expand ~ while reading gitconfig's editor

While git seems to have no problem with this editor wrapper script, specified as relative path to my home dir ~ (when I made the commit just now), hub does not seem to expand ~.
HUB_VERBOSE=1 hub pull-request
...
$ git var GIT_EDITOR
$ git config core.commentchar
$ ~/bin/gitedit /home/nhed/Projects/xxxxxx/.git/PULLREQ_EDITMSG
error using text editor for pull request message

For test I replaced with absolute path (which won't work for me as i'm sharing a gitconfig across machines with different home dir path)
priority: low

Thank you for reporting. This is similar to https://github.com/github/hub/issues/1482 and will be fixed by https://github.com/github/hub/pull/2214.
In the meantime you can try using $HOME instead of ~ to have a portable solution.


Different object definition from other swagger files

Hello!
We found different object definition from other swagger files for next types:

LocalClass
ServiceEndPoint

Example 1:
LocalClass from Tapi.swagger:
  LocalClass:
    description: >-
      The TAPI GlobalComponent serves as the super class for all TAPI entities
      that can be directly retrieved by their ID. As such, these are first class
      entities and their ID is expected to be globally unique.
    properties:
      _extensions:
        items:
          $ref: '#/definitions/ExtensionsSpec'
        type: array
        description: none
        x-key: extensionsSpecification
      localId:
        type: string
        description: none
      name:
        items:
          $ref: '#/definitions/NameAndValue'
        type: array
        description: >-
          List of names. A property of an entity with a value that is unique in
          some namespace but may change during the life of the entity. A name
          carries no semantics with respect to the purpose of the entity.
        x-key: valueName

LocalClass from TapiPathComputation.swagger:
  LocalClass:
    description: >-
      The TAPI GlobalComponent serves as the super class for all TAPI entities
      that can be directly retrieved by their ID. As such, these are first class
      entities and their ID is expected to be globally unique.
    properties:
      _extensions:
        items:
          $ref: '#/definitions/ExtensionsSpec'
        type: array
        description: none
        x-key: extensionsSpecification
      localId:
        type: string
        description: none

Example 2:
ServiceEndPoint from Tapi.swagger:
  ServiceEndPoint:
    description: >-
      The LogicalTerminationPoint (LTP) object class encapsulates the
      termination and adaptation functions of one or more transport layers.

      The structure of LTP supports all transport protocols including circuit
      and packet forms.
    allOf:
      - $ref: '#/definitions/ResourceSpec'
      - properties:
          _state:
            description: none
            $ref: '#/definitions/LifecycleStatePac'
          direction:
            enum:
              - BIDIRECTIONAL
              - SINK
              - SOURCE
              - UNDEFINED_OR_UNKNOWN
            type: string
            description: none
          _layerProtocol:
            items:
              $ref: '#/definitions/LayerProtocol'
            type: array
            description: none
            x-key: localId

ServiceEndPoint from TapiPathComputation.swagger:
  ServiceEndPoint:
    description: >-
      The LogicalTerminationPoint (LTP) object class encapsulates the
      termination and adaptation functions of one or more transport layers.

      The structure of LTP supports all transport protocols including circuit
      and packet forms.
    properties:
      _state:
        description: none
        $ref: '#/definitions/LifecycleStatePac'
      direction:
        enum:
          - BIDIRECTIONAL
          - SINK
          - SOURCE
          - UNDEFINED_OR_UNKNOWN
        type: string
        description: none
      _layerProtocol:
        items:
          $ref: '#/definitions/LayerProtocol'
        type: array
        description: none
        x-key: localId

I think LocalClass and ServiceEndPoint definition more full in Tapi.swagger.
Please see all swagger files and change this problem for all Type definitions:

LocalClass
ServiceEndPoint

Thanks!

I see that LocalClass is fixed.
Why do you skip ServiceEndPoint definitions?
ServiceEndPoint from Tapi.swagger:
  ServiceEndPoint:
    description: >-
      The LogicalTerminationPoint (LTP) object class encapsulates the
      termination and adaptation functions of one or more transport layers.

      The structure of LTP supports all transport protocols including circuit
      and packet forms.
    allOf:
      - $ref: '#/definitions/ResourceSpec'
      - properties:
          _state:
            description: none
            $ref: '#/definitions/LifecycleStatePac'
          direction:
            enum:
              - BIDIRECTIONAL
              - SINK
              - SOURCE
              - UNDEFINED_OR_UNKNOWN
            type: string
            description: none
          _layerProtocol:
            items:
              $ref: '#/definitions/LayerProtocol'
            type: array
            description: none
            x-key: localId

ServiceEndPoint from other swagger files:
  ServiceEndPoint:
    description: >-
      The LogicalTerminationPoint (LTP) object class encapsulates the
      termination and adaptation functions of one or more transport layers.

      The structure of LTP supports all transport protocols including circuit
      and packet forms.
    properties:
      _state:
        description: none
        $ref: '#/definitions/LifecycleStatePac'
      direction:
        enum:
          - BIDIRECTIONAL
          - SINK
          - SOURCE
          - UNDEFINED_OR_UNKNOWN
        type: string
        description: none
      _layerProtocol:
        items:
          $ref: '#/definitions/LayerProtocol'
        type: array
        description: none
        x-key: localId

Please, check it.
Thanks!

This line is forget in ServiceEndPoint : - $ref: '#/definitions/ResourceSpec'


Translate the new text

#8 added new text, but it's only translated in English. Maybe the new text should be translated to the other languages.

@GreyXor @pacifi5t @cardpuncher
Is it OK for you to do this?

On 6.08.2023 12:13, LY wrote:

@GreyXor https://github.com/GreyXor @pacifi5t
https://github.com/pacifi5t @cardpuncher https://github.com/cardpuncher
Is it OK for you to do this?

Sure, PR just sent.

@GreyXor @pacifi5t @cardpuncher Is it OK for you to do this?

Yeah, no problem


Extracting tar content of undefined failed

Describe the bug
I using verdaccio on the iis server.
Using yarn install failed.
The error message is :
Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write";
No error log in the server.
Screenshots

Configuration File (cat ~/.config/verdaccio/config.yaml)
Environment information
System:
OS: Windows 8.1
CPU: (4) x64 Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Binaries:
Node: 10.15.3 - C:\Program Files\nodejs\node.EXE
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD

hi @NexxLuo, I'd recommend try to find the file in the storage and remove it manually, the file might has been corrupted due network issues.

@juanpicado I tried, it did`t work.

Sometimes, I get this problem:
DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

Not related, it is just a Node.js message in Node.js 12.

@juanpicado I tried, it did`t work.

https://verdaccio.org/docs/en/configuration#max-body-size
10.4 MB, if you have noticed the max is 10MB by default, perhaps you might increase that value. 100MB is recommended.
+<EMAIL_ADDRESS>added 505 packages from 383 contributors and audited 6968 packages in 24.998s
found 0 vulnerabilities

npm timing npm Completed in 25562ms
npm info ok

I set max_body_size to 200mb in config.yaml  .  Is it can`t work because i using it on iis server ?
This is my config file.
storage: ./storage
plugins: ./plugins

web:
  enable: true
  title:  npm registry
  logo: "./public/logo.png"
  primary_color: "#15286d"
  gravatar: true

auth:
  htpasswd:
    file: ./htpasswd

uplinks:
  taobao:
    url: https://registry.npm.taobao.org/
    timeout: 5000ms
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@*/*':
    access: $all
    publish: $authenticated
    proxy: npmjs

  '**':

    access: $all

    publish: $authenticated

    proxy: npmjs

server:
  keepAliveTimeout: 60

middlewares:
  audit:
    enabled: true

logs:
  - {type: stdout, format: pretty, level: http}

max_body_size: 200mb

Unfortunately I don’t use IIS but either you might search in other issues here or ask windows experts about run Node.js apps in IIS.

I change to run in node server.  Still has this problem.

A new error infomation found .

@NexxLuo https://github.com/verdaccio/verdaccio/issues/877

In your log says lack of space in your device, that seems the reason. I'll close this.

same error

same error

Please create a new issue and provide all needed steps and information so that we can reproduce and check this.


chore(whatsnew): updated translation from Crowdin

:tada: This PR is included in version 2.130.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Move initial website from branch to new top-level repo

I moved the website code from the branch 'website' to a new top-level repository in ALIGN-analoglayout named Website. I didn't move any of the checkin history. The code that was there in docs/Website is now at the top-level in the new repo as the initial checkin.


Terrraform deployment error - Error: couldn't reach node X

Hi,
Sometimes the node itself is in a weird state, it is running no errors shown, it is able to sync with the grid so it is up to date but i cannot deploy, i get the below error, this happened to me in a bunch of nodes, i have seen that after rebooting the node, all work just fine
(Note:  ipv4 communication seems to be working just fine)
│ Error: couldn't reach node 	334: (400): {"status": "error", "message": "Post "http://300:59d7:c6b0:6d82:21bc:ce3d:7927:1ebc:8051/zbus-cmd": dial tcp [300:59d7:c6b0:6d82:21bc:ce3d:7927:1ebc]:8051: i/o timeout"}
│
│   with grid_network.net,
│   on streamr.tf line 21, in resource "grid_network" "net":
│   21: resource "grid_network" "net" {
│
╵
Using:
terraform v1.2.1
Best regards

@coesensbert reported a similar behavior for a couple of nodes ("Node 292 and 478 from Farm 73"). Node 292 and 334 have a public ip but it's not pingable, and its ygg ip is not pingable. Terraform tries to validate at the beginning that it can reach the node and fails with this error.
It's possible that it's a problem with the network setup of the node (e.g. it blocks inbound traffic after sometime or something like this). Or it's an issue with zos that causes connectivity loss.


(Pronounciation) Sean

It's not quite "Sh-ang (上)" (the difference is in the consonant part).

At the moment we are denoting it as ṡ, considered as "non-aspirated" (though probably not a very accurate terminology) in Alphabet and Phonetic Table.


Infra 001 repository naming conventions odr

First ODR  (Organizational Decision Record ) for our new organization and the /docs repo. Please read the ODRs/README.md and check the ODRs/odr_template.md before reviewing.
:vulcan_salute:

Looks good to me. When I wrote ADRs, I was always thinking about how to organize (order) them in a proper way because the number of ADRs addressing similar topics can be very discrete. But now this problem is solved.


feat(headers): support known extensions

And only known extensions. Clean up parsing of extensions in general.

@seanmonstar: could you let me know when you plan to review this?

This would be a breaking change, right? If so can you add BREAKING_CHANGE: <description> to the commit message?

Sorry, yes, this would be a breaking change, so it couldn't be part of 0.11. I'll put it in the 0.12 milestone, but if someone needs it immediately, one could just copy the code into a local module and use it instead of importing from hyper.

@LegNeato, @seanmonstar: done. @seanmonstar: okay great, but when is a review planned, if any?

As noted in #189, headers are actually going to moved out of hyper proper. So as to not keep this dangling, I'm going to close this. Thanks for the submission, and of course, because the header system works for anything that implements Header, anyone can use these changes themselves by creating a new type.

@seanmonstar: would it be okay to merge this PR, for the time being? Nobody is going to look up a stale PR branch to reuse any of this work, so it’d be a waste. Even if you plan to release the redesigned hyper version soon, then at least I could pin hyper to an older version still has the header module, along with this enhancement.

Is there any particular reason you need to pull the header from the Hyper crate specifically?

No there isn’t. I was under the impression that the new headers crate will not be API-compatible with the old one. Apart from that, I assumed that the starting point in terms of headers to reimplement would be the original Hyper headers module, and so that it would matter for everyone whether this PR gets merged or is left depending on further initiative.

Unfortunately, it can't just be merged, as it's a breaking change.


Toyota: remove 100°/sec steering lockout

Will need to look at a lot of different cars to verify the numbers, but in a Toyota Camry Hybrid 2022, steering faults when the steering angle rate from the message STEER_ANGLE_SENSOR is above 100 degrees/sec for longer than either 21 or 25 cycles/frames.
Not sure what the purpose is of this, but the signal we check for temporary steering faults (EPS_STATUS->LKA_STATE) goes to either 25 or 21 on rising edge of a fault, and it seems to describe to the number of sent steering messages where the wheel has been above 100 deg/s. We can also request zero torque and set the torque request bit to 1, and we still fault under the exact same conditions. So the EPS isn't looking at commanded torque, driver torque, or EPS torque at all for faults.
With this change, the user can override as fast as possible and no faults should occur as we cut steering until the rate falls below the threshold the EPS seems to have internally.

[ ] See for how long we can set the STEER_REQUEST bit to 0 while sending non-zero STEER_TORQUE_CMD values, as this allows for better control when in high angle rate scenarios.

Tested and working great on my 2020 Corolla hybrid.

Works well on 18 prius

works well on 17 corolla.
especially helps out with joystick, making full runs to taco bell much easier.
since you no longer need to stay below the rate limit manually, you can focus on smoother control.
might need to notify the user when it's being rate limited, like a mini steerTempUnavailable

Also working well on 2022 rav4 hybrid. Might use it daily as it removes annoying warning: steering unavailable messages when manually steering sharp curves while engaged.

Just need panda safety and this should be good to go! Will post notebook results as well. Once we correctly cut torque, you don't notice at all that it cuts torque for a frame at 5 hz

Did some extensive testing with joystick and no temp/perm faults at all!
route has many examples of cutting apply_steer_req
b50bf8667197cbdb|2022-05-29--19-57-33

Just wanted to verify the thresholds, so I ran on 685,309 segments (TODO: include dongles and platforms)
Of all the faults (505 unique temporary steering faults, and two permanent faults filtered out), the minimum number of (100hz CAN) frames where the rate is above 100 deg/s is 21, with the mean being around 27 frames until it faults above 100 deg/s. So a threshold of 19 steering message frames should be more than enough to avoid any faults.
The only outlier is a 2020 Highlander Hybrid which faulted in 17 frames, however its steering rate went from 0 to ~140 in one frame, so I suspect something weird happened there (fe7c7758734362ae|2022-03-21--13-16-00--6)
And here's just a comparison of using 100Hz CAN frames to count vs. using when the steering rate message was updated (80Hz, doesn't seem to make it more consistent). I'm also not too sure what conditions allow some cars to fault after much longer than 20 frames, but it seems relatively rare according to the plots below (50 faults greater than 30 frames, worth looking into eventually, but even the chosen 19 frames provides great control)
Faults with 0 frames: 0 (2 permanent faults filtered out)
Fault frames vl_all mean: 22.805940594059408, std: 5.340482823542282
Fault frames vl_all min: 17, max: 70
Fault frames vl     mean: 26.766336633663368, std: 5.812998020444156
Fault frames vl     min: 21, max: 85
Max: 85, min: 21
Total valid faults: 505 in 685309 segments

Distribution plots: https://imgur.com/a/g77AyYa

Sanity test -- cutting torque every 19 frames, no faults!


Make sure a truncated file always uses EOFError

Right now, a truncated file can raise many different types of exceptions, e.g. ValueError when np.frombuffer gets a too short buffer.
We should make sure that the same root cause always results in the same exception.

Actually, there's more to it: since generator is used to iterate over the file, the iteration would stop if a file is corrupted (i.e. not truncated, but some record in the middle is erroneous). I'm not 100% sure whether it may happen, that one record in simtel file got corrupted, but the next is not, but in such case the iteration will stop and the remainder of the file won't be processed.
This perhaps can be resolved by yielding an exception instead of throwing. See e.g. https://stackoverflow.com/questions/11366892/handle-generator-exceptions-in-its-consumer
p.s. in current implementation it is also not possible to catch an exception like this:
for event in EventSource('event_file.simtel'):
    try:
        do_something(event)
    except MyException as e:
        print(f'Caught exception!: {e}')

due to the fact that exception will be raised in generator.

I'm not 100% sure whether it may happen, that one record in simtel file got corrupted, but the next is not,

This is not really possible, as simtel array files are a streaming data format. If something is broken, everything after that point will be garbage / impossible to judge if correct. You won't be able to find back to something working.

p.s. in current implementation it is also not possible to catch an exception like this:

That's how iterators work. If you want to be safe against that, do it like this:
with EventSource(...) as source:
    it = iter(source)
    while True:
        try:
            event = next(it)
        except StopIteration:
            break
        except MyException:
            pass

Are there no "sync markers"?

Yes, there are. But we never encountered such a case of a "broken in the middle" file. It was always until now truncated files where processing stopped due to some error

Yeah, I think for simulations it's not worry worrying about as the files are smallish and can be re-generated.  I will however propose a requirement for DL0...


Deprecation: llvm_asm! > asm!

See https://github.com/rust-osdev/bootloader/issues/107#issuecomment-922407476
Basically:

This crate used asm! which was renamed to llvm_asm!
asm! was re-introduced with a different API and is the current recommended way to do inline assembly
the x86_64 crate has been updated accordingly: see https://github.com/rust-osdev/x86_64/pull/165

I apologize, it seems this was already done via https://github.com/rust-osdev/bootloader/pull/154


Search update

Description
This PR improves version switching on the website. The new feature helps with searching for APIs mostly, but can also work for pages you're searching for that exist in different versions.
The current version selector will kick you to the home page from the search page. I fixed this behavior for the API section of the docs last week, but thought fixing search would be a big UX improvement too.
It's generalized now too.

It should work for any section of the site.
It should retain both bookmarks # and query strings ?.
It is overridden by the .htaccess file, so sections like tutorials will still always go to the latest.

Usage
As this is a javascript update, please be sure to clear your cache.
Let's say you're looking for allreduce, but for whatever reason you're on the v1.0.0 of the site (like coming in from Google):
http://<IP_ADDRESS>/versions/1.0.0/search.html?q=allreduce&check_keywords=yes&area=default#
You get no results, but you're prompted to use the versions dropdown.
So you choose 1.3.0:
http://<IP_ADDRESS>/versions/1.3.0/search.html?q=allreduce&check_keywords=yes&area=default
You get a result.
Preview

Comment
It would be awesome if the search fails we have it return other versions as suggestions, but I'm not that familiar yet with how Sphinx does its search magic... so that can be another day!

@mxnet-label-bot [pr-awaiting-review]

@safrooze @aaronmarkham - ping for next steps here

@sandeep-krishnamurthy @safrooze I've re-enabled the preview. You should clear your cache to make sure you're getting the latest .htaccess file.
This was pretty challenging to resolve and I hope I have the different angles covered with:
https://github.com/apache/incubator-mxnet/pull/12689/files#diff-8752dbf83f90b837af0035f3c1291ecdR31
That should redirect traffic to the root to master. Requests to other versions go through. I added an env var to htaccess to hold the default version, which is currently 'master'.
I kind of wish I wasn't combining the search fix with this kind of structure fix, but anyway, here we are. Please test it out.

@safrooze Could you please take a look into this PR?

@aaronmarkham could you please elaborate more on the issue by providing an example? You can consider addressing the regex issue with another PR and have this PR move ahead.

There are two competing routes to make this move forward.
The first is to add a second match to the regex so that anything /not-in-versions/ folder works, as mentioned by Sina.
The second, and the route I started to take here, is to make sure everything is in /versions/. That requires a redirect on anything not in versions. Smartly done, it'll take your request to /api and move it the /versions/master/api, where master is what is set to be the default in htaccess and any root requests are forwarded... but it's not working...:
RewriteRule .* - [E=default_version:/versions/master]
# other rules
...
# finally, check and forward
# Redirect any root requests to the default version
RewriteRule ^(?!versions\/[0-9.master]+\/)(.*)$ %{ENV:default_version}/$1 [R=301,NC,L]

@aaronmarkham are you able to fix the issue you mentioned above?
If it will take you a long time, you can create a separate PR for this so that we can merge this one

@aaronmarkham ping for update, thanks!

Closing this in favor of tackling the problems separately. The site should be updated to have traffic directed to the default version. Then we can improve search.


Add typo correction test case that was fixed, and skip accessors in lookup

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Ionic cordova not showing map

Hi, I have a problem but I don't know how to explain it.
I created an app which use a map with some points., It was working before but since few weeks the maps doesn't show. There is nothing, neither a blank map.
I've check this link https://github.com/mapsplugin/cordova-plugin-googlemaps/wiki/TroubleShooting:-Blank-Map and everything seems right.
There isn't any errors which is more dificult to find the problem
I hope you could help me.
Thanks

Please try to create a very simple project at first, then confirm the map is showing or not.

I tryed it as the one in your tutorial, but I get a blank map
2017-02-22 1:11 GMT-05:00 Masashi Katsumata<EMAIL_ADDRESS>
Please try to create a very simple project at first, then confirm the map
is showing or not.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1319#issuecomment-281579218,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUEb7JhrNQqeatpjd-5R4PTcyEX22X61ks5re9GbgaJpZM4MINlb
.

Then what native error did you get?

I don't have any error, this is my problem. It just doesn't show anything,
empty.
I put the SH1, and I can see that some marker are added (in the code) but
no map.
Perhaps if I show you the code yu could help me, it's an ionic app.
Let me know.
Thanks
2017-02-22 10:03 GMT-05:00 Masashi Katsumata<EMAIL_ADDRESS>
Then what native error did you get?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1319#issuecomment-281694252,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUEb7GaRUmM67IWk83GjwPuAbu8wmv1Fks5rfE4rgaJpZM4MINlb
.

I'm having the same problem. The maps just show black on iOS. (works in Android)
I'm using<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>platform -><EMAIL_ADDRESS><EMAIL_ADDRESS>It's funny because yesterday it was working perfectly and then I upgrade both ionic and cordova today morning and then it's not working. So it might be something with the version. But it's just a guess. Unfortunately I don't remember the previous versions

Please inspect the ionic versions by yourself.
First of all, the ionic wrapper is out of control from me.
And second, I have no knowledge about ionic framework.

@wf9a5m75  Thanks for the answer.
I'm aware of that, just listed the ionic versions just to be safe and in case someone get here and have the answer for that.
I ran it now and I'm getting these messages now ClientParametersRequest failed, 3 attempts remaining (0 vs 10). Error Domain=com.google.HTTPStatus Code=400 "(null)"
I have checked the API Key in google console and everything is right, running on Android works (and I have feedback in the form of Traffic on the API) but in the XCode simulator all I see is a black screen. The user location seems to be avaible (I'm printing on console) but no rendering of the map and the error message mentioned.

Google Maps SDK for iOS cannot connect or validate APIKey means the Google Maps SDK for iOS can not to the Google server. It's not plugin's problem.
You can try:

recreate api key
recreate your project

Hi @wf9a5m75 ,
I have created a simple cordova app to implement the cordova-plugin-googlemaps. I can built the App in Android. But the app doesn't render the Map. It only displays blank image with Google icon at lower left corner.

Here the Environment details,
Cordova 6.5.0
Ionic 1.7.15
Installed platforms:
android 6.1.2
browser 4.1.0
Can you please help me to resolve this.

As imI said above, your api key is wrong, or something.

Since this issue shows up on Google when looking for the issue; maybe this helps someone:
It's also worth checking if you have enabled the  "Google Maps SDK for iOS" for your project in Google Developers Console.

I have the same problem. I think it's to do with CORS and WKWebview.... Just some ideas..

I had the same problem which I could resolve by removing the crosswalk plugin.
Probably not the solution most were hoping for...
If you do not have it enabled, please

make sure that you have proper styling for the element
that the element does actually exist when you call the method (this would usually throw an error)

I am using IONIC 2 and have the same problem, the google api key is correct and couldn't find the problem. Any Idea ?
Thanks

Same problem. The google api key is correct.


Some normal maps have flipped green channels

Describe the bug
Certain normal maps export with flipped green channels. Most of the normal maps in CS2, and at least one in Alyx
What Valve game does this happen in
Half-Life:Alyx, CS2
Reference file in a Source 2 game
In Half-Life: Alyx
materials/models/architecture/doors_1/door_1b_normal_tga_5e921617.vtex
In CS2:
weapons/models/usp_silencer/materials/usp_silencer_default_normal_tga_61d8e869.vtex
Most of the textures in Half-Life: Alyx don't to be flipped, so far I've only found the one above.
For example, this one exports fine:
models/characters/metrocop/materials/metro_head_normal_tga_b6a11f69.vtex
Expected behavior
VRF Should detect whether the material is using a normal map green channel flip and export the texture accordingly
What version of VRF are you using? On what platform?
v0.3.1 on Windows 10

Fixed by 816b3e3580279c8c39fb81c8a1bf7f9c2714823f and c41c73d87df11dff45f1ca4969d4764af9837ca4


Add the option to use the system cursor

It would be nice if there was an option to use system's cursor instead of the rectangle provided by warpd.
Thanks for the great extension.

Update:
I have created a fork of this repository and added an option of virtual_cursor which is disabled by default and specifies whether a box gets rendered in normal mode. Maybe add this option in the main repository as well?

This should be available in the latest commit in the form of use_system_cursor.

Update: the option has been renamed normal_system_cursor.

Great! Thanks for the update.


feat(components): List item spacing

#512
see also:
https://github.com/wingscms/services/pull/611

Pull Request Test Coverage Report for Build 179576543

4 of 5 (80.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 70.906%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/components/src/components/List.js
4
5
80.0%

Totals

Change from base Build 168803201:
0.03%

Covered Lines:
1391

Relevant Lines:
1761

💛  - Coveralls


Removed the extra "/" from the directory ignore.

Is this a recent change in Rust or just an oversight?

Yes, the new Rust-1.0's cargo build tool doesn't required this "target" folder. I was playing around with a fresh project after the new Rust stable release.

See #1563


Download all OSrPRE data

IssueHunt Summary

Backers (Total: $100.00)

 prereview ($100.00)

Become a backer now!
Or submit a pull request to get the deposits!
Tips

Checkout the Issuehunt explorer to discover more funded issues.
Need some help from other developers? Add your repositories on IssueHunt to raise funds.

Hi @georgiamoon, I would like to take a shot at this. May I please get a little more info of what we'd like done for this. Will we be looking to get all of the data in a specific format? And how would this all be accessed by users in the API and UI?

Hi @brymut! A colleague and I actually started working on a script in a separate repo that would end up meeting the needs of this issue. Sorry for the bad communication here. We're working on adding more issues and attaching them to bounties as the project continues to evolve — hope you'll continue to be interested in contributing! Thanks for hollering!

No prob @harumhelmy , thanks for clarifying.


Improve docker and docker-compose

Dockerfiles are now split in 3 parts : proto build, app build, app bundle
bootstrap.yamls now use env vars to set services hostnames
Dependency services added to docker-compose.dev.yaml

Fixes : #94

@mtrimolet while I merged in please try to see if kompose supports multistep docker yet. Kompose generates kubernetes deployment from docker-compose :)

@mtrimolet disregard I believe it's fine

@mtrimolet I just tested this in production environment and the proto files are missing, that's why I wrote the docker files as it was. And using the dockerignore script I just add reduces the size to 400mb which is close to what you did which was around 321.96 MiB, still better. If you can improve on it, I leave your current implementation else I would have to revert the docker files

At which command are they missing ? At runtime ?

@mtrimolet at runtime

I had similar issue at runtime, so I made it simple and stuck with dockerignore, which works very well


Retrieve inline schema

We are already using the library to validate data against a schema which works perfectly fine.
In addition we want to expose a schema that is split into pieces via references as a whole in an endpoint. Is there any way to return the inlined/resolved schema?
Looks like it was quite easy in an older version like we found here.

Unfortunately this isn't possible, as a schema cannot be fully dereferenced without risking infinite recursion (e.g. {"$ref": "#"}). The old behavior was actually a bug, and in violation of the spec, which says validator implementations may not infinitely recurse. The correct (and current) behavior is to dereference on-demand.
If you do need a fully-dereferenced copy of the schema for some reason, it's fairly simple to implement, but this library is not the right tool for the job. Note also that you'll have to trust the input schema not to be infinitely recursive, or else implement some kind of check to deal with it.


WIP :Update Tekton Results CLI to v0.12.0 release branch

This updates the OPC to Tekton Results v0.12.0 release branch. Removed it from require to maintain history. We upgraded and then downgraded.

/hold


feat: using SSA for finalizer and primary patch

@metacosm this is the implementation so far, will add integration test and docs that explains stuff but might worth to take a look on it now, if everything makes sense

@metacosm this PR is ready for review, the docs updates are missing only, will add it soon


update bitcoind version (again); fix features with multiple versiosn

I think we can release after this. Not sure how urgent #9 is.

ACK 933e95bf343848186fb16a4edb34dad9416a13b6
error in mac CI happens also in master

I did some mess not re-testing this, pushed https://github.com/RCasatta/elementsd/commit/6032d0a0fef4c0abee0aac34e560d1aaa22f388b to fix
Also, I bumped the version to 0.8.0 forgetting that 0.7.0 was already bumped but not published.
Anyway, 0.8.0 is published


no String() method

This needs a String method to convert the UUID to a string for printing.

github.com/google/uuid has String() method - https://pkg.go.dev/github.com/google/uuid#UUID.String
This package only a bridge for pgx between uuid.UUID and postgres.

I see that now. Thanks.


Update FAQ.md with spelling & grammar changes, & fresh links

Hello!  I am just getting started with RaspiBlitz. I've been using myNode and want something that is better supported.
I have contributed some documentation & minor feature updates to myNode, and I have written a good amount of the documentation for the Wasabi Wallet.
I hope to become more involved in this project as I gain more experience & knowledge of how it works.
After watching your video about contributing, I thought I would go through this long FAQ & try to fix spelling/grammar issues, as well as update a couple of broken links to pages that have changed since this FAQ was written.
I am open to any comments about my proposed changes to this page.
I also hope to get to know some of the other contributors here.

Wow .. thats quite some work you put in here. Welcome on board @davterra :)


FIFF file exceeded 2GB limit, please split file or save to a different format

I am getting this error for an epochs.fif file when trying to save it:

FIFF file exceeded 2GB limit, please split file or save to a different format

The same files for other subjects are automatically split and saved (2 x 1.2 GB), but for this one I have a 2.1 GB file on my disk and then get the error.
Is there a way to force the splitting? Thanks!

a bug about this was recently reported. Can you try with latest stable
release?
is it epochs or raw?

it is epochs and I am using mne 0.21.dev0

update to 0.20.5 or current master and it will fix your pb (I think)

fixed by update to current master


Installer Error

Mod Version: v2.1
Game Version: v2.02
Launcher: Steam
Additional mods installed: No
Perspective: Client
Description
I am attempting to install the installer for Sky-co-op however when I attempt to this error pops up, then it brings me to the download screen for the installer once again.

How to reproduce
No idea how to reproduce this error.
Expected behavior
I expected the installer to well launch. I am attempting to play it with someone else and they were able to install it perfectly fine.
Logs
N/A no logs

Is your internet connection stable and can it handle loads of approximately 30-50mbps? If it can then it's just being annoying

Yes, my internet connection is stable and is able to handle loads of 30-50mbps or higher.

sooo I don't know how to set up or remove a proxy. Though I know it's not a ISP issue or anything cause it does work on another pc. It's just that, that one is annoying to play on.


Errors invoking VSCode from external application when debugging through LLDB

Which OS: Mac OSX Sierra 10.12.6
Which LLDB version (lldb -version): 0.7.1
Which VSCode version (Help/About): 1.18.0
What is the problem and how did you get there:
I'm working on the integration of VSCode with Unreal Engine, specifically our source code navigation systems. I've found a problem where I have build and run the editor through VSCode, but then subsequent attempts to open a class from the editor, or navigate to a particular file/line will fail with an error message in VSCode like this:
module.js:472
    throw err;
    ^

Error: Cannot find module '/Users/graemethornton/Epic Games/UE4'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:431:7)
    at startup (bootstrap_node.js:155:9)
    at bootstrap_node.js:551:3

Note that in this case, the arguments to VSCode that I passed on the command line were these:
"/Users/graemethornton/Epic Games/UE4/" "/Users/graemethornton/Epic Games/UE4/EngineTest/Source/EngineTest/EngineTestUtilityLibrary.h" "/Users/graemethornton/Epic Games/UE4/EngineTest/Source/EngineTest/EngineTestUtilityLibrary.cpp"

This only happens when I'm running the editor as a debug session from within VSCode. If I just launch the editor from the OS and then do exactly the same thing, it all works correctly.
I originally reported this to Microsoft in this issue:
https://github.com/Microsoft/vscode/issues/37944
They suggested it was an issue with the debugger extension rather than VSCode itself.
Thanks for your help,
Graeme

Also, I tried switching back to the MS C/C++ debugger plugin and confirmed that the problem did not occcur there!

@GSThornton:  Not sure I understand your scenario.
When does the error appear?
Who is throwing the error?  VSCode itself or some extension?
What arguments did you want to pass to UE4Editor?

So I use VSCode build and launch Unreal Engine 4.18 on Mac. In the editor, you can double click on a C++ class and that will attempt to open the code for that class in the currently selected editor, by spawning the VSCode exe with following command line:
"/Users/graemethornton/Epic Games/UE4/" "/Users/graemethornton/Epic Games/UE4/EngineTest/Source/EngineTest/EngineTestUtilityLibrary.h" "/Users/graemethornton/Epic Games/UE4/EngineTest/Source/EngineTest/EngineTestUtilityLibrary.cpp"
If I don't have the editor running through the VSCode debugger, or I'm using the standard Microsoft C/C++ debugger extension, it works fine. If I'm using your LLDB extension, I just get the following output in the VSCode output window:
`module.js:472
throw err;
^
Error: Cannot find module '/Users/graemethornton/Epic Games/UE4'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:431:7)
at startup (bootstrap_node.js:155:9)
at bootstrap_node.js:551:3`
Hopefully that clears up my situation! Let me know if you want any more information!

Can you please share launch configurations you use, both for MS debug extension and for mine?
In which output panel do you see that error? ("Extensions", "LLDB", or something else?)

ping

Sorry - this totally slipped my mind!
My launch config with your extension looks like this:
{
	"name": "EngineTestEditor (Development)",
	"request": "launch",
	"preLaunchTask": "EngineTestEditor Mac Development Build",
	"program": "/Users/graemethornton/Epic Games/UE4/Engine/Binaries/Mac/UE4Editor.app/Contents/MacOS/UE4Editor",
	"args": [
		"EngineTest"
	],
	"cwd": "/Users/graemethornton/Epic Games/UE4",
	"type": "lldb"
}

To switch to the MS extensions, I just changed "type" to "cppdbg" and then added "MIMode": "lldb". I can't remember exactly which output window the error appeared in, but I can check tomorrow when I get back to work and have access to my Mac :)
Can you see the issue I linked above to my original VSCode issue? All this information is there as well!

Hmm, sounds like the same issue as #141.  Can you please try this with "lldb.adapterType": "native"?


[Improvement] List users according to roles

What would you like to be improved?
List users according to roles
How should we improve?
List users according to roles

Hi @jerqi ,
I want to follow up on this issue.
Could it be assigned to me?
Could you also provide some more context or details about the issue so that I can have a more comprehensive understanding of the problem? 😊
Best Regards,
Edward


Feature request: vscode extension

Would be amazing to have this as an extension to vscode (and Visual Studio if possible) similar to Github Copilot chat. Would really make using this very seamless. Either way, this is an amazingly helpful tool. Thank you

Thanks for trying aider and making this suggestion.
I've certainly thought about making a VS Code plugin. I guess I'm curious what would be the key benefits you would like to see in such an extension?
My normal workflow is to have my editor open and then beside it have a terminal open where I'm chatting with aider. As aider edits the files, my editor notices the changes and reloads automatically.
I guess I'm wondering if you have specific ideas for how a VS Code extension could provide an improved workflow?

The things I'm finding useful in the neovim plugin are

auto add files i'm currently working on (I guess that could be open tabs in vs code)
shortcuts to quickly open aider with different flags (no auto commit, different model)

Things i'm thinking about adding are

give it in an instruction upon open and have it run more like a background worker I can work in parallel with
auto drop files when I close the buffer (tab in vs code language)
sending commands to aider through vim keyboard shortcuts

I did some experiments with vs code and found running aider in its built in terminal was quite stuttery when in streaming mode, and a bit of a black box when it was off. Having a hybrid mode with some kind of progress indicator but not the whole output might be useful

I did some experiments with vs code and found running aider in its built in terminal was quite stuttery when in streaming mode, and a bit of a black box when it was off. Having a hybrid mode with some kind of progress indicator but not the whole output might be useful

I wonder if --no-pretty would work better? It streams, but doesn't involve python rich for colors, etc.

yep, no pretty sorted out the flickering issue.
On Fri, 14 Jul 2023 at 10:25, paul-gauthier @.***>
wrote:

I did some experiments with vs code and found running aider in its built
in terminal was quite stuttery when in streaming mode, and a bit of a black
box when it was off. Having a hybrid mode with some kind of progress
indicator but not the whole output might be useful
I wonder if --no-pretty would work better? It streams, but doesn't
involve python rich for colors, etc.
—
Reply to this email directly, view it on GitHub
https://github.com/paul-gauthier/aider/issues/68#issuecomment-1634994266,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARU5OFFUGDRUETIBXMXJLXQBYVFANCNFSM6AAAAAA2BWYNX4
.
You are receiving this because you commented.Message ID:
@.***>

--
http://enspiral.com/
Joshua Vial
*Website *http://codewithjv.com
*Twitter  * @joshuavial http://twitter.com/joshuavial
Phone +64 21 684 495
Book a meeting https://calendly.com/joshua-vial

FYI, aider now detects if it is running inside vscode and disables pretty.

+1 for the UI.
Not sure why it needs to be inside VSC - easier to develop I suppose as plugin rather than a full stand alone deployment which would be better as not everyone uses VSC and they are not dependant on each other
Also a full installer. At some point a great tool like this (imo) should have one for wider adoption.
What would a UI do? Everything the CLI can do but with buttons, toggles and text boxes.
I'd be more than happy to help in this regard if appropriate?

I'm voting for this.. +1

Personally what I would love is being able to view the commit diffs in VS Code instead of the CLI. For now I use --no-auto-commits which works great.

Hi, I would love to experiment with this idea. I have been looking for a good model of human-machine interaction for a long while, and Aider is the best I have seen. Would you like to review the following design?
The extension will be a direct interface to Aider. Activating Aider will open Aider in a terminal, and the user can type commands directly or using various context menus (file explorer -> some-file.txt -> add file to chat, etc.).
Benefits: the extension integrates Aider into the user's regular browsing workflow and makes it accessible via the marketplace.
Futuristic thoughts:
Later on, we can utilize vscode utilities to add information to the chat:
add this diagnostic message to the chat
add all references to the chat
...
Using vscode-github integration, we can
add an issue to the chat
add review comments to the chat
...
We can also add aider commands that utilize built-in vscode utilities like "open diff view". By the way, we can also execute diff from Aider outside of vscode.

One advantage of an editor interface is the ability to select text as a target for a prompt rather than having to describe what you want changed.  I've found myself numbering comments so I can refer to sections of code with less typing. Something like Cursor editor.

Thank you for this use case!
By the way, I have a version in which aider see the code with line numbers. Would you like to try it?
I would love to get feedback for it
https://github.com/paul-gauthier/aider/pull/348

Sure, would love to.

On Nov 19, 2023, at 3:34 PM, omri123 @.***> wrote:
Thank you for this use case!
By the way, I have a version in which aider see the code with line numbers. Would you like to try it?
I would love to get feedback for it
#348 https://github.com/paul-gauthier/aider/pull/348
—
Reply to this email directly, view it on GitHub https://github.com/paul-gauthier/aider/issues/68#issuecomment-1817984467, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKEQUJ343WPAYCTC45DSOLYFJ3P3AVCNFSM6AAAAAA2BWYNX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJXHE4DINBWG4.
You are receiving this because you commented.

Is it possible to use it on Cursor?

@luisalrp yes - cursor is a clone of vs code so you can just fire up aider in the terminal window. If anyone gets excited enough to build a full vs code plugin then I expect it would work with cursor as well.

I just wanted to give a brief plug to my newly minted VSCode Extension for Aider.  The extension follows in the footsteps of @joshuavial's neovim plugin in terms of features.  Right now the main feature is the automatic addition and removal of files to the chat.
I'm extremely thankful for Aider and happy to contribute in this small way.  If you run into any trouble with the extension, please let me know.
In case there was any question, of course I wrote it using Aider!

@MattFlower thanks so much for building and sharing this! I added a link in the install instructions.

Semi-related:

https://github.com/paul-gauthier/aider/issues/483

I just wanted to give a brief plug to my newly minted VSCode Extension for Aider. The extension follows in the footsteps of @joshuavial's neovim plugin in terms of features. Right now the main feature is the automatic addition and removal of files to the chat.
I'm extremely thankful for Aider and happy to contribute in this small way. If you run into any trouble with the extension, please let me know.
In case there was any question, of course I wrote it using Aider!

Hi @MattFlower, thanks for your VS Code extension
When do you think it could be possible to fix the problems with Windows ?
I would like a lot to be able to use your extension but I have Windows.
Thanks a lot :)

Hey @danividalg.  When I was last working on it, I remember there not being an obvious fix.  I'll try to take another look next week and see if something might have changed.
If you're interested, I'd also happily accept a pull request.

I don't know how to write VS Code extensions, but I will take a look at your repo just in case I can help, thanks :)

Hi @MattFlower :)
I take a look at your code and I can't see any problem
Do you know if there is any way to debug a VS Code extension ?

Hi @MattFlower, did you see that page ?
https://stackoverflow.com/questions/74059732/execute-command-by-creating-terminal-vscode-extension-api
Did you try something as simple as change ?
this._terminal.sendText(/add ${this.getRelativeDirectory(filePath)});
to
this._terminal.sendText(/add ${this.getRelativeDirectory(filePath)}, true);
Could you check ?
I don't know how to test this change ^:D

I've been working on my own VSCode extension which is inspired by Aider when it comes to file editing formatting. It doesn't use the Aider terminal interface, but runs entirely with a Webview and some code tying it back to the editor (like for keeping track of which tabs and files are open).
My original version was made with a server providing the LLM responses in mind and with Posthog tracking, but I just pushed a version that's bring-your-own-key and with Posthog disabled by default. The code for it is in the feat-byok branch.
It uses the same unified diff formatting, and I also have functionality that fuzzy-searches for the corresponding snippets to make sure that replacements happen correctly. It's still pretty rough around the edges.
Link to GH Release

Found this thread while looking for a replacement for cursor.ai, which uses a fork of VS Code and adds some additional integration to allow you to "accept" suggestions (no commit, just inline changes).  Works ok.
+1 for an "official" aider plugin for vscode
Aider, from what I can tell, is close to the top of the heap for open-source AI coding agents.
To the original question of what benefit it would have to have this integrated as a vscode extension,
1 - With some work, the chat UI could be broken up into sections and richly formatted, like curosr.ai
1.5 - Chat history could be stored, multiple conversations/threads, etc.
2 - Providing an extension with instructions to install would radically improve developer experience and onboading, making Aider a lot more popular, and hopefully contributing to a positive feedback loop that would draw more attention to Aider, resulting in more/better contributions, etc.

+1 on the VSCode Extension would be great use it with a workflow more similar to copilot or continue.dev

please remember the developers who utilizes pycharm as well while implementing this feature <3

please remember the developers who utilizes pycharm as well while implementing this feature

@UmutAlihan See

#483

In the meantime, two VS Code related ai-driven coding tools are available:

Codebuddy
Cursor Composer

Both of them seem to be closed source however, and they don't allow users to plug in their own models. Cursor, for example, only allows choosing from GPT-4o/Sonnet/their in-house small model. However, this kind of IDE integration is very interesting.
On the other hand, continue.dev seems to be one of the most interesting AI-assisted coding extensions for VS Code, although they don't provide AI-driven multi code editing (I think). could perhaps a partnership with continue.dev be interesting?

+1 for a VS Code extension (or a way for people to call the Aider APIs without using Terminal, so everyone can start working on their own extensions for different editors).

Could consider Cline as well, as a template/inspiration for Aider as a VS Code extension.


Update areas-of-d-usage.dd

Updated game engines details in language description. Previous links are not presentable anymore - Dash is just not opening, and the gfm is archived. I think new examples should be updated for people who will be interested. Maybe bindings for Godot and Raylib also worth to mention here.

This is still up, but it's really old and out of date (9 years old). https://github.com/Circular-Studios/Dash


Review Network Manager doc

So I don't forget...self-assigned.
https://mirror-networking.gitbook.io/docs/components/network-manager
Clean up references to having more than one.

Done.


Add feature to enable taking screenshot of a SurfaceView

Currently the library cannot take the screenshot of a SurfaceView.
Parent issue #3

Do this library support sufaceView now?

@shuruncs no, not yet.


What is the difference between minConfidence && distanceThreshold ?

Hi,
What is the difference between minConfidence && distanceThreshold ?
Thanks,
 const ssdOptions = { minConfidence: 0.1, maxResults: 10 };
      const optionsSSDMobileNet = new faceapi.SsdMobilenetv1Options(ssdOptions); // create options object
      const faces = await faceapi // run detection
        .detectAllFaces(tensor, optionsSSDMobileNet)
        .withFaceLandmarks()
        .withFaceExpressions()
        .withFaceDescriptors()
        .withAgeAndGender();

`let matcher = new faceapi.FaceMatcher(labeledFaceDescriptors, 0.5);`

minConfidence determines if face is face at all during detection - if detected face is below that level, it will not be analyzed at all and you don't get things like descriptor as a result.
distanceThreshold is threshold used when comparing two different faces.

Thanks a lot-:)


fix: bound checking for EventFlushIntervalMS and ConfigPollingIntervalMS

Current dependencies on/for this PR:

main

PR #30   👈

This comment was auto-generated by Graphite.


Queue messages by server rather than by unit-id

I'm submitting a ...  (check one with "x")
Feature

( x) feature request

What is the motivation / use case for changing the behavior?
The current queue for a modbus server (either serial or tcp) only queues messages separately for each unit-id. While in tcp I think this is not an issue, in serial the channel is occupied regardless of the unit-id communicating.
The desired behavior would be for the requests to be queued by server rather than by unit-id. This way if I am pooling several addresses too fast the queue handles it and softens any peak concurrent requests.
Hope the text is clear enough. If not please reply with any questions.
Thank you in advance.

I'm sorry it is not clear enough. Is there some real use case, please? Which "modbus server" (Node-RED, external, device ...)? Why should we organize the queue by server if every server has its own queue or client with a queue per unit-id inside node-red?

Let me describe my setup:
I have a raspberry PI with a serial connection to a modbus bus.
In this bus I have 9 devices - with addresses 001-005 and 011-014
Every minute I make 3 requests for each address through a flex getter. This gives me a total of 27 requests per minute.
The problem is that when I send a request to a different address the queue is ignored. A typical sequence would be:

Request 1 - Poll address 001 FC4 start at 0
Request 2 - Poll address 001 FC4 start at 300
Request 3 - Poll address 001 FC4 start at 400
At this point we have 1 request sent and 2 requests in queue. The problem starts here, when the following requests come in they ignore the 2 requests in queue because the address is different:
Request 4 - Poll address 002 FC4 start at 0
Request 5 - Poll address 002 FC4 start at 300
Request 6 - Poll address 002 FC4 start at 400
When request 4 goes in it doesn't wait for requests 2 and 3 to go first. It even ignores if the reply for request 1 as arrived or not.
What I would like is for the queue to be for the server (serial connection) and not a different queue for each address of slaves.

I haven't had a chance to use this with multiple devices yet (I will soon), but if this is true, this should be marked as a bug/defect. The messages have to be queued per serial port and not by anything else since only one device is allowed to talk at any one time.

@biancode What files govern the queuing behavior for serial? I may try to do a pull request as I'm about to need a fix for this. As I said, only one device can be speaking at a time on a serial line, so we have to queue for the whole serial port.

@thatcadguy it is all inside connector based on an FSM

FYI - I too have come across this problem whilst deploying two Modbus RTU slave devices. I was hesitant to open an issue until some further feedback and research, but here's mine detailed: https://discourse.nodered.org/t/multiple-modbus-rtu-slaves-causes-error/18783

I’m considering at attempt at resolving this, as it looks like the assignee @biancode may be away.

please, test with v5.2.x
new option on clients

reopen or create a new issue if there is more


firebase client

Is there any plan to develop a official Firebase client in golang?

No plans, but I've used this one to good effect:
https://godoc.org/github.com/zabawaba99/firego
It's nicer than some of the other ones out there, because it lets you pass in an http.Client, so you can use google.DefaultClient for authentication.
Example from App Engine standard:
https://github.com/GoogleCloudPlatform/golang-samples/blob/master/docs/appengine/firebase/tictactoe/firebase.go


"Unexpected keyword argument 'junction'" when I didn't pass argument 'junction'

This is autogenerated. Please review and update as needed.
Complaint about junction when it was not passed?
I had trouble getting a storage target update command to work - it timed out - possibly errors in the junction syntax when I was trying to change a junction. So I stopped trying to change a junction and tried to change the usage model.
Command I issued to get this response was $ az hpc-cache nfs-storage-target update --cache-name doc-cache0629 --name nfsd1 --nfs3-usage-model READ_HEAVY_INFREQ
Command Name
az hpc-cache nfs-storage-target update Extension Name: hpc-cache. Version: 0.1.0.
Errors:
update_hpc_cache_nfs_storage_target() got an unexpected keyword argument 'junction'
Traceback (most recent call last):
python3.8/site-packages/knack/cli.py, ln 215, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 654, in execute
    raise ex
cli/core/commands/__init__.py, ln 718, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 711, in _run_job
    six.reraise(*sys.exc_info())
...
cli/core/commands/__init__.py, ln 325, in __call__
    return self.handler(*args, **kwargs)
azure/cli/core/__init__.py, ln 545, in default_command_handler
    return op(**command_args)
TypeError: update_hpc_cache_nfs_storage_target() got an unexpected keyword argument 'junction'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az hpc-cache nfs-storage-target update --cache-name {} --name {} --nfs3-usage-model {}

Expected Behavior
Environment Summary
macOS-10.15.5-x86_64-i386-64bit
Python 3.8.3
Installer: HOMEBREW

azure-cli 2.7.0 *

Extensions:
hpc-cache 0.1.0

Additional Context

add to S173


rsm: proposal for refactoring

Removed NALookup

NALookup provide questionable perf benefits while adding complexity
Perf benefit could be achieved by simply passing []byte to the regular Lookup method

Removed IHash

Its use was only internal to a single unit test and was not exposed through public API of a module

Removal of Stale read warning

This should be a responsibility of a caller not a library, it is difficult to get rid of the warning in the logs if one does not want to set the whole logger to error just to get rid of it.

Fixed a couple of CVEs by bumping libs

@coufalja thanks for the PR, I will have to look into every item in the coming weekend, but in general I agree with what you are trying to do and expect most of them (if not all of them) to be accepted.
From a user's point of view, do you have anything else to suggest? Like which part of the API you hate the most? Do you feel the docs to be adequate?  Will really appreciate all such feedbacks.

Thanks for asking, first I would like to say that I like the library a lot and that it provides a great value to its users.
But after using dragonboat extensively a couple of things bothered me:

Unexported/Internal method that I had to mimic

nodehost.go#getRequestState - It would be great if either exported or if RequestState provided a Wait method. It is easy to miss some cases so I would rather see a library provided default way to wait for result to be available.
internal/rsm/encoded.go#GetPayload - Give that there is an API access to pb.Entry it would be great to not have to mimic the Cmd parsing in case that one wants to obtain the value.

NodeHost configuration

It is difficult to know which fields should be filled when and which are in effect when using different parts of the library (e.g. when Using Tan vs Pebble)
The configuration is propagated through the whole package stack and makes writing plugins a bit difficult
If I may suggest it would make maybe a better design if every plugin (Transport/LogDB/Registry) had its own config instead of plugins being factories accepting a common config. It is more work for library user but IMO more straightforward and clear.

NewNodeHost starting go routines

My take is that a library should not start coroutines in seemingly constructor-like method (and rather should provide Start/Serve or alike methods)

internal/settings package

Library should not rely on hardcoded files and their location in a current dir for settings override. All settings should be provided by passing code, if library user wants to use a file so be it but on user terms.
Initialization is done on a package init phase, very difficult to test different settings.

closely tied with Pebble dependency

the dependency sometimes get in a way especially the VFS package
even when the pebble is used in unrelated way to dragonboat in the same project
as pebble changes its API it is necessary to update dragonboat codebase as well to take advantage of newer Pebble features

I am happy to provide PRs if we agree on tackling any of these items as well as I am happy to provide support in getting the V4 out of the door.

Codecov Report
Patch coverage has no change and project coverage change: +0.04 :tada:

Comparison is base (023bafb) 84.53% compared to head (d5b931a) 84.56%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
+ Coverage   84.53%   84.56%   +0.04%
==========================================
  Files          10       10
  Lines        4264     4254      -10
==========================================
- Hits         3604     3597       -7
+ Misses        404      402       -2
+ Partials      256      255       -1

Impacted Files
Coverage Δ

nodehost.go
86.95% <ø> (+0.07%)
:arrow_up:

... and 4 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Thanks @coufalja for the detailed input, really appreciated. Let's start the discussion, hopefully we can have a plan in a couple of weeks.

nodehost.go#getRequestState, It would be great if either exported or if RequestState provided a Wait method.

Users are expected to wait for different events simultaneously from different libraries for different purposes, e.g. a user might wait for the result of the proposal and a possible incoming Unix signal in the same select statement. A simple wait method is not going to help much as it is basically forcing them to just wait for dragonboat event. If that is the case, why not just use the synchronized variant of the API SyncPropose?

internal/rsm/encoded.go#GetPayload - Give that there is an API access to pb.Entry it would be great to not have to mimic the Cmd parsing in case that one wants to obtain the value.

Dragonboat's internal data structure & encoding method should be completely separated from users'. It is up to users to decide how they want to encode their payload, dragonboat doesn't care.
Note that both the above two items are about giving users the max flexibility, the goal is not to let users write slightly less code by putting restrictions. For a particular user, he/she might feel certain internal methods can be useful/reused, but that is probably not the case for other users. Exposing too many such internal stuff produces a heavy API - the exact problem I am trying to solve in v4.

It is difficult to know which fields should be filled when and which are in effect when using different parts of the library (e.g. when Using Tan vs Pebble)

You are right.
Other than better documentation & examples, might be able to make that more explicit by adding fields like TanConfig which point to a configuration object just for Tan.

The configuration is propagated through the whole package stack and makes writing plugins a bit difficult

Sorry but I don't quite get this one. It is propagated through the whole package so no matter what component you want to work on, you always get the full configuration. Can I just ask what make this more difficult to work with?

My take is that a library should not start coroutines in seemingly constructor-like method (and rather should provide Start/Serve or alike methods)

I am not convinced on this one. If goroutine is considered as a type of resources, a popular approach is to obtain it during initialization and the constructor is a typical place for doing it. In fact, RAII explicitly requires such resources to be obtained in constructor.
I feel that the real problem for dragonboat is that it is not consistent. Some structs might have all such resources obtains in its constructor like method, while others do it in their Start() method. I am also a little uncomfortable with the fact that there are both Stop() and Close(), it is confusing at best. Any suggestions on this?

Library should not rely on hardcoded files and their location in a current dir for settings override. All settings should be provided by passing code, if library user wants to use a file so be it but on user terms.

I won't worry too much on this one, because the underlying message is "don't change those settings unless you really need to".
There are some hooks that allows you to change those values during initialization. It is used by dragonboat's testing framework drummer

closely tied with Pebble dependency

Yes, all your concerns here are valid but the real problem here is that Pebble doesn't follow Go's versioning convention. This means there is no any guarantee on Pebble's API stability, it can change at any time without any warning. For packages that do follow Go's versioning convention, it wouldn't be a problem as you can have multiple versions (e.g. v2 & v3) used by different part of your application and you have the peace in mind that v2 changes won't break your application as such breaking changes would change its major version number.
Please also understand that there was no alternative choice at the time - not any native Go embedded db has the same level of quality as Pebble. That is why Pebble was picked.
Tan is definitely the future as it doesn't have all those key-value store related overheads, it can be made much easier to configure, its performance is much easier to predict. To me, I really want to just remove the Pebble support altogether, sadly I can't do it because of backwards compatibility reasons.
I personally suffered from the above described Pebble versioning issue multiple times, but I don't have a solution here. Any suggestion would be really appreciated.


run processes so we can get the output

Running Humbug's unit tests would fail with
PHP Fatal error:  Cannot use object of type Symfony\Component\Process\PhpProcess as array in /home/vagrant/humbug/tests/Humbug/Test/Adapter/PhpunitTest.php on line 60

so I guess explicitly calling the process->run() is needed in tests. Plus the Phpunit adapter returns a process, does not call it https://github.com/padraic/humbug/blob/master/src/Humbug/Adapter/Phpunit.php#L126

Just to be aware that the tests have not been updated for at least a few days. Too much turkey, I guess ;).


i have bnot found an issue like this

how can i put so the minion are the megabyte bot  you use so like player name bot
and the server minions give name

Hey there!
This is the issues section of MultiOgar-Edited. Only issues and feature-requests are to be put here. We do not support questions about programming a custom function in. The code is pretty documented with comments, and is provided as-is. If you require support for this project please contact someone with experience that is willing to help.
Enjoy!

@MastaCoder
okay
you have this in a txt fie
Hey there!
This is the issues section of MultiOgar-Edited. Only issues and feature-requests are to be put here. We do not support questions about programming a custom function in. The code is pretty documented with comments, and is provided as-is. If you require support for this project please contact someone with experience that is willing to help.
Enjoy!


SLURMCluster adapt currently not working as expected

The idea behind using cluster.adapt(minimum_jobs=1, maximum_jobs=4) is to:

[...] adapt the cluster size dynamically based on current load. This helps to scale up the cluster when necessary but scale it down and save resources when not actively computing. (source)

However, due to some open issues it doesn't work as expected unfortunately. Here is a short summary of my observations:

👍🏻  Slurm jobs and associated dask workers are launched as expected after start_slurm_cluster is called.
👍🏻  The cluster successfully scales up when a resource-intensive computation is running.
👎🏻 The cluster doesn't scale back down afterwards. Workers are only terminated once the slurm job they're running on is getting close to its walltime.
👎🏻 With minimum_jobs=1 it is expected that a new slurm job is spawned after others have terminated. This is currently not the case.

👍🏻 If a given computation finishes before walltime, I can continue to use the results as expected even after all jobs have terminated. A subsequent computation luckily doesn't run on the login node but spawns a new job on a compute node!
👎🏻 If, however, a given computation takes longer than the walltime it will fail because no new jobs are spawned in time.

See: https://github.com/dask/dask-jobqueue/issues/611 and https://github.com/dask/dask-jobqueue/issues/498

Solution: https://github.com/dask/dask-jobqueue/issues/611#issuecomment-1805717922


Make objects behave like graphs without plugging them into type hierarchy

I'm writing this at a request of @gdalle to pool random design ideas ;)

Aim
I'd be great if we could make other objects behave like graphs, cheaply without plugging into type hierarchy.
This idea is inspired by the design of Tables.jl which is exemplified by this discourse post.
TLDR: It's very easy to make things behave like row/column based Tables without plugging into any type system.
Usecase
I have my separate type-system where I implement graph-like structures, but focusing on other aspects (deterministic? complete/regular? etc.) It would be very convenient to define just a bunch of methods (like iterators ;)) to make my structures behave like graphs and work with graphs algorithms.
Example (?)
I have a dfsa (deterministic finite state automaton = directed, labeled graph); I'd like to find shortest loop in it. Run a backtrack search on it.
here is (it's just an example, not a proposal!) a rough way one could think in terms of code about this:
const GB = GraphsBase
GB.isgraph(x::Any) = fale # the default
GB.Directness(::Type{...}) # GB.Directed()/GB.Undirected()/...
GB.Simplicity(::Type{...}) # GB.IsSimpleGraph()/GB.IsMultiGraph()/GB.IsHypergraph()/...
GB.Eagerness(::Type{...}) # GB.Eager()/GB.Lazy() # if vertices edges are given only locally
GB.vertex_type(::Type{...})
GB.edge_type(::Type{...})
.... # and (many?) more

and (based on those traits) a separate sets of interface functions
GB.vertices(graph) = GB.vertices(graph) # an iterator over vertices
GB.neighbours(graph, vertex) # required if GB.Undirected()
GB.out_neighbours(graph, vertex) # which is different from
GB.in_neighbours(graph, vertex) # these two are only required for GB.Directed()

GB.hasedge(graph, vertex, edge) # if graph is GB.Lazy(), otherwise
GB.hasedge(graph, edge)
... # and so on, these are just examples, not a fixed proposal

This way graph can stay un-typed and it'd be easy to "turn anything into a graph"™, including e.g. BitMatrix (hopefully without committing type piracy).
Cons:

potentially hard/complex "dispatch" path (but JuMP is an example that even more complex designs are possible ;);
explosion of different methods (signatures);
no clear type structure that we all love...

I sympathize with the desire to define everything in terms of traits instead of abstract types. (What we really need is multiple inheritance, but that might never happen.) However, the Tables.jl approach has some downsides. There are types for which Tables.istable returns true even though there are instances of those types that are not tables. Here is an example with a vector of named tuples that is not a table, because the length of columns a and b are different:
julia> t = [(a = 1, b = 3), (a = 2, )]
2-element Vector{NamedTuple}:
 (a = 1, b = 3)
 (a = 2,)

julia> Tables.istable(t)
true

julia> rows = Tables.rows(t)
2-element Vector{NamedTuple}:
 (a = 1, b = 3)
 (a = 2,)

julia> for (i, row) in enumerate(rows)
           println("Row $i: b=", Tables.getcolumn(row, :b))
       end
Row 1: b=3
ERROR: type NamedTuple has no field b
Stacktrace:
 [1] getproperty
   @ .\Base.jl:37 [inlined]
 [2] getcolumn(x::NamedTuple{(:a,), Tuple{Int64}}, nm::Symbol)
   @ Tables C:\Users\U216145\.julia\packages\Tables\u1X7W\src\Tables.jl:102
 [3] top-level scope
   @ .\REPL[30]:2

The same problem exists for named tuples of vectors:
julia> t = (a=[1, 2], b=[3])
(a = [1, 2], b = [3])

julia> Tables.istable(t)
true

julia> rows = Tables.rows(t)
Tables.RowIterator{NamedTuple{(:a, :b), Tuple{Vector{Int64}, Vector{Int64}}}}((a = [1, 2], b = [3]), 2)

julia> for (i, row) in enumerate(rows)
           println("Row $i: b=", Tables.getcolumn(row, :b))
       end
Row 1: b=3
ERROR: BoundsError: attempt to access 1-element Vector{Int64} at index [2]
Stacktrace:
 [1] getindex
   @ .\essentials.jl:13 [inlined]
 [2] getcolumn(c::Tables.ColumnsRow{NamedTuple{(:a, :b), Tuple{Vector{Int64}, Vector{Int64}}}}, nm::Symbol)
   @ Tables C:\Users\U216145\.julia\packages\Tables\u1X7W\src\fallbacks.jl:26
 [3] top-level scope
   @ .\REPL[34]:2

It's not really proper to say that Vector{NamedTuple} and NamedTuple{(:a, :b), Tuple{Vector{Int64}, Vector{Int64}}} are table types, because only some instances of those types can be treated as tables. For a type to represent a table, then every instance of that type should be a proper table.

For a type to be a table type, then every instance of that type should be a proper table.

Well, this is not enforcable in julia, as the users can "lie" in one place to get away with some functionality in other; e.g. here you constructed an abstractly typed Vector (e.g. since it's a useful container for some purposes of yours). Maybe Tables should tell that every concretely typed Vector{<:NamedTuple} is a table. Or maybe not.
My argument for this is more like this: If library code throws some errors with my arguments I might be able to fix it by either modifying my arguments (e.g. here: by concretely typing them) or defining additional methods. If the code rejects my arguments on type level I will not be even able to see if it runs (or investigate what functionality fails), without much effort.
I don't see interfaces as assumptions in mathematical theorems ;)
I see them more as a rather specific guidance of what and how should I implement to get things working.

Philosophically, I wish we had abstract multiple inheritance so that we could label types that implement the interface with AbstractGraph. But we don't have multiple inheritance, so I agree that the AbstractGraph type should not be in the interface (or defined at all).

Requiring user-defined types to subtype an interface-defined abstract type is a huge PITA. IMO any new interface should do away with AbstractGraph and the rest of the type hierarchy.

Oh, interesting 🤔. What would you propose?
On Sun, Aug 11, 2024, at 4:49 AM, Neven Sajko wrote:

Requiring user-defined types to subtype an interface-defined abstract type is a huge PITA. IMO any new interface should do away with AbstractGraph and the rest of the type hierarchy.
—
Reply to this email directly, view it on GitHub https://github.com/JuliaGraphs/GraphsBase.jl/issues/26#issuecomment-2282731810, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADHITRST3XA3DJ6YTLYGBTZQ5FTZAVCNFSM6AAAAABMKV5DC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBSG4ZTCOBRGA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@cpfiffer What Tables.jl did, or what I tried to roughly sketch in my first post (though this I made the sketch purposely vague, not give any specific sticking points).
And contrary to the belief of Cameron expressed above, I don't think interface should be any sort of "mathematical guarantee": all types implementing those methods will be correctly interpreted as XXX. This is neither achievable (without constraining the interface too much), nor useful either from the developer or user perspective.
Just because some Vectors/Tuple will give you errors when treated table-like, it's not useful to exclude all of them. I see here that rather the data stored in Vector is erring, not the interface.


fix(dispatch): fix data generator id set during archive creation

Ensure the id set on the data generator created during frontend archive creation matches
'data_generator' + the id of the data set
What bugs does this PR fix?
I noticed this small error when diff'ing an archive downloaded from the old project creation flow with one from the reworked flow. DataGenerators originally would be named like: 'data_generator_flux_reaction_R_ACALD' and after my changes they were named like: 'data_generator_variable_flux_reaction_R_ACALD'. After this fix they will once again be named without the extraneous '_variable'.
Im not aware if the _variable token in the id actually causes any issues, but I figured best to revert to the original behavior just in case.

Thanks!

:tada: This PR is included in version 9.14.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fonts not copying with @ionic/app-scripts: 0.0.46

From @Bandito11 on December 2, 2016 5:27
Ionic version:  (check one with "x")
[ ] 1.x
[ x ] 2.x
I'm submitting a ...  (check one with "x")
[ x ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

This is on Windows 10 using this @ionic/app-scripts: 0.0.46 on ionic 2.1.13 on ionic rc3:
I run ionic serve this message appears

 copy: Error copying "D:\Projects\agri-app\node_modules\ionicons\dist\fonts" to
            "D:\Projects\agri-app\www\assets\fonts"

Expected behavior:

Steps to reproduce:

Related code:
insert any relevant code here

This appears everytime i run ionic serve

copy: Error copying "D:\Projects\agri-app\node_modules\ionicons\dist\fonts" to
"D:\Projects\agri-app\www\assets\fonts"

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

I don't see anything when I run it with ionic serve --info that I didn't see before
Copied from original issue: driftyco/ionic#9454

From @ataraxus on December 2, 2016 10:41
this is a duplicate of: https://github.com/driftyco/ionic-app-scripts/issues/448

We can close this as this is already resolved.


default mimetype causes 400 errors with Google Calendar Batch API

https://github.com/wapisasa/batchelor/blob/master/lib/batchelor.js#L49
the type is listed as multipart/mixed; -- NOTE: trailing semi-colon
I get 400 error from Google Calendar Batch API, but if I override the value without the semi-colon it works fine.

If you call other endpoints without the ; does it fail??
Feel free to create a PR with a solution and me or @bradvogel will merge it.


added buttons +1-3Weeks

I added three small buttons with which we can quickly set the common time intervals 1, 2 or 3 weeks from the current date. Maybe it makes more sense to calculate it based on the renting date not "today", what do you think?.
Additionally, I added a "Heute" button, but somehow it only seems to do it's job once the Datepicker has been invoked at least once. Can you help me out what I am missing @daniel17903 ? How do I force an update to the Datepicker control when calling doc.returned_on = today; at  https://github.com/leih-lokal/LeihLokalVerwaltung/pull/107/files#diff-c986a48b16a11890468575dc7fd73530d85861368254e860c675e454142e0cdfR77

These buttons look great. Wouldn't it be better to move them into the DateInput component and configure them through props?
I think we should add the weeks to the selected date. Adding the weeks to the current date would only make sense when creating a new rental but not so much if a customer wants to extend the renting period (e.g. by a week a day before the current return date).

These buttons look great. Wouldn't it be better to move them into the DateInput component and configure them through props?
I think we should add the weeks to the selected date. Adding the weeks to the current date would only make sense when creating a new rental but not so much if a customer wants to extend the renting period (e.g. by a week a day before the current return date).

MHh, you mean that they open inside the datepicker itself? As long as they are still accessible directly next to the text input that sound good!
You mean that we pass an argument to the DateInput like [7, 14, 21] and the buttons get created dynamically?

MHh, you mean that they open inside the datepicker itself? As long as they are still accessible directly next to the text input that sound good!
You mean that we pass an argument to the DateInput like [7, 14, 21] and the buttons get created dynamically?

MHh, you mean that they open inside the datepicker itself? As long as they are still accessible directly next to the text input that sound good!
You mean that we pass an argument to the DateInput like [7, 14, 21] and the buttons get created dynamically?

Yes exactly like that. The text input is also part of the DateInput component, so displaying them directly below shouldn't be a problem.
We should also add the "Heute" button to the extended_on field.

MHh, you mean that they open inside the datepicker itself? As long as they are still accessible directly next to the text input that sound good!
You mean that we pass an argument to the DateInput like [7, 14, 21] and the buttons get created dynamically?

Yes exactly like that. The text input is also part of the DateInput component, so displaying them directly below shouldn't be a problem.
We should also add the "Heute" button to the extended_on field.

Woho, this is cool. I like svelte.

Woho, this is cool. I like svelte.

I replaced the props with quickset = {%N_DAYS% : %LABEL%},
eg. quickset={{ 7: '1 Woche', 14: '2 Wochen', 21: '3 Wochen' }}

I replaced the props with quickset = {%N_DAYS% : %LABEL%},
eg. quickset={{ 7: '1 Woche', 14: '2 Wochen', 21: '3 Wochen' }}

I'll start another branch based on master, will be easier than to debug this mess ;-)

I'll start another branch based on master, will be easier than to debug this mess ;-)


[AutoPR automation/resource-manager] Watcher resource swagger specs. For more details on the Usage of the resource: https://docs.microsoft.com/en-us/azure/automation/automation-watchers-tutorial

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3102

(message created by the CI based on PR content)

Broken PR


Enable inter-documentation links to be clickable

Summary
Similar to Qiskit/qiskit-nature#783
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
10 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.5%) to 83.032%

Files with Coverage Reduction
New Missed Lines
%

qiskit_finance/data_providers/wikipedia_data_provider.py
3
76.74%

qiskit_finance/data_providers/exchange_data_provider.py
7
64.81%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
690

Relevant Lines:
831

💛  - Coveralls


Add "challenge declined" face

Requested by user.  Not sure what it is but maybe?

Still haven't seen this face ever.

Still don't see this used, ever.  Unless it gets more popular I'm not going to add it.

Ah, it's "challenge denied".  I can add this.

Added in 6ca6e62b7e0f757615dfcd7882e18e0a6d800de9