Julien's Avatar

Julien

@goinfra.dev.bsky.social

#golang Found the secret to happiness: not to argue.

90 Followers  |  283 Following  |  28 Posts  |  Joined: 30.12.2023  |  2.0801

Latest posts by goinfra.dev on Bluesky

$ go install golang.org/dl/go1.25.0@latest
$ go1.25.0 download
Downloaded   0.0% (       0 / 58130695 bytes) ...
Downloaded  50.0% (29065347 / 58130695 bytes) ...
Downloaded 100.0% (58130695 / 58130695 bytes)
Unpacking go1.25.0.freebsd-arm.tar.gz ...
Success. You may now run 'go1.25.0'
$ go1.25.0 version
go version go1.25.0 freebsd/arm

$ go install golang.org/dl/go1.25.0@latest $ go1.25.0 download Downloaded 0.0% ( 0 / 58130695 bytes) ... Downloaded 50.0% (29065347 / 58130695 bytes) ... Downloaded 100.0% (58130695 / 58130695 bytes) Unpacking go1.25.0.freebsd-arm.tar.gz ... Success. You may now run 'go1.25.0' $ go1.25.0 version go version go1.25.0 freebsd/arm

๐ŸŽŠ Go 1.25.0 is released!

๐Ÿ“ Release notes: https://go.dev/doc/go1.25

โฌ‡๏ธ Download: https://go.dev/dl/#go1.25.0

#golang

12.08.2025 21:58 โ€” ๐Ÿ‘ 194    ๐Ÿ” 56    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 11
Go 1.25 Release Notes Go 1.25 Release Notes

Go 1.25 Release Notes [Discussion]

13.08.2025 05:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
FastCGo: ะบะฐะบ ะผั‹ ัƒัะบะพั€ะธะปะธ ะฒั‹ะทะพะฒ C-ะบะพะดะฐ ะฒย Go ะฒย 16,5ย ั€ะฐะทะฐ ะ’ัะตะผ ะฟั€ะธะฒะตั‚! ะœะตะฝั ะทะพะฒัƒั‚ ะ’ะปะฐะดะธะผะธั€ ะŸัƒัั‚ะพะฒะฐะปะพะฒ, ั C++ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบ ะฒ ะบะพะผะฐะฝะดะต Deckhouse ะบะพะผะฟะฐะฝะธะธ ยซะคะปะฐะฝั‚ยป. ะœะพะธ ะบะพะปะปะตะณะธย โ€” DevOps-ะธะฝะถะตะฝะตั€ั‹ย โ€” ะฝะฐ ะดะฐะฝะฝั‹ะน ะผะพะผะตะฝั‚ ะพะฑัะปัƒะถะธะฒะฐัŽั‚ ะฑะพะปะตะต 600 ะบะปะฐัั‚ะตั€ะพะฒ, ะธ,...

FastCGo: How people behind Prom++ made calls from Go into C 16.5 times faster (ru). Great post, full of low-level technical details #golang

