profile
viewpoint
ferhat elmas ferhatelmas @GetStream @yesfeedme @exercism @gofrs Amsterdam https://ferhatelmas.com Passionate developer

ferhatelmas/algo 32

:books: My solutions to algorithm problems on various websites

ferhatelmas/adb 1

:saxophone: Advanced databases course projects

ferhatelmas/7l7w 0

Seven languages in seven weeks

ferhatelmas/academic-kickstart 0

Easily create a beautiful website using Academic and Hugo

ferhatelmas/admin-on-rest 0

A frontend framework for building admin SPAs on top of REST services, using React and Material Design

ferhatelmas/advanced-algo 0

Our advanced algorithm class stuff

ferhatelmas/aepp-sdk-js 0

Javascript SDK for the æternity blockchain

ferhatelmas/airr-react 0

Reusable React components for creating Single Page Apps

ferhatelmas/algoliasearch-client-go 0

Algolia Search API Client for Go

ferhatelmas/alp 0

A toy application protocol

pull request commentgolangci/golangci-lint

CVE-2020-14040: v0.3.3 golang.org/x/text

Seems like a couple indirect or unused dependencies were removed in the go mod tidy from the go.sum.

yes, it's kind of expected behavior with go.sum. I occasionally remove go.sum and re-generate it with go mod tidy.

The changes look good to me, I checked manually if 0.3.4 is used as part of the build, seems like it it.

# Remove all local pkg/mod
$ sudo rm -rf *
$ pwd
/home/tammach/go/pkg/mod/golang.org/x
$ ls -lrt
total 0

# Run the `make build` from this branch
$ make build
go build -o golangci-lint ./cmd/golangci-lint

# Verify which version is used (go build -v didn't print the version)
$ ls -lrt
total 24
dr-x------  7 tammach tammach 4096 Nov 28 18:36 sys@v0.0.0-20201009025420-dfb3f7c4e634
dr-x------ 15 tammach tammach 4096 Nov 28 18:36 tools@v0.0.0-20201013201025-64a9e34f3752
dr-x------  3 tammach tammach 4096 Nov 28 18:36 xerrors@v0.0.0-20200804184101-5ec99f83aff1
dr-x------  9 tammach tammach 4096 Nov 28 18:36 mod@v0.3.0
dr-x------ 24 tammach tammach 4096 Nov 28 18:36 net@v0.0.0-20200822124328-c89045814202
dr-x------ 19 tammach tammach 4096 Nov 28 18:36 text@v0.3.4
$ pwd
/home/tammach/go/pkg/mod/golang.org/x
henryleduc

comment created time in 23 minutes

issue commentopen-telemetry/opentelemetry-python

Meter implementations MUST return an error when multiple instruments are registered by the same name

@codeboten I would like to pick this up. Help me if I am understanding this correctly. Meter instance will be used to create multiple instrumentation using different functions such as create_counter, create_updowncounter and create_valuerecorder etc.. when user creates different instruments with same name, Meter should throw an error saying something like multiple instruments can't registered by the same name.

codeboten

comment created time in an hour

issue closedsjwhitworth/golearn

Recent merge introduces compilation error

Ran into this issue locally and noticed it's affecting the latest build as well.

# github.com/sjwhitworth/golearn/base
base/dataframe_go.go:13:79: undefined: base
base/dataframe_go.go:17:18: undefined: base
base/dataframe_go.go:19:13: undefined: base
base/dataframe_go.go:24:19: undefined: base
base/dataframe_go.go:27:15: undefined: base
base/dataframe_go.go:32:21: undefined: base

My best guess would be that this class was a helper/utility class. When it was copied it was moved without checking for correctness in its new context. Super simple fix, here's the PR: https://github.com/sjwhitworth/golearn/pull/259

closed time in 2 hours

paul-nelson-baker

pull request commentsjwhitworth/golearn

Fix compilation errors

No worries, legit happens to the best of us. Thanks!

paul-nelson-baker

comment created time in 2 hours

created repositoryankane/cmfrec

Recommendations for Ruby using collective matrix factorization

created time in 4 hours

PR closed open-telemetry/opentelemetry-specification

Reviewers
Messaging-System Metric semantic conventions Stale

Changes

Add semantic conventions for messaging system metrics.

Related issues: Fixes #1014

PR Details

The general approach I took here was to take the messaging operations referenced in the tracing semantic conventions (sending, receiving, processing) and break them into 3 distinct metric groups. I created metrics for monitoring throughput and latency within these operations.

I've left individual commits to highlight some open questions/points of interest that I will elaborate on here.

Metric naming with Span Kind

@justinfoote mentioned that the preference is that when name spacing labels and metrics the second field should be the "span kind". The second commit attempts to follow this convention. However the span kind as defined in the tracing semantic conventions of messaging suggest producer/consumer should be used for async message processing, and server/client should be used for synchronous message processing. Should we change the metric names based on whether the application is sync or async? I assumed no. Also there's a bit of ambiguity here because the tracing semantic conventions yaml refers to things like messaging.consumer.synchronous instead of messaging.client.

