Kind replies

 Reply

Yeah not sure where that came from but as you say, you can pin to a tag/commit, and Go's module proxy stops you from having someone re-push the value of a tag, once it's had someone download a dependency.

You also only pin, as there's no way to do a range, so IMO that makes it nicer and more explicit than other languages / toolchains with respect to pinning

 Reply

Yeah I'm very much looking forward to // tool landing as that'll push more folks to using a tools.go style approach.

I'm seeing some folks who'll use a tools.go in a separate Go module so then it doesn't impact the top-level dependency tree, on top of Go' s inbuilt module graph pruning

Also as much as I recommend tools.go, there's still some things it can be awkward with ie golangci-lint tracked as a source dependency can lead to issues (dependency version clashes, Go version incompatibility), as well as it not being the recommended use case

 Reply

Yup! I wrote about this in a bit more detail a few months back

 Reply

Hand writing the spec, then validating (ie via http://gitlab.com/jamietanna/httptest-openapi) is a valid option - keeps it in sync very well from quite a few big Go apps I know using it

Or you could wrap your implementation in https://github.com/oapi-codegen/oapi-codegen/ from a hand rolled spec - we support net/http - and that then starts towards the process of being closer to the spec

Either way, you still need to validate the spec and implementation are in sync, and IMO, hand-writing the spec is the only "right" solution that makes sure you're intentionally making changes to the API, whereas generating spec from code could lead to just documenting what's in place and ie accidental breaking changes being missed

 Reply

I used to do this - especially with t-shirts at stake - but since last year I'm not as bothered 🤷🏽‍♂️

Now I try and raise PRs when I can, otherwise I'll forget about them 🙃

 Reply

Would love to hear about this 💜 as someone who does something somewhat similar, somewhat passively (publicly sharing my salary history), I can attest to how important it is to chat about it with your friends and colleagues and work to get better 🙌🏽

 Reply

They can be useful, but at least my OSS doesn't need them much. I've got some work bits that do have Musts for convenience either in func main or as you say, in tests

 Reply

I'd say that adding a separate /x/ or /exp/ package can also be a good way of testing out new things - very clearly a separate "experimental" thing, which can be tested independently

Using a fork of the module is also a good suggestion and a way to make sure it's not even in the main repo, but gives you mostly the same codebase to be able to test things

 Reply

Aaron Parecki wrote Meetable - more info - which isn't quite a replacement for the platform and it's social aspects, but is used in a few places including https://events.indieweb.org

 Reply

go-semantic-release has this same default but thankfully it's straightforward to set it so you can use 0.x releases.

Making it the default is IMO a very bad decision, as it teaches people that they should go to 1.x far too early.

My grumbling will result in a blog post sooner than later 👀

 Reply

Oh amazing thank you! That's exactly what I was looking for, and has given me many more things to add to mine, thank you 🤓

 Reply

As was mentioned, Tidelift is generally pitched at bigger orgs, so I'd recommend reaching out to see if it's worthwhile.

(I'm a Tidelift maintainer)

There's also things like https://stackaid.us or https://thanks.dev that may be easier to onboard to

 Reply

In terms of this and the first episode? As Jesus mentions on the episode, they're some interesting things, but none that'll generally change the way you write Go, but can be fun trivia points or interesting to know

 Reply

We've had an Oxo Easy-Clean Compost Bin for years - after my parents have had one for years and rate it - and it's pretty good. A good size, dishwasher safe, fits a fair bit. Would recommend!

 Reply

Is this a public repo of things to know and remember? 👀

 Reply

Ahh huge congrats!! I'd meant to wish you happy wedding day, but obviously missed it. Hope you had a lovely time 🥰

 Reply

Glad to hear, hope it's of use. We're looking at packaging some of it up so teams can be writing tests for regexes in their own repos, without needing to set up the whole framework themselves 🤞🏽

Oh no that's a typo! Will fix that now

 Reply

I remember hearing about that proposal and that it sounded tough to do - sorry you're having to deal with it 😅

https://github.com/mholt/archiver came to mind, but looks like it doesn't support the encryption side of things. Can you use one of the options from the proposal's thread?

 Reply

Have an amazing time!

 Reply

Can't celebrate big willies now cause of woke 😔

 Reply

Trying to take an existing project and convert it to Gradle? Trying to add things to an existing Gradle project?