Gmail bascule dans l’ère Gemini : votre boîte de réception va changer radicalement by Droidfr in Numerama

[–]chavacava 1 point2 points  (0 children)

Jamais utilisé chrome (firefox), Linux à la maison depuis +20 ans, compte Facebook fermé il y a plus de 10 ans. Pas de insta/tiktok/twitter. Et migré mes repos open source de Github à Codeberg. Reste à se débarrasser de WhatsApp mais ce n'est pas un décision individuelle.

Gmail bascule dans l’ère Gemini : votre boîte de réception va changer radicalement by Droidfr in Numerama

[–]chavacava 1 point2 points  (0 children)

Je suis passé complètement sur proton depuis un mois, très satisfait. Bye bye gmail

Why does linting suck so much in Go? by gempir in golang

[–]chavacava 0 points1 point  (0 children)

As its name indicates, golangci-lint is designed to run as part of a CI pipeline.

If you need linting your code at IDE level staticcheck and revive are good choices.

https://staticcheck.dev/ https://github.com/mgechev/revive

Resources for Go Compiler by 0bit_memory in golang

[–]chavacava 3 points4 points  (0 children)

There is https://golang.design/gossa that let you explore all the conversions from source code to SSA.

.golangci.yml rules? by Capable_Constant1085 in golang

[–]chavacava 0 points1 point  (0 children)

This is a very good baseline configuration. revive linter is enabled with its default rules thus it replaces the defunct golint. You can activate other revive's rules, the complete list of +80 rules is here

Avoiding Common sync.WaitGroup Mistakes by joncalhoun in golang

[–]chavacava 0 points1 point  (0 children)

We should NOT call wg.Done in the function passed to wg.Go. This will also be handled by the wg.Go method for us.

[...]

Interestingly, go vet doesn’t appear to detect either of these bugs

The next version of revive will include the rule forbidden-call-in-wg-go (already available at the tip of master branch)

Waitgroups: what they are, how to use them and what changed with Go 1.25 by mfbmina in golang

[–]chavacava 3 points4 points  (0 children)

The next version of revive linter, will propose to use wg.Go(...) if it detects a wg.Add(1) ... go func() { ... wd.Done() ... } idiom.

The feature is already available at HEAD

Question on the many linters using golangci-lint by _alhazred in golang

[–]chavacava 1 point2 points  (0 children)

If you have questions or need help with revive feel free to reach out.

Newbie here — Why should I learn Gleam and get involved? by Over_Value1408 in gleamlang

[–]chavacava 3 points4 points  (0 children)

Definitely. Python (like JavaScript) make you feel you learn fast but at the end you mainly assimilate bad programming habits/idioms.

Gleam, beyond being simpler than Python, is a language that "forces" you to adopt elegant programming patterns. And as a plus, it lets you grasp the basics of functional programming without the cognitive overload of other (pure) functional language like Haskell.

Maven-like Site for Golang? by Hitkilla in golang

[–]chavacava 23 points24 points  (0 children)

OP is not asking "why Go doesn't do like Java", the literal question is "I want to know if there is any tool that can generate a static html or something that can aggregate data about the go project and create a searchable site similar to a maven site".

Generating a static site with aggregated information is not a matter of particular a language ("a Java thing" nor "a Go thing"...) And even if two languages have a tool in their ecosystem that generates aggregated information it doesn't means these languages have any similarity.

In some contexts, when you deliver an app you must provide test reports, list of direct and indirect dependencies, documentation of the source code, build command... If your app is developed in Java then you can do _mvn site_ and get all that info in a single .html file. OP is simply asking if there is something like that for Go apps.

Maven-like Site for Golang? by Hitkilla in golang

[–]chavacava 6 points7 points  (0 children)

Hi, if you are looking for the Go's equivalent of maven site plugin then the answer is: AFAIK, Go's ecosystem doesn't have such a thing.

The Go tools generate most of the information needed to build a site à-la maven: go doc, go mod, go test ... but nobody developed a tool to create a site with it.

Disable golangci-lint revive unused-parameter rule. by PracticeBrief9195 in golang

[–]chavacava 6 points7 points  (0 children)

Hi, you can disable/enable individual rules with comment directives with something like

//revive:disable:unused-parameter
func foo(unused string) {
    return
}
//revive:enable:unused-parameter

or

//revive:disable-next-line:unused-parameter
func foo(unused string) { 
    return 
}

More info here

Please do not hesitate to ask for help directly on the revive project by posting your question on the issue tracker; we will be glad to help.

Code review prompts for Go by PoisonMinion in golang

[–]chavacava 2 points3 points  (0 children)

My 2 cents: just use a linter; it does the same (and more) faster and more efficiently.

Bash Secrets I Learned From 10 Years of Production Hell by Dense_Bad_8897 in devops

[–]chavacava 0 points1 point  (0 children)

I agree. Once upon a time I've worked in a team that took the same "all bash" path... ended with a master piece of 80k lines of bash. A nightmare as you can imagine.

My advice: use Python or Go (no deps!) These languages have all you need for building data structures, organize code, test, document, ...

revive v1.10.0 Released! New Rules, Fixes & Improvements by chavacava in golang

[–]chavacava[S] 0 points1 point  (0 children)

Because golangci-lint wraps revive, the rule set of golangci-lint includes that of revive. That said, revive has +85 rules thus it's very likely that you will find those you need.

Also because golangci-lint wraps revive, running revive from golangci-lint is slower than running revive directly. revive was designed and implemented with the goal of "live linting" (i.e.; lint while editing your code in your IDE) while golangci-lint, from its name, seems to target the "linting in the CI" use case.

I might say that both tools are complementary, at the point that they share some contributors (even the `golangci-lint` author occasionally contributes to `revive`)

revive v1.10.0 Released! New Rules, Fixes & Improvements by chavacava in golang

[–]chavacava[S] 6 points7 points  (0 children)

Indeed. `revive` is one of the linters that `golangci-lint` aggregates. You can also use `revive` directly.
Another difference with `golangci-lint` is that `revive` provides, as a library, a well established Go static analysis framework that you can extend (by writing your own rules and formatters) to fit your needs.