Go
The Go Programming Language
vrypan |--o--| pfp

@vrypan.eth

The locally built binary with `go build` worked fine. The version installed with homebrew through a "private key curve is not secp256k1" error. WTF? Here's the root cause and the solution, bellow. https://github.com/vrypan/fc-appkey/commit/a8e8f1a4c7fd43bebcf46aacb0922b811abbed9e https://github.com/vrypan/fc-appkey
1 reply
0 recast
0 reaction

Gabriel Ayuso pfp

@gabrielayuso.eth

Go is so good, it makes TypeScript faster
2 replies
1 recast
9 reactions

vrypan |--o--| pfp

@vrypan.eth

Oh, no. I was just introduced to GCO/Goreleaser annoyances... :-(
0 reply
1 recast
3 reactions

Ryan pfp

@ryansmith

Glad to see Go is improving JSON in its std lib https://github.com/golang/go/issues/71497
1 reply
0 recast
5 reactions

Gabriel Ayuso pfp

@gabrielayuso.eth

From a Principal Engineer at Google working on AI tooling. I miss writing Go https://x.com/rakyll/status/1866909704481542584
1 reply
0 recast
5 reactions

christopher pfp

@christopher

Rewriting @farcaster/shuttle into /go has been good learnings and way easier than I would have thought. But the management of out of order messages is 🤪 — the protocol is causally ordered spiritually which is at odds with the decentralized delta model. Would love to leverage semaphores, mutexes, etc.
1 reply
2 recasts
5 reactions

Josh Ellithorpe pfp

@quest

Toolkit for composable, channel-baseed concurrency. https://github.com/destel/rill
1 reply
1 recast
0 reaction

Josh Ellithorpe pfp

@quest

A deep dive into Constraints in Go. An excellent read. https://bitfieldconsulting.com/posts/constraints
0 reply
0 recast
1 reaction

vrypan |--o--| pfp

@vrypan.eth

I'm impressed by the libraries and tools at https://github.com/charmbracelet Beautiful work.
0 reply
0 recast
4 reactions

christopher pfp

@christopher

Getting the wei balance of a wallet using go-ethereum is easy! All you have to do is: func etherToWei(eth *big.Float) *big.Int { truncInt, _ := eth.Int(nil) truncInt = new(big.Int).Mul(truncInt, big.NewInt(params.Ether)) fracStr := strings.Split(fmt.Sprintf("%.18f", eth), ".")[1] fracStr += strings.Repeat("0", 18 - len(fracStr)) fracInt, _ := new(big.Int).SetString(fracStr, 10) wei := new(big.Int).Add(truncInt, fracInt) return wei; } and then just use the result.
7 replies
0 recast
8 reactions

vrypan |--o--| pfp

@vrypan.eth

I need a local, persistent key/value store that works well with Go. Transaction support is not needed, I will just do simple atomic reads/writes to implement a local cache of data fetched from a farcaster hub (ex: fid->fname, castId->cast_data, etc) It would be nice (not required) if it provided some pruning mechanism out of the box that lets me prune entries after a specific number of entries is reached. I'm open to test something that fits the requirements but it's not 100% battle-tested, my app is not mission critical and can easily recover if things break once in a while.
3 replies
0 recast
2 reactions

Steve pfp

@stevedylandev.eth

urfave/cli is getting closer to releasing v3 👀 excited to see what the changes are!! https://github.com/urfave/cli/releases/tag/v3.0.0-alpha10
1 reply
0 recast
0 reaction

Gabriel Ayuso pfp

@gabrielayuso.eth

https://warpcast.com/bchow/0x80f0c61e
0 reply
0 recast
0 reaction

Ryan pfp

@ryansmith

A proposal on adding "become" keyword to support tail calls in go tldr: wontfix https://github.com/golang/go/issues/22624
0 reply
0 recast
0 reaction

Dylan pfp

@elffjs

Go 1.23 with range-over-func is out. https://go.dev/doc/go1.23
0 reply
4 recasts
1 reaction