News for hackers. Stuff that matters.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by wiseowise on Monday July 01, 2024 @05:31PM (#40850948)
Is there any reason why so many of those tools are written in Go? Is it because of a stdlib or just accidental?
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by lynndotpy on Monday July 01, 2024 @06:34PM (#40851559)
Go is produces (mostly) statically compiled binaries by default. No runtime, no interpreter, no dependencies.

Python, Java, JavaScript, C#, etc. can't say the same.

Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by audiodude on Monday July 01, 2024 @07:00PM (#40851752)
In my experience, I've always had to install Go and it's ecosystem to `go install foo` for Go programs to work. Is anyone distributing binaries?
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by arccy on Monday July 01, 2024 @07:07PM (#40851799)
you'll usually find binaries in github releases (see the assets section: https://github.com/mr-karan/doggo/releases )
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by audiodude on Monday July 01, 2024 @07:08PM (#40851806)
Oh duh, thanks!
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by sadops on Monday July 01, 2024 @10:58PM (#40853176)
And as we all know, Go is the only language that can produce static binaries.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by cromka on Tuesday July 02, 2024 @07:52AM (#40855723)
Correct me if I am wrong. but this is the feature of C#/.Net as well as of recent versions.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by neonsunset on Tuesday July 02, 2024 @08:39AM (#40856043)
dotnet publish -o . -p:PublishAot=true :)

To be fair, I do not think the author understands what static binaries are and why they may or may not want them, and how what Go does differs to what C/C++ toolchain does. I’d be very surprised if they do, being a Go developer. Next time they will learn another excuse to promote their language.

Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by Zambyte on Tuesday July 02, 2024 @12:45PM (#40858306)
Also to be fair, they did say "by default", and those options you provided must be set because they are not default.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by lynndotpy on Saturday July 13, 2024 @01:59PM (#40955644)
For starters, I develop C# professionally, and I use Go almost exclusively as a consumer :) Your assumptions about me are wrong, and static compilation is not a complicated idea.

Go or Rust programs are standalone by default. You just download the binary, `chmod +x` it, and drop it in your $PATH. Caddy, Helix, Micro, ripgrep, fd-find, eza, bat, and bottom are all programs I install that way.

Some C/C++ applications release as standalone binaries, but that's not the default. and I have not encountered a single C#/.NET application that distributes as a standalone binary.

The only difficulty is if you're on non-libc distros like Alpine (which uses musl) or an uncommon OS-architecture combo like Arm64 Windows or RISC-V anything. These are usually rare and intentional choices and you would be used to building from source. A nice thing is that it's usually much easier to compile Rust or Go projects from source than it is for C/C++.

Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by lynndotpy on Saturday July 13, 2024 @01:36PM (#40955485)
I'm a C# dev, but I'm not up to date on the latest C#/.Net developments. Could you tell me more?

Specifically, I mean that by default, Rust and Go binaries only rely on libc, so you only need to download the binary and `chmod +x` it (on libc distros). No distro-specific dependencies, no frameworks like `java` or `dotnet`, etc.

Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by SushiHippie on Monday July 01, 2024 @06:16PM (#40851400)
In this case it seems like the creator of this tool already knew golang so he used it.

From the readme:

> It's totally inspired from dog [0] which is written in Rust. I wanted to add some features to it but since I don't know Rust, I found it as a nice opportunity to experiment with writing a DNS Client from scratch in Go myself. Hence the name dog +go => doggo.

[0] https://github.com/ogham/dog

Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by aeadio on Monday July 01, 2024 @06:10PM (#40851339)
Could be cultural. Go has a lot of exposure in the DevOps / cloud infrastructure space. Lots of stuff like k8s and Terraform (and its providers) are written in Go, and it competes with Python in popularity for internal tooling.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by bloopernova on Tuesday July 02, 2024 @11:04AM (#40857384)
Yeah exactly. I wrote one orchestration tool in Python, another department used Go. Right now I'm using nodejs simply because that's the main project language and all the developers can help out :)
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by keyle on Monday July 01, 2024 @05:58PM (#40851235)
Go gets it done and for years to come.
Re:Show HN: Doggo – A powerful, human-friendly DNS client fo... by moffkalast on Monday July 01, 2024 @06:21PM (#40851449)
So the name can be a pun, of course.