HN user

gant

240 karma
Posts0
Comments87
View on HN
No posts found.

It depends. I've seen some shit on cheap bare metal providers, including getting ARP poisoned on Online.net.

Hetzner has been great overall. They've been very very helpful in documenting me reacting to abuse emails too when I got into some user-generated-content related legal trouble.

Running Kube on their cloud servers? Well have fun with that, the "vCore" is a very inconsistent unit unless you get their dedicated core servers. I moved back to Hetzner Bare Metal because you can't have anything that will push the resource boundaries on these boxes.

Also regarding Wireguard, I really like how tinc will find a new path and allows you to route over other nodes as needed. Wireguard can't really do that out of the box, every link is 1:1. You can of course setup something on top of that, but I miss the ease with which tinc does this.

Don’t sign a CLA 8 years ago

This goes both ways. Don't remember specifics, but contributors trying to "revoke" their license to destroy a FOSS project is about as common as a company trying to use your contributions in a only non-free version.

I am sort of a kubernetes person at work, and I just wasted 3 hours trying to get a cluster up with Rancher. Everything worked fine, except somehow the network started isolating namespaces and the nginx ingress couldn't reach my service.

So I'm calling it quits for now. Just running the cluster requires a small ops team.

I feel like being active on GitHub definitely helped me getting my current job.

Regarding "wrongthink", it's generally a good idea to keep politics out of your professional GitHub account if you want to work at a place that may not align with your opinions. Or your opinions are spicy in general.

The sort of people that post on HN can usually pick their jobs, which is why I'm surprised someone here would want a job where they have to self-censor constantly. If that caveat applies to the vast majority of jobs for you maybe you should reevaluate your opinions?

Last I checked both articles have extensive "References" sections. Unless you actually like what you read, in that case I'll just have to deal with that. Unfortunate that stuck up people like you exist, but I'm not going to change that on this bastion of techbro-ism. (I know you people hate that word, so I made sure to use it)

Having a culture conscious of bias is good, but I'd rather see some progress before the end of the century. You know, cause old people exist and you can't really change this culture too fast, especially not if you factor in reactionaries that are sort of standing in the way and can't see the issue (hint: it's because you don't have the issue).

The problem is that these "immutable characteristics" are very hard to assess subjectively by humans.

Say you divide a group of candidates into evenly split groups based on something. Gender, age, race - your pick. You'd end up with an uneven split even if your entire pool has the same qualification level and you let someone hire from it "by merit". And I don't mean it'll be random, there will be a clear distribution given enough samples.

How else do you suggest we solve this issue besides affirmative action?

Regarding 1, I (and seemingly everyone else writing libraries) usually return (value, error) and treat a nil value as error. We have quite a bit of old code at work that might segfault because it wasn't done like this.

Most of our Kubernetes code looks something like this

    _, err := clientInterface.Update(object)
    if err != nil {
      if machinery_errors.IsNotFound(err) {
        //handle nil case
      } else
        // handle unexpected case
      }
    }

Oh no, not another code generator.

That seems to be a common thing in Kubernetes too, if you don't want to spend the time writing actual code and Go is too "boilerplate heavy" for you, just write a code generator and bring the complexity of other languages right back!

1. Get IDE support. There is no convention of adding a suffix like "Interface", and I personally am very happy with this. C# ISomething naming conventions have annoyed me quite a bit.

2. Always limit the scope of your channels. I like using unidirectional channels with structs that have more unidirectional channels. (For instance, a chan of workRequest{workData, returnChan} where return chan only receives responses for this request and is closed when no values are left)

3. I think you've been treated to well by JS closures, always hand over arguments you're going to use in the goroutine, this also allows the CG to clean up the stack of the function that started the closure goroutine.

I'm a little bit concerned because the last package that Google seems to have purpose-built for Go+Google (AppEngine?) was context, that gave us things like context.Context, a generic KVS that needs reflection, heavily relies on convention and doesn't work in linear time and "just make every function take a context and use context.TODO if you don't need it".

It also seems to be one of the biggest points of controversy for Go 2, with calls from "everything should have a context" to "context should go away".

The way we allocate second level domains is already terrible (see also domain parking/domain squatting), why would I be okay with someone just throwing money at ICANN to get a bunch of generic top level ones too?

Oh I love HN Dunning Krueger smugness, especially with specifics of one particular network security spec that has a lot of alternatives. Truly, if you've never used IPSec, get out of my HN, you peasant.

What's the big deal? Wordpress can be lean on the code is delivers? It certainly can't be lean on the backend. There's also a helper functions for adding tons of classes to elements everywhere so you can "patch" CSS for certain sites / categories only, clearly not for the target audience that values minimalism.