Hacker Newsnew | past | comments | ask | show | jobs | submit | tex0's commentslogin

Fossil has some really nice ideas (although I don't like the feature bloat), but when I tried to use it I ran into so many issues and/or bugs. With git on the other hand I can't remember ever hitting a bug in decades.

I don't really like git that much, but it works pretty well most of the time.


This is a cool tool, I like the idea. But the way `uc machine init` works under the hood is really scary. Lot's of `curl | bash` run as root.

While I would love to test this tool, this is not something I would run on any machine :/


Totally valid concern. That was a shortcut to iterate quickly in early development. It’s time to do it properly now. Appreciate the feedback. This is exactly the kind of thing I need to hear before more people try it.


+1 on this

I wanted to try it out but was put off by this[0]. It’s just straight up curl | bash as root from raw.githubusercontent.com.

If this is the install process for a server (and not just for the CLI) I don’t want to think about security in general for the product.

Sorry, I really wanted to like this, but pass.

[0] https://github.com/psviderski/uncloud/blob/ebd4622592bcecedb...


There is a `--no-install` flag on both `uc machine init` and `uc machine add` that skips that `curl | bash` install step.

You need to prepare the machine some other way first then, but it's just installing docker and the uncloud service.

I use the `--no-install` option with my own cluster, as I have my own pre-provisioning process that includes some additional setup beyond the docker/uncloud elements.


Curious, what would be an ideal (secure) approach for you to install this (or similar) tool?


The correct way would be to publish packages on a proper registry/repository and install them with a package manager. For example, create a 3rd party Debian repository, and import the config & signing key on install. It's more work, sure, but it's been the best practice for decades and I don't see that changing any time soon.


Sure, but it all boils down to trust at the end of the day. Why would you trust a third-party Debian repository (that e.g. has a different user namespace and no identity linking to GitHub) more than running something from evidently the same user from GitHub, in this specific case?

I'm not arguing that a repository is nice because versioning, signing, version yanking, etc, and I do agree that the process should be more transparent and verifiable for people who care about it.


It's deploying a script, which then downloads uncloud using curl.

The alternative is, deploying the script and with it have the uncloud files it needs.


Same here. Pretty amazing. Almost every game in my (large) Steam libarary runs out of the box. Performance is on par with Windows. This finally allowed me to ditch Windows.

And no, I don't bother with crap that needs a kernel level anti-cheat. Simply not for me.


If you don't like Go, then just let go. I hope nobody forces you to use it.

Some critique is definitely valid, but some of it just sounds like they didn't take the time to grasp the language. It's trade offs all the way. For example there is a lot I like about Rust, but still no my favorite language.


Disagree. Most critiques of Go I've read have been weak. This one was decent. And I say that as a big enjoyer of Go.

That said I really wish there was a revamp where they did things right in terms of nil, scoping rules etc. However, they've commited to never breaking existing programs (honorable, understandable) so the design space is extremely limited. I prefer dealing with local awkwardness and even excessive verbosity over systemic issues any day.


Few things are truly forced upon me in life but walking away from everything that I don't like would be foolish. There is compromise everywhere and I don't think entering into a tradeoff means I'm not entitled to have opinions about the things I'm trading off.

I don't think the article sounds like someone didn't take the time to grasp the language. It sounds like it's talking about the kind of thing that really only grates on you after you've seriously used the language for a while.


This article was a well-thought-out one from someone who has obviously really used Go to build real things.

I quite like Go and use it when I can. However, I wish there were something like Go, without these issues. It's worth talking about that. For instance, I think most of these critiques are fair but I would quibble with a few:

1. Error scope: yes, this causes code review to be more complex than it needs to be. It's a place for subtle, unnecessary bugs.

2. Two types of nil: yes, this is super confusing.

3. It's not portable: Go isn't as portable as C89, but it's pretty damn portable. It's plenty portable to write a general-purpose pre-built CLI tool in, for instance, which is about my bar for "pragmatic portability."

4. Append ownership & other slice weirdness: yes.

5. Unenforced `defer`: yes, similar to `err`, this introduces subtle bugs that can only be overcome via documentation, careful review, and boilerplate handling.

6. Exceptions on top of err returns: yes.

7. utf-8: Hasn't bitten me, but I don't know how valid this critique is or isn't.

8. Memory use: imo GC is a selling-point of the language, not a detriment.


In my opinion, the section on data ownership contained the most egregious and unforgivable example of go's flaws. The behavior of append in that example is the kind of bug-causing or esoteric behavior that should never make it into any programming language. As a regular writer of go code, I understand why this particular quirk of the language exists, but I hope I never truly "grasp" it to the extent that I forgive it.

I'm surprised people in these comments aren't focusing more on the append example.


Sure but life choices are one thing, but this critique is still valuable. I learned a thing or two, and also think go can improve (I understand it's because I don't grok the language but I still prefer map to append in a loop)


Go indeed has some problems. But IMHO, none described in this article is valid.


And in no way do all the valid complaints add up to "not good" imho.


Which begs the question: What is your favorite language?


"Love it or leave it!"


https://opensource.google/projects

I think all of those are using git and many Gerrit as well.


Maybe they need perforce support instead :P


Gerrit can do some of that.


That depends on your VCS. Some systems don't even allow you to "clone" anything. And yes, some of them enforce all kinds of ACLs.


That is pretty much what I'm doing with Steam, Proton and my Game Library. 99% the time it works just great.


Sadly a few sim racing games don't run at all and VR is a bit hit and miss (though the Quest3 with either WiVRN or ALVR seems to work well)

Still I'd rather this than deal with daily driving Windows! I'm amazed at how good Gaming on Linux has gotten over the past few years.


If you mostly do singleplayer, sure.

Anything online with anti-cheat is usually broken.


>usually broken

The working number is usually around 40-50% see areweanticheatyet.com


Probably zero. And strike the non-SWE part. gpg isn't really easy to use.


Hence need to invest in better opennsource pgp tooling. It won't take more than 10 million USD and will benefit every single person on earth.


Google, "How do I decrypt a GPG file."

First result with simple command. I went from KeePassXC to `pass` & back to KeePassXC. But I question the integrity and/or motive of people like you.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: