Julien's Avatar

Julien

@goinfra.dev

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

94
Followers
294
Following
28
Posts
30.12.2023
Joined
Posts Following

Latest posts by Julien @goinfra.dev

We (@chris.blue and I) did an interview for the @antithesis.com Bug Bash podcast. It was an interesting discussion!

18.02.2026 22:49 πŸ‘ 31 πŸ” 3 πŸ’¬ 2 πŸ“Œ 0
Preview
RSA test vector crowdsourcing instructions

Do you have an idle cluster? Can you spare a couple core-years?

Help me bruteforce some test vectors for RSA key generation edge cases!

Here are the instructions, it's just a matter of running a single self-contained cross-compilable Go binary that will report the results autonomously.

04.01.2026 15:48 πŸ‘ 110 πŸ” 33 πŸ’¬ 14 πŸ“Œ 3
Preview
GitHub - hybridgroup/yzma: yzma lets you use Go for local inference+embedding with Vision Language Models (VLMs) and Large Language Models (LLMs) using llama.cpp without CGo. yzma lets you use Go for local inference+embedding with Vision Language Models (VLMs) and Large Language Models (LLMs) using llama.cpp without CGo. - hybridgroup/yzma

Life's comes at you fast, and so do new releases of yzma!

Use pure Go for hardware accelerated local inference on Vision Language Models & Tiny Language Models.

0.9.0 out now with API improvements, model downloading, & more.

github.com/hybridgroup/...

#golang #llama #vlm #tlm

07.11.2025 16:59 πŸ‘ 9 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
$ 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 πŸ‘ 192 πŸ” 55 πŸ’¬ 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 πŸ‘ 247 πŸ” 68 πŸ’¬ 3 πŸ“Œ 2

some interesting discussion here around protocol strategy and resistance to centralization

13.06.2025 19:10 πŸ‘ 98 πŸ” 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 πŸ‘ 339 πŸ” 50 πŸ’¬ 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 πŸ‘ 22 πŸ” 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 πŸ‘ 79 πŸ” 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 πŸ‘ 173 πŸ” 15 πŸ’¬ 9 πŸ“Œ 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 πŸ‘ 63 πŸ” 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 πŸ‘ 118 πŸ” 28 πŸ’¬ 6 πŸ“Œ 2
Shouting in the Datacenter
Shouting in the Datacenter YouTube video by Bryan Cantrill

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 πŸ‘ 1 πŸ” 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 πŸ‘ 52 πŸ” 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