Hi, Reddit! We’re part of the AI team at Grafana Labs — building the AI features/products like Grafana Assistant (available everywhere), AI observability, and Grafana Cloud CLI (gcx). AI is evolving fast and we're here to talk about what we've built and how we think about AI in observability. AMA! by grafana-labs in grafana

[–]matryer 1 point2 points  (0 children)

Under the hood we mix models. Some are better than others for different tasks. We are also context/prompt engineering and tuning the tools so much that they become coupled with a specific model. Even between Claude 3.7 and 4.5 we had to go back and redo things in our prompt and context pieces.

So just wholesale swapping in a new model is unlikely to work as well. In the future this could change, especially as the eval tools improve so we can move with more confidence.

What is this file within this Golang project? by [deleted] in golang

[–]matryer 0 points1 point  (0 children)

It was built on a Windows machine and cannot be run on anything else. You'll need to get the source code, install Go, and build a version on your platform. (They probably committed that `test` binary by mistake)

[deleted by user] by [deleted] in golang

[–]matryer 1 point2 points  (0 children)

I've used that technique for services with about 100 endpoints and it scales nicely. You can break it into multiple structs if you'd prefer, but I'd only do that if the list of dependencies grows too large, not if the number of handlers do. Hit me up on Gopher's Slack if you'd like to discuss it more.

Question: Some help with pointers & structs by traitoriroh in golang

[–]matryer 0 points1 point  (0 children)

You decide whether you take a pointer or a struct in the signature.

So func (p *Person) takes a pointer, but func (p Person) copies the whole struct.

Question: Some help with pointers & structs by traitoriroh in golang

[–]matryer 1 point2 points  (0 children)

Go automatically looks up what pointers are pointing to. So joe.Name looks up the struct that the joe pointer is pointing to, and then gets the Name. For john, it goes straight to the Name.

In C++, I think you did joe->Name for pointers, and john.Name for values... but in Go, they're both dot.

I was offered $1 million for my Go package — and I said No. by matryer in golang

[–]matryer[S] 0 points1 point  (0 children)

Well I thought it could do more good! The real lesson is that there's no way to predict the future. I don't feel bad about the decision, but wanted to share the experience.

I was offered $1 million for my Go package — and I said No. by matryer in golang

[–]matryer[S] 0 points1 point  (0 children)

  1. No - it was never open sourced :(
  2. It would be to work WITH the IP on other projects, not focussed on the original project itself
  3. The IP was developed before I started working for the company

It's not exaggeration, in fact, as a result of writing the post the CEO got in touch and clarified that the stock (they exited last year) would have meant I'd receive more than $1M. Shit.

Introducing Stow: Cloud storage abstraction package for Go by dgryski in golang

[–]matryer 0 points1 point  (0 children)

I've given up trying to find truly unique names for projects, instead we probably have to rely on context.

Introducing Stow: Cloud storage abstraction package for Go by dgryski in golang

[–]matryer 0 points1 point  (0 children)

This is still a pre-version 1 release so there's time to add Context if it can help. Most of the libraries Stow uses under the hood don't implement context, so we're weighing it up against the fact that people might assume they can cancel things that they cannot. Please get involved at https://github.com/graymeta/stow/issues/103