Show newer

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! ^^

tpaschalis.me/golang-multierr/

tpaschalis boosted

Nightmare Blunt Rotation: the village of "Indian Creek" Florida

I'm particularly excited for what my teammate @matt is co-presenting about integrating Beyla with Alloy for eBPF auto-instrumentation!

grafana.com/events/observabili

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!! 🙌🤫

Show thread

Labs is hosting once more, this year in NYC!🗽

The opening keynote will be live streamed at 17:00 UTC ➡️grafana.com/events/observabili 👀

I just got my butt kicked by errors.Join, should write a blogpost about it so I finally understand its nuances.

Admittedly, it really took handholding and patience from the Go team there, which I really appreciate 😅

On to the next one!

Show thread

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.

github.com/golang/go/commit/fe

tpaschalis boosted

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

tpaschalis boosted

Dependency rejection is better than dependency injection.

tpaschalis boosted

WHY WAS IT CALLED SINGLE-SIGN ON WHEN SIGN-ON 37 TIMES PER DAY WAS RIGHT THERE

tpaschalis boosted

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.

vimhelp.org/change.txt.html#%4
vimhelp.org/insert.txt.html#i_

tpaschalis boosted
tpaschalis boosted

Her: "Oh you're cute, can you send me some more pics?"
Me: "What kind of pics?"
Her: "You know... the ones you get sent at 3am ;)"
Me: "Oh... those pics"
<Sends a picture of a server crash incident log>

tpaschalis boosted

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 ✨

words.filippo.io/dispatches/ge

tpaschalis boosted
tpaschalis boosted

@filippo has a new thing words.filippo.io/dispatches/ge

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.

tpaschalis boosted

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.

tpaschalis boosted

two of the best feelings when programming are:
1. figuring out a really clever way to solve a problem
2. figuring out a really stupid way to solve a problem

Show older
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!