(the browser's auto-translation does a decent job of translating the text into English)

habr.com/ru/companies...

08.07.2025 11:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Little Bobby Tables had a brother

12.06.2025 01:13 โ€” ๐Ÿ‘ 248    ๐Ÿ” 68    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 2

some interesting discussion here around protocol strategy and resistance to centralization

13.06.2025 19:10 โ€” ๐Ÿ‘ 99    ๐Ÿ” 25    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I have not paid a ton of attention to the uproar over RTO policies, bc we are all in on distributed teams and not going back.

My impression (via social media) has been that these were shadow layoffs.

Last month I asked an investor why they are doing RTO. He said: "Retention, mostly. And morale."

26.05.2025 23:13 โ€” ๐Ÿ‘ 338    ๐Ÿ” 49    ๐Ÿ’ฌ 22    ๐Ÿ“Œ 58

Carmine Cesarano, Martin Monperrus, Roberto Natella
GoLeash: Mitigating Golang Software Supply Chain Attacks with Runtime Policy Enforcement
https://arxiv.org/abs/2505.11016

19.05.2025 04:34 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@metalmatze.de hi, weโ€™ve met at kubecon and we talked about a project for benchmark trend visualization. If you found it again, I would love to see it. Thank you so much for the recommendation.

04.04.2025 10:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

this worked for me, btw #golang

`find . -type f -name '*_test.go' -exec sed -i '' 's/ctx := context\.Background()/ctx := t.Context()/g' {} +`

23.02.2025 17:59 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Preview
Go 1.24 Release Notes - The Go Programming Language

๐Ÿงจ Go 1.24.0 is released!

๐Ÿ“ Release notes: go.dev/doc/go1.24

โฌ‡๏ธ Download: go.dev/dl/#go1.24.0

#golang

12.02.2025 07:26 โ€” ๐Ÿ‘ 13    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

With more #golang conferences and meetups joining BlueSky, here is a starter pack with the ones I've seen so far!

Did I miss any? Please ignore the fact that I can't remove myself from my own list!

go.bsky.app/FLz8Wx8

27.01.2025 17:13 โ€” ๐Ÿ‘ 24    ๐Ÿ” 6    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Go Programming Language, The (Addison-Wesley Professional Computing Series) Buy Go Programming Language, The (Addison-Wesley Professional Computing Series) 1 by Donovan, Alan A. A. (ISBN: 9780134190440) from Amazon's Book Store. Everyday low prices and free delivery on eligible orders.

Just finished "The Go Programming Language" by Donovan and Kernighan. Extremely well structured and well written book, as might be expected from these authors. #golang

amzn.eu/d/56ngvEn

Why read a book about a programing language instead of just learning it online? (1 of 4)

30.01.2025 17:31 โ€” ๐Ÿ‘ 13    ๐Ÿ” 3    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Preview
proposal: encoding/json/v2: new API for encoding/json ยท Issue #71497 ยท golang/go Proposal Details This is a formal proposal for the addition of "encoding/json/v2" and "encoding/json/jsontext" packages that has previously been discussed in #63397. This focuses on just the newly ...

The #golang encoding/json/v2 proposal is live!

Huge props to Joe Tsai for the hundreds of hours he poured into this project.

github.com/golang/go/is...

31.01.2025 08:15 โ€” ๐Ÿ‘ 80    ๐Ÿ” 15    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
type Cache[K, V any] struct {
	m sync.Map
}

// Get returns the result of new.
//
// If Get was called on k before and didn't return an error, Get will return the
// same value it returned from the previous call.
//
// If Get is called concurrently on the same k value, new might get called
// multiple times. All calls will return the same value or an error from new.
//
// The cache is evicted some time after k becomes unreachable.
func (c *Cache[K, V]) Get(k *K, new func() (*V, error)) (*V, error) {
	p := weak.Make(k)
	if cached, ok := c.m.Load(p); ok {
		return cached.(*V), nil
	}
	v, err := new()
	if err != nil {
		return nil, err
	}
	if cached, loaded := c.m.LoadOrStore(p, v); loaded {
		// We lost the race, return the cached value and discard ours.
		return cached.(*V), nil
	}
	runtime.AddCleanup(k, c.evict, p)
	return v, nil
}

func (c *Cache[K, V]) evict(p weak.Pointer[K]) {
	c.m.Delete(p)
}

type Cache[K, V any] struct { m sync.Map } // Get returns the result of new. // // If Get was called on k before and didn't return an error, Get will return the // same value it returned from the previous call. // // If Get is called concurrently on the same k value, new might get called // multiple times. All calls will return the same value or an error from new. // // The cache is evicted some time after k becomes unreachable. func (c *Cache[K, V]) Get(k *K, new func() (*V, error)) (*V, error) { p := weak.Make(k) if cached, ok := c.m.Load(p); ok { return cached.(*V), nil } v, err := new() if err != nil { return nil, err } if cached, loaded := c.m.LoadOrStore(p, v); loaded { // We lost the race, return the cached value and discard ours. return cached.(*V), nil } runtime.AddCleanup(k, c.evict, p) return v, nil } func (c *Cache[K, V]) evict(p weak.Pointer[K]) { c.m.Delete(p) }

weak.Pointer (Go 1.24+), runtime.AddCleanup (Go 1.24+), and sync.Map combine wonderfully into a 20-lines weak map. #golang

It associates values to keys, with automatic garbage collection once the key becomes unreachable. Using it to tie precomputed FIPS keys to PrivateKey values we can't modify.

23.01.2025 13:42 โ€” ๐Ÿ‘ 174    ๐Ÿ” 16    ๐Ÿ’ฌ 10    ๐Ÿ“Œ 0

Pro tip โš ๏ธ

Search in all repos for these comments:
- This must not happen
- This should not happen
- Why is this happening
- but why
- Forgive me
- I know I know
- Ok so
- I cannot believe
- This is ridiculous
- I give up
- Abandon all hope

You're welcome

20.01.2025 07:11 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

DWARF5 #golang

go-review.googlesource.com/c/go/+/635836 + github.com/golang/go/is...

18.12.2024 15:50 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Bluesky Network Analyzer Find accounts that you don't follow (yet) but are followed by lots of accounts that you do follow.

Your periodic reminder about the Bluesky network analyzer, a surprisingly useful tool for finding people you know who you probably intended to be following if you knew they were here. It's eerily good, especially if you use "favour niche accounts" mode.

bsky-follow-finder.theo.io

27.12.2024 04:52 โ€” ๐Ÿ‘ 112    ๐Ÿ” 38    ๐Ÿ’ฌ 9    ๐Ÿ“Œ 2

I donโ€™t know who needs to hear it but

defaults write com.google.Chrome URLBlocklist -array-add example.com

works system-wide without giving access to all your browsing to some extension.

21.12.2024 10:22 โ€” ๐Ÿ‘ 113    ๐Ÿ” 15    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

How am I only learning now about Context.AfterFunc!!

pkg.go.dev/context#Afte... #golang

17.12.2024 12:59 โ€” ๐Ÿ‘ 65    ๐Ÿ” 5    ๐Ÿ’ฌ 7    ๐Ÿ“Œ 0

Did you know you that you can run Go 1.24rc1 (or any other version) by just setting an environment variable?

$ GOTOOLCHAIN=go1.24rc1 go version
go: downloading go1.24rc1 (darwin/arm64)
go version go1.24rc1 darwin/arm64

This is supported since Go 1.21 (August 2023).

go.dev/doc/toolchain

16.12.2024 22:54 โ€” ๐Ÿ‘ 121    ๐Ÿ” 28    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 2
Shouting in the Datacenter
YouTube video by Bryan Cantrill Shouting in the Datacenter

Old but gold.

Don't shout at your JBOD (just a bunch of disks).

www.youtube.com/watch?v=tDac...

08.12.2024 22:39 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
frood, an Alpine initramfs NAS My NAS is just one big initramfs containing a whole Alpine Linux system. Itโ€™s delightful. Here's why and how.

I wrote up how my NAS is now just a big initramfs based on Alpine Linux. words.filippo.io/frood/

It's been pretty great. Immutable, declarative, and very very simple. Just some files, a list of packages, and a short script.

05.12.2024 21:29 โ€” ๐Ÿ‘ 50    ๐Ÿ” 12    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 1

The doc is in `go help mod edit`. How did I get there...? it's a long story.

02.12.2024 23:42 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The doc is buried in โ€œgo help mod editโ€. I would never have guessed

02.12.2024 08:33 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

TIL: go.mod can automatically upgrade the version of Go and the toolchain by running a command:

go mod edit go@latest
go mod edit toolchain@latest

#golang

01.12.2024 15:48 โ€” ๐Ÿ‘ 53    ๐Ÿ” 10    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

Super interesting to read! Thanks for sharing

30.11.2024 15:57 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
What's coming in Go 1.24 What's coming in Go 1.24 London Gophers, 2024 - Daniel Martรญ @mvdan.cc

Here are the slides for my talk at London Gophers about what's coming in #golang 1.24!

With a special thanks to @bboreham.bsky.social for spotting that I forgot swiss maps ๐Ÿ™ˆ

20.11.2024 21:28 โ€” ๐Ÿ‘ 104    ๐Ÿ” 31    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 2

Great! I didnโ€™t even know about this. Thanks for sharing

16.11.2024 14:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Tooling (tests, bench, go mod tidy, pprof,โ€ฆ)
And the sane default of the standard library.

Syntaxโ€ฆ who cares.

13.11.2024 11:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Collection of raspberry pi boards

Collection of raspberry pi boards

Iโ€™m still collecting raspberry pis to give out at @socallinuxexpo.bsky.social

Printing cases and getting sd cards and power supplies

If you have a pi youโ€™re willing to donate (any model) I will pay you to ship it to me

08.11.2024 20:20 โ€” ๐Ÿ‘ 38    ๐Ÿ” 8    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 2

@goinfra.dev is following 20 prominent accounts