Live data from Hacker News

Go 1.23 Released

go.dev

31–40 of 106 posts

Re: Go 1.23 Released

#31
post #22
post #17

> Go telemetry is an opt-in system Great job Go. Hat tip and respect for this. Unlike .Net. I will enable this where it is appropriate.

Where is it? I honestly want to know

This is a great example of why it's utterly useless. In the link we're discussing, the release notes say:

> To help us keep Go working well and understand Go usage, please consider opting in to Go telemetry by running go telemetry on. In that mode, anonymous counter reports are uploaded to telemetry.go.dev weekly, where they are aggregated into graphs and also made available for download by any Go contributors or users wanting to analyze the data. See “Go Telemetry” for more details about the Go Telemetry system.

If someone who is genuinely interested in knowing where it is can't click one link for information, what chance do the go team have of people turning it on?>

Re: Go 1.23 Released

#32
post #16
post #3

Opt-in telemetry. A very rare sight these days. Glad to see. Not even Mozilla does that with Firefox [1]. > Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry. > Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the tool…

> Opt-in telemetry. A very rare sight these days. Because it doesn't work. o:-) (Introduces a slant/bias to the data.) https://twi.github.io/blog/making-go-telemetry-opt-in-is-a-m...

Same with opt out.

Just have to accept that you are not going to get perfect data. And it doesn't excuse one to behave like an asshole.

Re: Go 1.23 Released

#33
post #17

> Go telemetry is an opt-in system Great job Go. Hat tip and respect for this. Unlike .Net. I will enable this where it is appropriate.

FWIW .NET tooling telemetry can be easily opted-out, which the SDK explicitly tells you about, and there is a page that has full list of the kind of data that is collected (CLI usage metrics and tooling crash stack traces). You can also review the metrics yourself.

About: https://learn.microsoft.com/en-us/dotnet/core/tools/telemetr...

Collected metrics: https://dotnet.microsoft.com/en-us/platform/telemetry

Source code: https://github.com/dotnet/sdk/tree/main/src/Cli/dotnet/Telem...

In either case, many teams have CIs with 'DOTNET_CLI_TELEMETRY_OPTOUT=1' and call it a day even if it makes no difference to them.

Re: Go 1.23 Released

#34
If you find the official release notes a bit dry (they really are), I've prepared an interactive version with lots of examples:

- Iterators (range / types / pull / slices / maps).

- Timer changes (garbage collection and reset/stop behavior).

- Canonical values with the `unique` package.

- HTTP cookie handling.

- Copying directories.

- Slices and atomics changes.

https://antonz.org/go-1-23

Re: Go 1.23 Released

#35
post #24

I don't like the "range-over-func" addition. I feel like it is adding complexity and syntactic sugar to the language that has thus far been mostly avoided.

The change adds no syntax.

"for key, val := range m.Range" is syntactic sugar for using the m.Range iterator directly "m.Range(func(key, val any) bool".

In a vacuum I think it's fine, but I don't want to see stuff like this getting added to the language routinely. I prefer a small language.

Re: Go 1.23 Released

#36
From the release notes [1], which I think this post should actually point to:

> For backward compatibility, existing usages of //go:linkname found in a large open-source code corpus remain supported. Any new references to standard library internal symbols will be disallowed.

How does this work? Does the compiler have a whitelist of allowed uses?

[1]: https://go.dev/doc/go1.23

Re: Go 1.23 Released

#37
post #20

Any good resources on learning go? Has anyone had any luck with the YT videos or courses way?

I hope I don't sounds rude saying this but Go code is generally self evident. I personally got my Go knowledge from reading Go code on GitHub or the like. There's a certain beauty to Go code in that you can grasp what code does pretty easily, which definitely helps with learning.

Go is superficially readable, but be careful. It has some (in my experience) quite non-evident semantic aspects, such as interface nils and channel “edge cases” (which aren’t “edge” at all, you do have to handle them). The Timer thing they just fixed is an example of how the Go core team really expects you to read the manual.

The good news is that the language and stdlib docs are concise and extremely clear. One of the really impressive things about Go.

Re: Go 1.23 Released

#38
post #17

> Go telemetry is an opt-in system Great job Go. Hat tip and respect for this. Unlike .Net. I will enable this where it is appropriate.

FWIW .NET tooling telemetry can be easily opted-out, which the SDK explicitly tells you about, and there is a page that has full list of the kind of data that is collected (CLI usage metrics and tooling crash stack traces). You can also review the metrics yourself. About: https://learn.microsoft.com/en-us/dotnet/core/tools/telemetr... Collected metrics: https://dotnet.microsoft.com/en-us/platform/telemetry Source cod…

[flagged]

Re: Go 1.23 Released

#39
post #3

Opt-in telemetry. A very rare sight these days. Glad to see. Not even Mozilla does that with Firefox [1]. > Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry. > Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the tool…

It seems like the right way to respect a user's privacy, but opt-in telemetry just doesn't work.

I see the concerns as a user (and disable telemetry wherever I can), but at the same time if I were to add telemetry to my OSS project, I would either make it opt out, or just not add it at all.

The people who actually enable telemetry are a huge minority, and the data collected would be completely useless due to bias.

The best way, in my opinion, is to have completely unidentifiable telemetry (not sure if something like this even exists), or nothing at all.

Re: Go 1.23 Released

#40
post #3

Opt-in telemetry. A very rare sight these days. Glad to see. Not even Mozilla does that with Firefox [1]. > Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry. > Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the tool…

> Opt-in telemetry. A very rare sight these days. Glad to see.

Ahem. Cough.

Given Google's ties to Go, of course it was NOT opt-in when originally announced.

After, shall we say, a "lively" discussion on the relevant Github topic[1], it was changed to opt-in. :D

Opt-in is the correct stance.

[1]https://github.com/golang/go/discussions/58409

Post reply on HN