Live data from Hacker News

Building Gin: Simple over Easy

manualmeida.dev

11–20 of 28 posts

Re: Building Gin: Simple over Easy

#11
Thanks for the detailed walk-through @manucorporat . On designing for zero breaking changes, I see that is also a core value at Go. However, how did you actually apply it to software design and architecture? Got any resources to share here? Did you had to put more effort on other projects not running on Go to keep it also free from breaking changes?

I'm mainly building tooling in other runtimes like Rust and TS, and I'm interested to hear your take on it.

Re: Building Gin: Simple over Easy

#12

I'm not sure if I could use a framework that shares the name with an alcoholic drink in a professional setting. Plenty of people who struggle with alcohol and who would benefit of not being reminded of it at work too.

Part of reaching maturity is an ability to tell when your jokes or behavior make others uncomfortable, even when you don't think they should, and moderating yourself to enable others to feel comfortable with your presence. Part of maturity is also knowing when the things that cause you discomfort are unreasonable and recommending they be avoided is disruptive and antisocial. I think "all references to alcohol" falls pretty far under that latter category. Part of getting over alcoholism in our society is gaining the ability to hear references to it without suffering emotional distress, and while it's good to help people on that journey erasing reference to their object of dependence is both unworkable and ultimately harmful to those ends.

Re: Building Gin: Simple over Easy

#13
> You write the same plumbing for route params, request parsing, validation, and responses in handler after handler. None of it is hard. Enough of it becomes noise.

As a human, I would have written something like: > You write the same plumbing for route params, request parsing, validation, and responses in handler after handler. None of it is hard, but it makes the code noisy.

Whether or not an LLM wrote this, it's a writing style that sounds like a politician or a sophist, and it sucks.

Re: Building Gin: Simple over Easy

#14

I released Gin in Hacker news more than 10 years ago! Changed my career and allowed me to meet a lot of interesting people. Thank you HN!

Hey manucorporat! So fun seeing this on the frontpage of HN. I'm bummed our two paths didn't cross in person via a Go conference or something else. Wanted to say how happy I was to see Gin rise in popularity in the community. I think you did a great job taking some of the elegant bits from Martini and making some better technical tradeoffs that were more idiomatic for Go.

Great to see you here :D

Re: Building Gin: Simple over Easy

#15

> You write the same plumbing for route params, request parsing, validation, and responses in handler after handler. None of it is hard. Enough of it becomes noise. As a human, I would have written something like: > You write the same plumbing for route params, request parsing, validation, and responses in handler after handler. None of it is hard, but it makes the code noisy. Whether or not an LLM wrote this, it's a…

[deleted]

Re: Building Gin: Simple over Easy

#17

I'm not sure if I could use a framework that shares the name with an alcoholic drink in a professional setting. Plenty of people who struggle with alcohol and who would benefit of not being reminded of it at work too.

Truth be told, I came up with this name when I was 12 years younger. The other big framework back then was called Martini. And Gin pretended to be the idiomatic version for Go. Go -> Gin

Its a great name

Re: Building Gin: Simple over Easy

#19
LLM tells:

> Fyve faded. Gin kept going.

> the honest version of web programming: no magic, explicit control flow, and a handler shape you can hold in your head.

> keep the request path explicit, run no reflection there, and put the boring work behind one object you can inspect: the Context.

> None of it is hard. Enough of it becomes noise.

> we didn’t rename ours — we made gin.Context satisfy the standard interface, adding full compatibility

> Params land in a small slice, the matched handler is already sitting on the final node, and the request path avoids reflection.

LLMs tend to write in this style full of short sentences or phrases separated by commas.

It's actually hard to understand what the point is at times:

> The work follows the length of the URL, not the number of routes registered in the app.

> That is the kind of performance work I trust: fewer operations on the hot path, and fewer concepts in the programmer’s head.

> The quiet goal was zero breaking changes.

Adjectives such as "honest" and "quiet" are LLM tells.

Re: Building Gin: Simple over Easy

#20

I'm not sure if I could use a framework that shares the name with an alcoholic drink in a professional setting. Plenty of people who struggle with alcohol and who would benefit of not being reminded of it at work too.

"Gin" is also an abbreviation for "engine", as applied to various machines during the industrial revolution. Eg, cotton gin. In that sense, it's quite a good name.
Post reply on HN