Superfluous Counters vs. ease of use

I created a specific Counter to track the messages sent, received and processed. This information is already captured in the count of the duration metric ValueRecorder. Personally I feel like the extra metric is worth the ease of use but I don't know where the OTEL community stands on this.

Semconv format and generator

I went ahead and attempted to use the semconv yaml format and generator. Many of these labels are identical to tracing messaging attributes but I went ahead and copied them into a separate yaml for messaging metrics. I could not get the generator to actually work though. Here's an example: docker run --rm otel/semconvgen --yaml-root ../../opentelemetry-specification/semantic_conventions markdown --markdown-root ../../opentelemetry-specification/specification

Batch metrics

The last commit adds metrics around batching because I see that as a common feature that needs to be monitored. Introducing metrics around batching does create confusion around whether some of the non-batch metrics still exist or what they mean. I'm interested to hear if others feel the behavior is sufficiently explained or if batch metrics should be dropped entirely.

Other metrics

Here's a list of other potential metric categories that I omitted. I'm assuming these are too specific to only a subset of messaging systems to be included here:

  1. Lag
  2. I/O time
  3. Connection pooling
  4. Errors
  5. Retries

@jmacd @bogdandrutu mentioning you as potential reviewers.

+115 -0

14 comments

3 changed files

cwildman

pr closed time in 5 hours

pull request commentopen-telemetry/opentelemetry-specification

Messaging-System Metric semantic conventions

Closed as inactive. Feel free to reopen if this PR is still being worked on.

cwildman

comment created time in 5 hours

pull request commentopen-telemetry/opentelemetry-specification

Add an option to limit length of values of attributes and metric values

This PR was marked stale due to lack of activity. It will be closed in 7 days.

jtmalinowski

comment created time in 5 hours

PR closed open-telemetry/opentelemetry-specification

Metric SDK: add asynchronous instrument details; add export pipeline terminology details Stale spec:metrics

Changes

Fills in two missing parts of the metric SDK specification, with terminology taken from the OTel-Go implementation and requirements gathered from the API specification.

Part of #1158.

+66 -7

4 comments

1 changed file

jmacd

pr closed time in 5 hours

pull request commentopen-telemetry/opentelemetry-specification

Metric SDK: add asynchronous instrument details; add export pipeline terminology details

Closed as inactive. Feel free to reopen if this PR is still being worked on.

jmacd

comment created time in 5 hours

pull request commentopen-telemetry/opentelemetry-specification

Add specification of metric instrument units

This PR was marked stale due to lack of activity. It will be closed in 7 days.

justinfoote

comment created time in 5 hours

pull request commentopen-telemetry/opentelemetry-specification

Update endpoint for OTLP/HTTP to allow scheme

This PR was marked stale due to lack of activity. It will be closed in 7 days.

mwear

comment created time in 5 hours

pull request commentopen-telemetry/opentelemetry-collector

kafkareceiver add otlp_json unmarshaller

This PR was marked stale due to lack of activity. It will be closed in 7 days.

tensorchen

comment created time in 5 hours

issue openedantonmedv/expr

A new type named set(contain no repeated value) different from the built-in type map

Thanks for your contribution, this library help me a lot. Now, I receive a requirement from colleagues, he needs a type "set". The built-in type "map" all contains repeated value, but I want a type that like "map", but without repeating elements, just like type “set” in java, how do i add a new type “set” in this “expr”.

created time in 5 hours

issue closedgorilla/websocket

[bug] NextReader() panic

in conn.go NextReader...

	c.readErrCount++
	if c.readErrCount >= 1000 {
		panic("repeated read on failed websocket connection")
	}

This shouldn't panic if a timeout on read happens because I expect this. I would think readErrCount would reset if a subsequent successful read was completed. But that doesn't fix the problem in general since there could still be a string of timeouts over 1000.

I don't think you should panic or increment the readErrCount if the error was a timeout. I don't know if I like the panic here in general. Perhaps this panic could be optionally disabled on by setting a flag on the connection.

I'm trying to use gorrilla for a load test and using SetReadDeadline to test multiple connections in a loop (rather than go routines per connection which isn't scaleable)

closed time in 5 hours

calbot

issue commentgorilla/websocket

[bug] NextReader() panic

Ok, thanks for explaining this. I've modified it in my vendored code to continue after timeout and haven't run into the corruption issue yet so hopefully it will be fine for my testing purposes. I'll close this since #474 is duplicate

calbot

comment created time in 5 hours

issue commentkentcdodds/ama

when did you start learning vim?

@kentcdodds I'm using Webstorm with IdeaVim plugin (developed by Jetbrains as well). You would get best of both worlds. ;)

thisguychris

comment created time in 6 hours

pull request commentkubernetes-sigs/krew

