Of course we add the context too (which originally comes from the http.Request, but we add a timeout in middleware too).
We generate the actual Go interface from the Oto definition using a template... you can kind-of see the #golang interface being defined here: github.com/pacedotdev/oto…
Oto's parser package reads Go code and turns it into a data structure that we can use to generate code with templates.
We generate the Go server plumbing, a Go client (which we use in our integration tests), a TypeScript client (which we use in the Pace.dev app), and we turn it into a JSON blob for the front-end #SvelteJS app to use when rendering the docs. pace.dev/docs/api/Comme…
• • •
Missing some Tweet in this thread? You can try to
force a refresh
It's time to get rid of estimates in software engineering. They don't work, do more harm than good, and drive people to act in dishonest ways.
Buckle up people, it's a thread.
"How long is this going to take?" feels like a completely reasonable question, but how come "I don't know" isn't a
reasonable answer?
"We just need a ballpark figure, you won't be held to it," they lie.
Well how come we just had to work the weekend?
Estimates are an effort to try and predict _when_ something is going to be ready. This is necessary so the rest of the business (sales, other dev teams, cult leaders, etc.) can line up and coordinate their efforts.
This is nice because I can use any `io.Writer` as the `stdout`. In my tests, I use bytes.Buffer - which allows me to capture (and make assertions about) what the tool outputs.
I can also play around with any flags or arguments without having to do anything weird :)
3/6
This is the best PR I've ever opened. Someone has a PDF of my book in their GitHub repo.
UPDATE: the PR got merged 😂🥳
To celebrate I am going to BUY five copies of my own book (Go Programming Blueprints: Second Edition) for anyone who wants, it but can’t get it themselves.
Reply if interested and I’ll abuse a Go map to randomly pick five winners.