39 Followers
103 Following
662 Posts

I like to find out how things work.

I'm a SWE at Google in Los Angeles (this feed is all personal stuff).

The real problem with my API design is I used to not worry about it because it was only for me and now that I've made it an open source project I'm worried about compatibility and use cases beyond mine.

I keep thinking about this new API I made and it's frustrating I just can't seem to find a way to make it perfect.

I found a way that I think is the only good way to make the blocking version that allows full control of customizing your goroutine lifecycle and logging etc but then actually using it in the usual way people want to is kind of difficult.

I think I might just leave some of the helper functions that I'm not happy with private for now. I remember thinking I should commit and make it public and make sure it works now so I don't have to change the lower level blocking API again and maybe I've done that.

It's basically the blocking function takes a callback to report renewed leases or certs to another thread and so I made a helper function that returns a handler and turns that into a tls.Config and a port number from a channel so you wait for the first registration to be done. It's just complicated and kind of weird.

At least the API most people would use that spawns the background goroutine for you is pretty nice, I can do all that stuff internally.

I'm really obsessing over the API of this thing maybe more than it deserves. I just don't want to break compatibility again.

Anyway I might just call it done enough, soon hopefully.

I fixed two subtle typo bugs in daemon this weekend my first time back to working on it since November. I'm feeling pretty good about that.

Omg go select statements do not allow fallthrough between cases!

I wrote a bug 3 years ago expecting it to fallthrough like C and it has been causing my new built in acme client to fail to renew.

Here's the script I made to update the arch linux zfs kernel since the repo someone was maintaining stopped being updated

https://gist.github.com/fsmv/37fd0a934abb879ef7c9a32a89e7a3d2

Update zfs-linux and zfs-utils and pull the correct version of the linux kernel from the arch linux archives

Update zfs-linux and zfs-utils and pull the correct version of the linux kernel from the arch linux archives - update-zfs-linux

Gist

I really liked the latest Starfleet Academy episode. It was a nice tribute to Ben Sisko in Deep Space 9.

I'm happy to watch positive things

Tfw tusky app can display quote posts but can't make them yet

I really like the idea of rethinking "obvious" designs and making software better than it is now.

https://indieweb.social/@tg/115967619782982891

tg (@[email protected])

Yesterday I wondered aloud why RSS readers look like email clients. @brentsimmons replied. Turns out he borrowed that layout for NetNewsWire in 2002 — and twenty years later, he's asking why no one's tried something different. That conversation became an essay. I built a visual version (with an ASCII fallback). https://www.terrygodier.com/phantom-obligation #rss

Indieweb.Social
Oh I haven't uploaded it anywhere yet because I'm not happy with how I parse the pacman output. I want to make it a bit more robust to share it.