Add documentation for default index URI variable

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/krew/pull/669#" title="Author self-approved">chriskim06</a> To complete the pull request process, please assign corneliusweig after the PR has been reviewed. You can assign the PR to them by writing /assign @corneliusweig in a comment when ready.

The full list of commands accepted by this bot can be found here.

<details open> Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":["corneliusweig"]} -->

chriskim06

comment created time in 6 hours

PR opened kubernetes-sigs/krew

Add documentation for default index URI variable

So I wasn't super sure where this should go. After looking around I was thinking about either adding it as a separate page under the setup/ tree or consolidating this with the update check doc. I landed on consolidating the two but let me know what you guys think.

Fixes #637

/assign @ahmetb /assign @corneliusweig <!-- For proposed features, make sure there's an issue it's discussed first -->

+38 -19

0 comment

2 changed files

pr created time in 6 hours

issue commentgorilla/websocket

[bug] NextReader() panic

Timeouts are not in recoverable at all points in the code. The code can be modified so recovery is possible, but that will take some work.

Example: The reads following this line are an example of where the timeout is not recoverable. A couple of header bytes were consumed from the stream. If the function blows out with an error and is called again, the function will be out of sync by those two bytes.

calbot

comment created time in 6 hours

issue commentgorilla/websocket

[bug] NextReader() panic

I know it doesn't return net.Error but that is the original error which is being handled in hideTempErr. hideTempErr is a little odd too because it basically converts Temporary net.Errors to non-Temporary netError since the zero value for boolean is false and Temporary is not set in the struct. Timeouts are recoverable. I've tested on in my vendored version that I can Read again even if a timeout occurred because of the SetReadDeadline time passed. Given that timeouts don't kill the connection it doesn't make sense to panic.

calbot

comment created time in 6 hours

PR opened mit-pdos/noria

Fix a couple unnecessary mutable warns

Fix a couple "variable does not need to be mutable" warnings by dropping a couple muts

+2 -2

0 comment

2 changed files

pr created time in 7 hours

issue commentgorilla/websocket

[bug] NextReader() panic

The package does not return net.Errors with Temporay() == true. Timeout errors fail the connection.

The code detects an application that repeatedly calls read on a failed connection. That's almost certainly a bug in the application, tight loop or not.

there isn't really any point in waiting for 1000 calls

A panic on the first bad call breaks applications that handle some errors. Here's an example:

for {
	_, meta, _ := c.ReadMessage()
	_, payload, err := c.ReadMesage()
	if err != nil {
		return err
	}
	process(meta, payload)
    }

The application expects message in pairs from the client. Checking the error on the second message is sufficient to handle errors. This application will break if the first bad call to ReadMessage panics.

calbot

comment created time in 8 hours

issue commentgorilla/websocket

[bug] NextReader() panic

Also, readErr is never reset as far as I can tell so there isn't really any point in waiting for 1000 calls to panic since you're never going to read anything anyways since ReadNext only reads if readErr == nil

calbot

comment created time in 9 hours

issue commentgorilla/websocket

[bug] NextReader() panic

@TaylorRex that may be the common case but for me I would like at least the option of having it disabled. Especially since net.Error has a Temporary()method. For temporary issues the connection should be recoverable for further reading. And as I said the count is never reset so this could accumulate over hours of normal use and just kill your app randomly.

This code doesn't know enough to determine whether it's in a tight loop or not so it doesn't really achieve what it's stating. There should be a time recorded the first error to see if it's actually in a tight loop if that's what this is for.

calbot

comment created time in 9 hours

delete branch sjwhitworth/golearn

delete branch : Sentimentron-patch-1

delete time in 10 hours

PR closed sjwhitworth/golearn

fix: correct base dataframe

Fixup for #256

+6 -6

1 comment

1 changed file

Sentimentron

pr closed time in 10 hours

push eventsjwhitworth/golearn

Paul Freakn Baker

commit sha 7240e2c2382da60feba8bfda78eefac8e091e472

Adding Go module files They are fairly standardized at this point in time and add for extra stability. As dependencies are added, this adds a safety buffer should any of them introduce breaking changes.

view details

Paul Freakn Baker

commit sha 7580cac0597faea867bc2a1b3d259ac958c04c89

Fixing compilation errors that break the library The file in question has numerous references to the package "base" whilst also being in the same package. My guess is that this was a utility function and wasn't vetted for correctness after being moved here.

view details

Richard Townsend

commit sha 294d65fca392d2b8f63abe4742f1ef60073dc7c9

Merge pull request #259 from paul-nelson-baker/master Fix compilation errors

view details

push time in 10 hours

PR merged sjwhitworth/golearn

Fix compilation errors

Fixes a recently merged compilation error: https://github.com/sjwhitworth/golearn/issues/258

+473 -9

2 comments

3 changed files

paul-nelson-baker

pr closed time in 10 hours

pull request commentsjwhitworth/golearn

Fix compilation errors

Cool, thanks for this (apologies for the breakage...)

paul-nelson-baker

comment created time in 10 hours

more