i really fucking hate dependency management downloading packages from a centralized repository really grinds my fucking gears
this is like the one go flaw that makes me not use the language for absolutely everything
Show thread
It's not centralized actually but they use caching servers iirc so it mostly is. Maybe there's a way to turn it off
Show thread
@nyanide

> Maybe there's a way to turn it off

GOPROXY='direct'
@nyanide These are helpful: `go help environment`, `go env`, `echo FUCK YOU. Strongly worded letter to follow | sendmail rsc@golang.org`
Follow

@p @nyanide
And a guy who I think is on Go cryptography team tried to convince me here on Fedi that reading about this stuff — "direct" being a special value, on some web page IS the proper way to document it 🤦

@m0xee @nyanide I forget what I was trying to look up but there was one instance of `go doc $something` that had some sparse information and a link to the web page in case you wanted more information. So I go to the web page and the information was still sparse...and ended with a suggestion to use `go doc` to get more information.

@p @nyanide
Yeah, I remember this too and the beauty of it is that $something is also only vaguely related to these matters 😂

@m0xee @nyanide It's much nicer if you just get a man page and that man page is it. Sometimes `go doc` manages to be that nice.

@p @nyanide
Standard library is very well documented… Well, used to be, not sure it's still the case and they don't make you go online to figure things out.

@m0xee @nyanide Oh, yeah, I mostly look at that. The "Check webpage"/"Check go doc" loop was something in the standard library. (I wish I could remember what it was.)

On the other hand, it's generally nice (and also fast) enough that I feel like I'm complaining over something small. man pages have spoiled me.
@m0xee @nyanide Actually, this is fun, I keep this in the scratch space in acme:

:mycomputer: go doc `{cat /dev/snarf}

You could do the same on Linux (though you'd have to replace the cat with `xclip -o` or something), but if I were still using vim, I'd probably overload the man page key (`K`, which is really useful when writing shell scripts or C but not so much in other languages) to have it make a scratch buffer and fill it by calling `go doc` on the identifier under the cursor.

@p @nyanide
There's vim-go plugin or something like that — it brings in tons of dependencies, including things that you might never need and it's pretty slow as it's full LSP implementation, but it displays the output of "go doc" for the function inline as you type its name — quite handy unless you're doing it of a Raspberry Pi over ssh 😅

@m0xee @nyanide

> There's vim-go plugin or something like that

Oh, I hate those.

> it displays the output of "go doc" for the function inline as you type its name

The busier a UI is, the harder it is to actually pay attention to what you're doing. I don't know how people actually use computers that are full of flashing shit and scrolling text and 50 things happen in 50 different parts of the screen every time you push a single button. I spent hours figuring out how to disable the stupid evil twin cursor (`let loaded_matchparen = 1`...you can't stop it from happening, you can only tell it that it already happened, though it's changed since then and it's doing something else now) when vim first added it because I'm moving my cursor around and then suddenly there's another cursor moving in the opposite direction, it was maddening. I started thinking of vim like the Firefox of text editors.

@p @nyanide
Yeah, I'm not a fan of these things either — I sometimes run vim with an empty config to prevent it from loading plugins.
vim-go is still bearable — the most insane thing I've seen in this vein is Rust plugin, I tried running it on an old ThinkPad T43 once: suddenly everything slows down to a crawl and the fans are spinning up, I'm like "WTF is happening?!"
Turns out it builds the project on every iteration to tell you what's wrong 🤦

@m0xee @nyanide

> Yeah, I'm not a fan of these things either — I sometimes run vim with an empty config to prevent it from loading plugins.

Yeah, if I am using vi, usually it's nvi or busybox vi; half the time I just use ed, though. It's nice to not have the editor demand the whole screen if you are doing sysadmin stuff, and that is usually what I'm doing if I am not using acme.

> Turns out it builds the project on every iteration to tell you what's wrong

Dims the lights, I suspect.

@p @nyanide
AFAIR the online documentation also gives you link to the source so you can figure things out for yourself if something doesn't make sense, I'll give them that. It's also good for figuring out the differences between Go versions.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml