That's right. It's production-quality, but the API surface might change.
If you're OK with changing your code sometime in the future, then I'd recommend giving it a try for this or your next project. Changes will likely be minimal.
A lot of people are not free to decide that. Go has become very popular in young, mid-size tech companies. Most of the alternatives you listed are too new/fringe/unproven to consider. And, well, they're not made by Google
(corporate backing makes a big difference with new languages).
You should see the other stuff I take, Entyvio[1], at around $25K/dose (which is every other month). I don't know why they list it for various pharmacies, since you can't buy it - it has to be administered by an infusion center. I'm the reason that healthcare insurance is so expensive.
"white" people's power is not that they are given money, a job, or great health. their power is that they are the ones given those opportunities. Being white doesn't remove you from being poor, jobless, or in poor health, you just have a lot more options to get out of it.
Being poor and white is a lot better than being poor and black or poor and <not white> because you're not fighting additional problems that come with being a minority.
> If you're white, male and poor enough to qualify for a free meal at school then you face the toughest challenge when starting out in life.
> That's what the Equality and Human Rights Commission (EHRC) has said in "the most comprehensive review ever carried out on progress towards greater equality in Britain".
Frankly the debate should really be "How do we give everyone the best start in life" rather than "how do we cripple some groups so everyone gets an equal start in life".
What you're citing is how well academically poor kids did in school. That is not because of discrimination or racism, that is merely what occurred. I think a further study about how well each group does in terms of say, getting a job or getting to university would be more valuable.
Poor students have an immensely huge problem already (being poor), the problem is how do they climb out of poverty? There is no easy path but being "white" is easier in that (for ex.) looking for a job, there won't be people who discriminate against you because you're black, asian or latino. The same minority applying to the same job now also has to deal with any preconceived discriminatory outlooks of the hiring manager. that is the _out_ that white people get.
I agree that we should, "we give everyone the best start in life", but you act as though whites don't already get that or are being penalized now by your, "how do we cripple some groups so everyone gets an equal start in life" statement. White people have always been unequal from other minorities in that they've always had an advantage. Your view of "crippling" is everyone else's view of a level playing field.
Do you have an arrest record? If not: there's the magic power. Statistically speaking, a poor young black male is much more likely to have an arrest record than a poor young white male.
Edit: holy batman the downvotes. I never considered the possibility that maybe #hnwatch is right.
You are comparing an individual to a group which is a mismatch.
It would be absurd to tell someone to recognize their privilege that the odds were in their favor but nonetheless they rolled poorly. It's like telling some white guy on death row to feel privileged he had a lower chance of being there.
Being a white male is being allowed at a table in a casino where the expected value of the game is positive, and much higher than any other table. You can still lose, but the players in general don't. You should be thankful for being allowed to play a game with the highest expected value.
If you lose all your chips at the "black table" and I lose mine at the "white table", as we cry over our beers it would be ridiculous for you to assert that I should feel privileged compared to you when our outcomes have turned out to be identical.
If we look around the bar, and see that the vast majority of people crying over the beers are black, would it be a reasonable thing for me to assert that the white folk that are here (you included) must've gotten extra unlucky?
I think that's a reasonable thing to assert. That's what privilege is: the number of times you can fuck up (self-inflicted bad things) or be unlucky (externally inflicted bad things) before you lose all your chips.
That's the nice things about probability and statistics. They allow us to compare an individual to a group.
As a fellow loser at the bar, how is the knowledge that I am extra unlucky supposed to make me feel towards you? Am I supposed to consider myself fortunate that I had a greater chance at winning even as we both sit there with no chips? Am I supposed to buy you a beer because you had less of a chance?
"How is this supposed to make you feel?" - I have no idea, and I certainly don't think that in your sorry state you owe a beer to anyone. However, I do think you should say to your fellow losers "I am sorry that you guys are forced play a harder game, and I promise to remember that if I ever manage to leave the losers' bar."
Now we get down to it- It's really a call to action. We are both losers, but you want the guys at the winners' tables to buy you a beer first, because you had a harder time, and disregard the fact that you and I are both equally losers.
Of course feelings are important- The feeling you wish to elicit is guilt, not simply acknowledgement.
The call to action is the acknowledgment, not the beer or the guilt.
Getting white males, whether successful or not, to even say "yes, the system discriminates for us, regardless of outcomes" is such a huge barrier that their acknowledgment of the issue is the first thing that must happen before any kind of "fixing of the system" could happen.
Acknowledgement is useless and not actionable. The end goal of people who bring up privilege is to engender a sense of guilt over undeserved advantages, which then leads to resources flowing out of the guilty group.
So at our losers' table, you would ask the white winners to help you out over me, and over the other white guys at the losers' table, because we, the white losers, must have fucked up more to get here. The underprivileged losers are entitled to disproportionate aid from the winners.
Let's assume that this whole discussion really is about resource redistribution. I don't actually think so, but we can take that as a hypothetical.
A winner comes over to the losers bar, and you want him to give every loser, white or black, the same number of chips.
The problem is that after you all get your re-up, you get to go play at the white table again, and they go back to play at the black table again, which means that you have a way greater chance to not come back to the losers' bar.
Ideally, you'd make both games have the same probability distributions, and that might happen eventually, but until then, the underprivileged losers should get more resources to have similar outcomes.
What is the conversation about if not resource redistribution? Simple acknowledgment gets you what, exactly? Nothing.. There's obviously some desired action. That action is what, if not some kind of favoritism or balancing of scales?
In this simplistic example, it comes down to one party using guilt tactics to convince the other party to provide an advantage or a leg up, which necessitates working against their own interests. Guilt tactics are required because it's a social engineering goal; the total number of people at the losers' bar remains the same.
If you thought that simple acknowledgement has no subsequent results, you wouldn't have any issues with it. What it seems you are afraid of is that acknowledging that the games are rigged puts you on a slippery slope that will eventually lead you to gladly and voluntarily showing up at the losers' bar offering parts of your unfairly-won gains.
It sounds like you are agreeing with me and not realizing it- We seem to agree that the ultimate goal of conversations about privilege is to guilt the privileged group members into supporting members of underprivileged groups, ignoring the actual personal circumstances of the individuals.
No, I realize exactly what I am saying, and I am not agreeing with you.
What I am saying is: "Regardless of personal outcomes, whites and blacks are playing a game with a different probability distribution. That's a statistical fact. I want you to either acknowledge that it's a fact, or provide evidence that it is not. If you do agree that it's a fact, I want you to say 'I'm sorry you guys are playing a statistically rigged game', however, I don't want you to feel guilty and give up your shit."
Saying 'I am sorry' is not the same as feeling guilty. If you really object to the words 'I'm sorry' and can't fathom saying them and not feeling guilty, try saying 'it sucks that you guys are playing a statistically rigged game'. If the words "I promise to remember that if I ever manage to leave the losers' bar" seem to imply to you that it's a promise to later feel guilty and give up some of your shit when you have some, it isn't. Certainly you can remember what it is like to be a loser while being a winner, and then do nothing to help current losers.
What you seem to be saying is: "Regardless of whether 'the black game is disadvantageous to the white game' is a fact or not, the reason anyone tells me that is because they want to elicit guilt and then proceed with resource redistribution, rebalancing and social engineering", and I think that's wrong.
Just like it is incorrect to say that there is a white/asian/indian-male-libertarian-programmer-hivemind on Hacker News, it is incorrect to state that everyone that makes the observation that I am making is there to elicit guilt and proceed with resource redistribution.
There is a philosophical maxim that states "you can't derive an 'ought' from an 'is'." Interpret your opponents with sufficient charitability to believe that they are obeying this maxim, especially when they say "I am obeying that maxim."
I understood that, what I'm trying to state with my rhetorical question was that all his statement served to say was "Germany created the Nazis, you should feel guilt for that". And even if you think that people deserve some sort of retribution or culpability for the supposed actions of the ancestors (which I personally don't), Germany paid for it already considering the post war fallout and the Russian occupation of Eastern Germany.
> I understood that, what I'm trying to state with my rhetorical question was that all his statement served to say was "Germany created the Nazis, you should feel guilt for that".
I think he simply couldn't back up his own argument with any logic, so resorted to a tired cheap shot about Nazis in frustration.
Actually, I have plenty of logic to back up my argument in a sister thread with ElComradio, and I just apologized to the German kid. FWIW, only ElComradio was engaging with me in an actual discussion there, and his replies are reasonable, but I am thoroughly downvoted anyway, so how's that for evidence of a hivemind?
It's a pity your apology makes it seem like you simply referred to the Nazis without knowing he was German, when you actually specifically blamed him and every other (white) German ("you guys") for what the Nazis did, because he said he was in Germany.
> FWIW, only ElComradio was engaging with me in an actual discussion there, and his replies are reasonable, but I am thoroughly downvoted anyway, so how's that for evidence of a hivemind?
Out of five posts in that discussion, you have one post that is white. I wouldn't call that "thoroughly downvoted".
And what if he does have an arrest record? Got any other stats instead to conclusively demonstrate his undeniable white magic? Where does a black person with no arrest record fit on your magic powers scale?
Oh, never mind, I forgot for a second you're addressing something/someone specific with generalisations that are meaningless to him and have nothing to do with his life or status.
Your argument is piss poor; that's why you were downvoted (not by me). Congrats on your successful upvote fishing, by implying/imagining some kind of HN conspiracy/agenda/hive mind.
This comment breaks the HN guidelines, as do several other of the comments you've posted, including in this thread. We ban accounts that do this, and it's the last thing this angry thread needs more of. Kindly reread the HN guidelines and follow them when posting here:
The poster I replied to was whining about being downvoted in order to score upvotes ("Please resist commenting about being downvoted."), when in fact their argument was just a bad one. In another post he made a stupid and offensive reference to the Nazis because someone said they were from Germany. So either he was trolling or he's an idiot.
I'm not sure if pointing that out was what violated the guidelines or just the way I did it, but in future, assuming this has not been banned, I'll try to keep my opinion of someone's argument or intellect to myself. Thanks for the heads up.
Yes, the comment about downvoting broke the rules, and yes the comment about Germany would have merited chiding if the author hadn't deleted it. But the HN guidelines apply to you, as to all of us, whether the other person breaks the rules or not.
Your entire comment upthread was uncivil. If you're sincere about abiding by the guidelines (as I hope you are), it would be an instructive exercise to rewrite it in a neutral, respectful way, editing out the nose-tweaking and every trace of snark. Do that on three or four occasions and you'll see how much better your contributions get, regardless of what you're arguing for. I know that sounds patronizing, but I don't mean it that way—it's a process that many of us, including me, have gone through, and it helps.
Thanks. I don't know if you mean edit posts I've made (which AFAICS is not possible) or future posts, before posting, but I agree, polite, respectful posts mean better signal to noise, and I'll try not to slip into bad habits.
I hope it's still possible to disagree, argue or take a negative position towards someone's post or argument without it necessarily being taken as personal or uncivil though.
By "posts I've made (which AFAICS is not possible)" I meant the messages further up the thread, where the edit link had long since expired, but I wasn't 100% sure if there was another way to do it.
> Do you have an arrest record? If not: there's the magic power. Statistically speaking, a poor young black male is much more likely to have an arrest record than a poor young white male.
> Edit: holy batman the downvotes. I never considered the possibility that maybe #hnwatch is right.
Its unfortunate that you are being downvoted without comment. The downvotes may or may not be evidence that #hnwatch is correct, it would depend on the motivation. It would not be rational for us to assume that the downvotes are evidence that #hnwatch is correct, in the absence of any explanation for the downvotes.
The mistake of sociological studies labeling a concept called white privilege was when people started using it to villify others for the negative space of discrimination they didn't receive.
IDK why, but people tend to not like being blamed for things they didn't do.
If that's not the mesaage we're supposed to take out of the concept, them somebody has got a lot of work to do to figure out a better way of communicating it. Someone who is not me, because I'm a programmer, just trying to take care of my own family, not a sociologist.
I don't see how your comment relates to mine. My point was that the simple fact of the existence of downvotes alone are a wholly insufficient basis for reaching a conclusion about #hnwatch.
Its too common for people to be so certain of their own viewpoint that they will simply assume the worst (ie racism and sexism) of anyone who disagrees with them, rather than consider that their critics might have damn good (non-racist, non-sexist) reasons for disagreeing with them.
No one talking about white privilege says it means white people can't ever have a tough life. Just as being black doesn't mean you can't ever be successful.
It's simply argued that if all other things were equal, chances are you'd have it harder as a minority.
> No one talking about white privilege says it means white people can't ever have a tough life.
False. Many people who speak frequently about white privilege actually do sometimes make the argument that white people's lives are so intrinsically easier than POCs, that we need not ever worry about harming any white people.
This mentality is most visible when a gang of righteous ideologues are waging a vicious doxxing or "harass their employer until they fire them" campaign against an accused white person.
Yes it did. I have spent a lot more time researching and documenting specs than I have writing code. The good news is that I don't mind that type of work. I often build spreadsheets for fun to compare things I'm thinking of buying so I just took that to another level.
Default values mean optional arguments. Optional arguments mean functions with lots of arguments. Then you need to document what happens with each option. Not having that possibility enforces you to actually design an elegant API, instead of stuffing everything in a function and relying in optional arguments to hide the mess.
> Not having that possibility enforces you to actually design an elegant API
Yes, of course, the forced elegance of MarshalIndent next to Marshal — being able to indent in Marshal would be graceless, of CreateHeader alongside Create in case you wish to specify more than just the file name, of asn1.Unmarshal and its friend asn1.UnmarshalWithParams, so much more dignified than Unmarshal optionally taking params is it not?
You'd have to be blind not to see the refinement of DialHTTP to connect to an RPC server, unless you want to connect to a path which isn't / then DialHTTPPath has that undefinable quality of an excellent API, you definitely wouldn't want DialHTTP to just have a default path that would be tasteless.
And it's really quite obvious to have ToUpper and ToUpperSpecial, can you imagine how unpolished an optional case parameter to ToUpper would look?
Or Split taking an optional number of substrings? How gauche, lucky us the designers of the API were forced to add the soigné SplitN to which you can explicitly pass a negative number to get all substrings.
Really there are so many examples of the lack of optional parameters forcing the design of an outright dandyish API. Just look at WIN32, saved from the dreaded "lots of arguments" by C not having default parameters, not a function in there using that to hide the mess no sir, not in a million years would a language with default parameters have achieved the summit, the peak, the pinnacle of delight that are CreateWindowEx or RegQueryValueEx.
And naturally optional anything means you will build an inelegant API one day and have lost all chance to elegant API, which is why Go requires all structure fields to be explicitly filled.
shrug It'd be one more special case for the compiler to handle (and one more feature for my brain to hold onto when reasoning through code... "This is being called with two arguments, is that a typo or does this function take default arguments? Guess I'll have to go look up the function's declaration...").
I can see the alternate viewpoint but given that we can use structs and default fields to get the same effect I'm happy with the current solution.
> I can see the alternate viewpoint but given that we can use structs and default fields to get the same effect I'm happy with the current solution.
And that's completely fair, I routinely use languages both with and without optional parameters[0] and that's fine I'm not saying languages must[1] have optional parameters, or even that they should[1]. My comment only tries to humorously denote that the claim I quoted is pure lunacy.
> we can use structs and default fields
Don't forget the builder pattern which works pretty well to replace optional parameters (and keyword/named parameters), though it's less convenient on the implementer's side.
[0] whether in the "native" sense à la Python or C#, in the "overloaded method" sense à la C++ or Java or in the "well your question doesn't even make sense" à la Smalltalk
Hardly, but that's not the argument, I was replying to an assertion that not having default arguments enforces you to actually design an elegant API. It does no such thing. Contrary to the person I was replying to (and to you apparently) I would say that there are advantages to and issues with both options, but the claim I quoted and replied to is just plain insane.
> things are up-front and obvious, easier to document, and less error-prone.
Things are none of these, the exact same claim can be made about having optional parameters and against not having them.
I hear what you are saying, and functions can certainly get messy with too many arguments, default or otherwise, but if you are disciplined about the number of arguments a function takes then having this feature (default optional arguments) is a huge win for a language.
IIUC, the go-idiomatic way to do this if you find yourself wanting default arguments is to pass in a struct as one of the args to your function and have the default values of the fields in the struct mean "default" in the behavior of the function.
But in general, if you have a two-argument function and one of the arguments could be defaulted, just pass it. It's clearer at the call point what's happening then.
Not really suitable, more from a dev speed perspective vs Go. You have a GC for example, and the opinionated nature makes managing a large code base better. Also a GC pause isn't a big deal for web apps as far as I know.
A reason why I would choose Rust possibly is because you can prevent data races although with it's memory management model.