Posts tend to be about #golang, performance, fuzzing, and Go Modules. He/him.
https://github.com/thepudds
github.com/golang/go/is...
github.com/golang/go/is...
It pairs nicely with the classic post on the Go interface implementation by @swtch.com from 16 (!) years ago:
research.swtch.com/interfaces
It pairs nicely with the classic post on the Go interface implementation by @swtch.com from 16 (!) years ago:
research.swtch.com/interfaces
The fastest known floating-point printer and parsing algorithms - fixed-width printing, shortest-width printing, and parsing, all in 400 lines of Go.
research.swtch.com/fp
research.swtch.com/fp-proof
The fastest known floating-point printer and parsing algorithms - fixed-width printing, shortest-width printing, and parsing, all in 400 lines of Go.
research.swtch.com/fp
research.swtch.com/fp-proof
github.com/florianl/fli...
Two other good ways to keep up are subscribing to the Go proposal review meeting GitHub issue:
go.dev/issue/33502
and the Go compiler & runtime meeting notes issue:
go.dev/issue/43930
Two other good ways to keep up are subscribing to the Go proposal review meeting GitHub issue:
go.dev/issue/33502
and the Go compiler & runtime meeting notes issue:
go.dev/issue/43930
Gophers often mistakenly put a -u in 'go get -u foo', when they would have been better off with just 'go get foo'.
'go get foo' says to upgrade foo itself. It's shorthand for 'go get foo@upgrade'
'go get -u foo' says to *also* upgrade all the direct and indirect deps of foo.
You never need to look at go.sum.
go.mod has everything you need.
Gophers often mistakenly put a -u in 'go get -u foo', when they would have been better off with just 'go get foo'.
'go get foo' says to upgrade foo itself. It's shorthand for 'go get foo@upgrade'
'go get -u foo' says to *also* upgrade all the direct and indirect deps of foo.
Try this: login.tailscale.com and login as user "
Source: github.com/apenwarr/atlogin
want the current time?
```go
time.Now()
```
want time since an operation?
```go
t := time.Now()
elapsed := t.Sub(start)
```
Need a ticker every 5 seconds?
```go
timer := time.NewTimer(5 * time.Second)
<-timer.C
```
@piccalil.li writing at its best.
piccalil.li/blog/date-is...
want the current time?
```go
time.Now()
```
want time since an operation?
```go
t := time.Now()
elapsed := t.Sub(start)
```
Need a ticker every 5 seconds?
```go
timer := time.NewTimer(5 * time.Second)
<-timer.C
```
tangled.org/willdot.net/...
tangled.org/willdot.net/...
Also, I don't think x/crypto and x/net should be here at all. Both are imported by stdlib itself, so they're basically included in every project.
Also, I don't think x/crypto and x/net should be here at all. Both are imported by stdlib itself, so they're basically included in every project.
Happy 88th Birthday to Don Knuth!
And thanks again to @robpike.io for Ivy.
research.swtch.com/fp-knuth
Happy 88th Birthday to Don Knuth!
And thanks again to @robpike.io for Ivy.
research.swtch.com/fp-knuth
> Benchmark results vary, but we expect somewhere between a 10—40% reduction in garbage collection overhead in real-world programs that heavily use the garbage collector.
Exciting!!
go.dev/doc/go1.26
> Benchmark results vary, but we expect somewhere between a 10—40% reduction in garbage collection overhead in real-world programs that heavily use the garbage collector.
Exciting!!
go.dev/doc/go1.26
It's been a pleasure shepherding this library for the better part of 5 years. To the whole Go community, thank you!!!
blog.thibaut-rousseau.com/blog/the-mos...
It's been a pleasure shepherding this library for the better part of 5 years. To the whole Go community, thank you!!!
blog.thibaut-rousseau.com/blog/the-mos...
Really exciting stuff to play with !
Since it's hard to create a portable high-level API, the Go team decided to start with a low-level, architecture-specific one and support only amd64 for now.
Really exciting stuff to play with !
I'm curious if you've had a chance to try a hello world or port some code or whatever?
(and fyi, there's been some tweaks since go1.26rc1, so tip is probably better)
Since it's hard to create a portable high-level API, the Go team decided to start with a low-level, architecture-specific one and support only amd64 for now.
I'm curious if you've had a chance to try a hello world or port some code or whatever?
(and fyi, there's been some tweaks since go1.26rc1, so tip is probably better)
Since it's hard to create a portable high-level API, the Go team decided to start with a low-level, architecture-specific one and support only amd64 for now.
Since it's hard to create a portable high-level API, the Go team decided to start with a low-level, architecture-specific one and support only amd64 for now.
Folks, I can confirm we got all the edge cases! 💥 🥳
Thank you so much to everyone who contributed to the > 8,500(!) cores. I would like to credit you, so either reply or DM me your name/handle, if you'd like.
Folks, I can confirm we got all the edge cases! 💥 🥳
Thank you so much to everyone who contributed to the > 8,500(!) cores. I would like to credit you, so either reply or DM me your name/handle, if you'd like.
Previously, type constraints couldn't directly or indirectly refer to type parameters.
↓
Previously, type constraints couldn't directly or indirectly refer to type parameters.
↓
Something like 'make([]byte, 0, 33)' does indeed create a slice with a capacity of exactly 33, as your example shows.
However, the underlying allocated heap object actually is larger.
Quick playground example that hacks things to print the heap object size:
Something like 'make([]byte, 0, 33)' does indeed create a slice with a capacity of exactly 33, as your example shows.
However, the underlying allocated heap object actually is larger.
Quick playground example that hacks things to print the heap object size: