I've written a blogpost on joining errors with the built-in errors package in Go.
Joined errors are a variant of error wrapping with slightly different semantics; I haven't seen them used all that much!
Let me know what you think! ^^ #golang #go
⏬
https://tpaschalis.me/golang-multierr/
Dmitri finds out how to solve differential equations
I'm particularly excited for what my teammate @matt is co-presenting about integrating Beyla with Alloy for eBPF auto-instrumentation!
Later on during the day, we'll also show a sneak peek of what my team has been cooking recently; I'm _so_ excited about what's coming out there!! 🙌🤫
#Grafana Labs is hosting #ObservabilityCon once more, this year in NYC!🗽
The opening keynote will be live streamed at 17:00 UTC ➡️https://grafana.com/events/observabilitycon/2024/keynote-livestream/ 👀
@nblr https://sunlight.live/ for a live view if you're into this kind of stuff ^^
Admittedly, it really took handholding and patience from the Go team there, which I really appreciate 😅
On to the next one!
I've landed my first compiler PR for golang/go 🎉
It optimizes `[]byte(str1 + str2)` conversions by making them a single step instead of first concatenating the string and _then_ copying the result in a new slice.
https://github.com/golang/go/commit/fe69121bc538260cf91f11dab705335b690e51a3
OVERWORKED LICENSE (OWL)
dude idfk if i maintain this shit at all its some kind of miracle. like i can barely maintain myself let alone some software i made out of desperation. like just fucking do what you want with this shit i do not care. try not to be evil with it i guess, but no matter what i write here some jackass will find a way to ruin it.
this license is to apply to all derivative works
Reminder that #Vim and #Neovim have the special `=` register that gives you the result of an expression.
Most basic example would be a calculation. For example, I'm configuring the cache_size in the config file for davfs2. It takes a value in MiB. I'd like to set it to 50 GiB, so I can simply, in insert mode, hit Ctrl-R and then type
=50*1024
and hit return, and Vim will insert 51200.
See `:h @=` and `:h i_CTRL-R` for details.
https://vimhelp.org/change.txt.html#%40%3D
https://vimhelp.org/insert.txt.html#i_CTRL-R
Let's stop editing go.mod manually
https://tpaschalis.me/go-mod-edit/
Discussions: https://discu.eu/q/https://tpaschalis.me/go-mod-edit/
In 2022, I left Google in search of a sustainable approach to open source maintenance. A year later, I was a full-time independent professional open source maintainer.
Today I’m announcing the natural progression of that experiment: Geomys, a small firm of professional maintainers with a portfolio of critical Go projects.
Nicola Murino, the maintainer of x/crypto/ssh, and @dominik, the maintainer of Staticcheck and Gotraceui, are Geomys’ first Associate Maintainers ✨
@filippo has a new thing https://words.filippo.io/dispatches/geomys/
Geomys is a new OSS company to look after some foundational OSS projects, today those are all in Go.
I'm really pleased to see this launch, not purely because I get to let go of bluemonday and know that it's now in the hands of some great custodians, but because all of the projects in are important in different ways, and the whole software community does a bad job at keeping focus on ensuring these are in safe hands and being maintained.
The most profound misunderstanding about workplace and online arguments is this: if you have a problem that can be settled with dispassionate logic, *you don't end up in an argument in the first place*. You end up in a brainstorming meeting.
Conflict is inherently social. It's a spectator sport. Peacocks showing off their plumage, if you will.
You don't win with facts and logic. You prevail by picking battles wisely, making concessions where possible, and helping both sides save face. If you can't do that, better carry a big stick.