* Java is far faster than Go. Nobody is working on high-performance low-latency systems in Go while Java is quickly becoming de-rigueur in this space.
* Java was in fact the first language to offer comprehensive Unicode support. I mean, really...
* Java 8 does in fact let you assign a function to a variable though I don't think this means what you think it means. In fact Java has allowed this for more than a decade with the introduction of inner classes.
I could go on but seriously -- it's safe to say that the people advocating for Go are seriously ignorant about the alternatives. It's not surprising that this sort of self-propagandization is required but you might really want to do more research.
You simply stop talking to them. In the real world when people begin spouting nonsense they are ejected from the community almost immediately. At elite institutions claims to not "believe" the Western synthesis are met with global permaban. (You literally have to leave the West and go to Russia or Africa.)
Online of course the situation is very different. Bans ate impossible and people are free to believe everything.
For somebody who claims to live science you really don't seem to understand how our why it works. Replication is not at all important to science. It never had been and never will be. What is important is falsifiability and predictive power.
The article is a perfect example of science at work.
The goal of such "controversial discussions" is always to silence the minorities. The goal is not discussion or debate but normalization of extreme views.
The mechanism here is very simple. A "controversial subject" is proposed like, say, "Women are inferior to men when it comes to X." The content of this discussion is not relevant. Its existence is enough to fulfill the true purpose: drive women away from the forum. It is abundantly clear that women, or any other minority, will rightly avoid any community that entertains their inferiority.
What's amusing about this debate is that all the heroic defenders of "free speech" have a very limited and very self-serving definition of free speech. You will never see these people argue for making a particular forum more welcoming or hospitable to minorities. You will never see arguments for diversity. This would introduce real diversity of opinion which is very much not wanted. But even though they despise real diversity, by defending free speech of the most extreme ilk they do at least get the nice virtue points in their mind with the benefit of ensuring everbody in the forum is pretty much exactly like them.
HN is a very carefully controlled bubble. It's almost completely dominated by a crypto-libertarian groupthink.
The article [1] is interesting though. What we're witnessing is the complete self-exile of Republicans from the mainstream. Republicans have lost all faith in mainstream media [2], they have lost all faith in experts, they have lost all faith in science, they have lost all faith in America's major democratic institutions [3], they have lost all trust in the world's biggest corporations, and now they have lost all trust in higher education [4]. That's pretty much everything.
Here's a significant chunk of the country that has retreated completely into a paranoid fantasy. It's absolutely remarkable. I don't think anything list this scale of mass delusion has been seen in the West since the Nazis. There are no longer any institutions that might meaningfully engage with these people; they reject anything and everything that does not absolutely conform to the Party Agenda. Without any kind of shared reality -- this group has sincerely adopted a platform of "alternative facts" and nonsense conspiracy theory -- no dialogue or compromise is possible.
The full impact of this is probably still coming. This sort of complete disconnect reality always leads to complete disaster. The Nazis truly believed they could conquer the world. The Soviets were absolutely convinced that the capitalist West was going to crumble any second. Reality has a way of biting back and forcefully asserting itself no matter how hard you deny it.
I think XML is better than protobufs when it comes to long-term even storage. Three very big problems with protobufs:
(1) Protobufs are not self-describing. There is a meta-model but you can't really understand the data unless you have access to the schema. This means just to be safe you might end up storing the schema beside every message or at least a reference to the schema. Welcome to the schema management business.
(2) Protobufs aren't extensible. In practice this means any time a system wants to introduce a new field they have to submit a proposal to some sort of highly centralized "Architecture Group." This is followed by lots of debate. Then, if you're lucky, it gets put in and a few systems adopt it. With XML you can slice off namespaces and let people innovate in those namespaces.
(3) Protobufs aren't human readable. At the end of the day this means you need special tools to do anything with them. Meanwhile XML can actually be imported directly into Excel.
There's a whole ecosystem of powerful technologies around XML that make it work very well in this case. People underestimate how valuable this is because they're still not thinking of the log as its own first-class product.
That said, perfect is the enemy of good. This could be a good step in the right direction and migrating to XML in the future would be pretty easy because it becomes a very simple event transformation.
GP is clueless. Kafka is in fact more resilient and much more performant than systems like MySQL. It's the difference between having one writer and many writers.
More importantly, adding yet another database to an enterprise that's already overrun databases is not going to fix anything. Systems like Kafka are deployed precisely because there are already many domain-specific databases at work and now there's a need to tie them together. You can't have a single database that works for all domains, for everything from elastic search text to billing. That's just dumb. So you have many databases and tie them together using a transactional event log.
BTW, the NYTimes, like virtually any mature enterprise, probably has a robust data warehouse and data retention strategy. I kind of doubt they're in the habit of losing data given their archives go back more than a century. But it's important to distinguish front-office transactional concerns (actually handing real-time requests from content producers and consumers) from back-office concerns (reporting, back-ups). They are very different domains as many enterprises are slowly discovering.
That write-up sounds absolutely terrifying. I really fear for what the .NET community might be doing with event sourcing.
Event sourcing is the definitive way to write high-performance front-office trading systems. Nothing else comes close to being able to quickly capture the rich domain of finance and satisfy stringent performance requirements.
But what that article describes is unlike any system I've seen in 15 years of fintech work. It's very clear that something has been lost in translation. I suspect the people are coming into this without having the solid foundation in event-driven architecture or high-performance messaging models.
As UK-AL points out everything you wrote is standard ES best practices. How is it even possible for a single aggregate to be "eventually consistent"? Aggregates by definition are atomically updated from one valid state to the next. Of course commands should return not just success/failure information but new information that is relevant to the sender (eg, OrderIDs for the Orders created). There's absolutely no reason to make the sender poll an event stream or "view."
"There is a single data model shared by both commands and queries." -- In the finance world this is impossible. Execution systems must be separated from reporting systems. And once you make this separation the whole CQRS-aspect naturally falls out. It makes sense, for example, to keep all orders in something like Cassandra or VoltDB for reporting though you'd never do that for execution. The thing is, CQRS is not an end to itself. I'm not sure why it has blown up in the .NET world. Again, something has been lost here. The CQRS tactic is required only when reporting requirements and execution requirements are fundamentally different/incompatible. An EDA makes CQRS-style separation possible but it does not require it. And here's the thing: if you have your end-points designed correctly it's trivial to separate out querying if it's needed. Just model your system using events and aggregates and it should work out.
I wasn't even going to comment on this thread. Most of the comments here are your typical HN nonsense -- a potent mixture of ignorance and anti-innovation FUD. But your link to the writeup was enlightening (and horrifying) if only to reveal how people can go very wrong with this "new" architectural style. (Again, event-sourcing, and EDA in general, has been de rigeur in finance since the 80s.)
There's no proof or sources for this. It's just more malicious nonsense. Salaries in Spain are less because, ironically, many Spanish harvest workers are from Eastern Europe and Poland and they accept these wages. And many of the harvest workers in France are actually people from Spain who come for the higher salaries and better working conditions! None of these people are illegal immigrants.
There is a pretty severe imbalance of labor standards and it's questionable whether French winemakers should simply accept this "because the EU."
Unfortunately, short of nationalistic marketing campaigns, there's nothing that can practically be done about cheap(er) Spanish wines flooding into France. It becomes a big problem because wine is so culturally important to the French. The solution is to do what the USA does for its corn farmers and simply pay billions in direct subsidy [1] but in Europe these sorts of subsidies are anathema. The result is excess internal competition and a race to the bottom just like what you saw in the USA before the "farm income stablization" bills.
Virtually all of these currencies are very vulnerable to what's called a "Sybil attack." Bitcoin is no different [1].
Of course, to economists the concept of a "Sybil attack" is nonsense. Imagine if tomorrow the US Congress voted to give every citizen a billion dollars. Would this be a Sybil attack on the US dollar? Or would it be democracy at work? There's no difference. At the end of the day the majority (of the authority) sets the rules and does literally decide what happens.
What you're saying is absolutely nothing new. There's a lot of FUD and confusion in this thread (no surprise) but this has been apparent from the very beginning. "A Proof of Stake Design Philosophy" [1] makes the essential nature of cryptoeconomics very clear. In short: (a) all currencies are social phenomena (b) all the fancy math does is replace the "men with guns" that protect physical currencies -- that is, currencies must be economically defensible and (c) what actually gives real-world currencies their value is the presence of a tax authority who creates the currency and then demands it back at some later point [2]. PoS creates an absolute demand for the currency; it is nothing more than a formalization of currency power.
> So, aside from being a geeky toy and new market for gambling, where has cryptocurrency actually succeeded?
A better question is -- why are there so many currencies to begin with? Why isn't there a single currency that everybody uses?
Once you understand the answer to this question the value of cryptocurrencies become clear. You said it yourself: currency is inherently a contextual and social value construct. Different communities have different values. Communities that develop currency power will always triumph over communities that don't because they can collaborate more effectively. Currencies don't "succeed," communities succeed -- and they do this partly by leveraging currency power. The answer to your question is right in front of you but you just don't want to see it: the cryptocurrency development communities themselves are already wildly successful and have demonstrated the ability to raise enormous funds and collaborate effectively.
No, the result of a "narrow Overton window" is just anybody worth a damn leaving the conversation.
Which is what the trolls and their heroic free speech defenders really want. The primary objective of carrying around Nazi flags and or spewing hate against "feminists" is to silence everybody but yourself. This is exactly how the real Nazis did it.
> It's my opinion that most women don't want to be programmers/ICs deep down, but in a bubble environment many women will gravitate towards CS because it's where the action is in the economy, and feminists pave the way with aggressive affirmative action campaigns that make programming an artificially attractive choice for women.
Why is this your opinion?
Have you spoken to a lot of women? Have you conducted any kind of surveys or polls? Or are you just making up whatever fits your biases?
> It's like James mentions in his memo, from a logical perspective it's completely arbitrary to want to move women into software because it's mostly men
The naivete of HN never fails.
It's perfectly rational for any business to want more women. Or minorities. Or even more children. Every business in the world wants the deepest and biggest talent pool possible.
And of course, this is the real issue. Once programming is demystified and women do enter the field in force it'll be pretty hard for deeply mediocre javascript monkeys to command six figure salaries, won't it?
All the fuss, all the whining -- it's completely self-serving. The idea that women can thrive in law, medicine and hard sciences but they can't master CSS is laughable.
But here's the thing: it's not mastermind feminists who are driving this. It's capitalism. People can whine about feminism and uppity women taking their jerbs -- this is absolutely nothing new. Still, despite pervasive discrimination, the market is going to produce that talent. There was a time when people thought programming was difficult. Only eleet hackers could thrive in Sillicon Valley. Now middle schoolers build Android Apps in a couple of days.
In the end businesses are going to search endlessly for more and better talent, people will gravitate to the jobs that produce the most stable income streams, and everybody is going to strive to keep the market open and fair. You can fight this or whine about fantasy feminist schemes or you can embrace a future where the field has been dramatically opened to all comers.
The thing stopping San Francisco from increasing density is democracy. The people of San Francisco do not want more density. They don't want more traffic and traffic fumes. They don't want more vehicles fighting over limited public spots. They don't want buses. They don't want throngs of young people who often don't share their liberal values wandering around the city at all hours of the night. They don't want huge apartment complexes or luxury residential towers. They don't want to be Manhattan or Paris or even Boston.
The people of San Francisco think the city is mostly perfect just the way it is. This is why all proposals to radically increase density (by lifting height restrictions, say) always get democratically voted down.
If people are really serious about increasing the density in San Francisco (or anywhere in California, for that matter) the first step, ironically enough, would be to get rid of the people who actually live there.
It's because everybody knows that this has nothing to do with free speech.
People like to be pretend to be concerned about free speech up until a very specific point. Everybody draws the line somewhere different. (And the Constitution draws the line at a very clear and special place.)
Let's say two people are in a chat room, Alice and Bob. Bob has decided that Western civilization is collapsing and so to do his part to defend it he spends several hours a day constantly spouting hatred against women and minorities. Alice doesn't agree and, quickly realizing that Bob can't be reasoned with, she leaves the chatroom.
Hasn't Alice's "free speech" been violated?
And isn't this exactly the plan of the alt-right? To create an environment of such extreme fear and hate that eventually everybody shuts up but them? It sure worked for their heroes the Nazis. And for some reason I don't think all these rallies are just a way to get more Vitamin D.
And see, this is exactly the point where all of Bob's (male) defenders will rush in and declare that Alice doesn't have the right to feel safe, that she needs to toughen up and that, at the end of the day, fuck her feelings because Bob's free speech is sacred even if that means her speech goes away.
This is what the brave defenders of free speech really want to accomplish: an environment where they can say the most vile things possible without consequence such that everybody else shuts up.
And here's the thing for somebody claiming to have read history: the founders of the American republic knew this very well. This is why they weren't concerned about "free speech" as the bad faith position described above, they were actually much more concerned with freedom of the press and this is what all of them spent their time writing letters about.
Anyways I could go on but let's be clear: we all know what the heroic defenders of free speech are really trying to accomplish. The "free speech" is just another bad faith distraction. Once that doesn't work they'll go back to blaming everything on the Jews.
It's worth mentioning: Google broke the web when it monetized linking via PageRank. Literally overnight links went from being an organic expression of organization and interest to being currency that needed to be carefully hoarded and "spent" to increase PageRank. The organic web is dead. What we have now is essentially spam, content farms created not to appeal tohumans but rather whose primary audience is Google's algorithms.
Google could fix this btw -- it's not that hard to identify artificial link clusters (sites that have an unusually high number of inbound links) and dead zones (sites that have an unusually low number of inbound links) ... but to do so would not be profitable in the slightest.
> The other companies won't have as many high quality women because Google scouted and hired them already, but will have just as many low and medium quality women who aren't good enough for Google, and more high quality men who were displaced from Google. Which skews the gender ratio even more and creates the impression that women at those companies are lower quality than the men there or else they would have been hired away by Google -- because it causes that impression to be the truth.
At some point people are going to have to start presenting evidence to back up these sorts of fanciful claims. I've heard lots and lots of wild claims about how industry practices are being harmed and absolutely zero evidence.
You can make up all sorts of stories based on your preferred biases. You can claim that Google hiring many high quality women forces other firms to hire low-quality women and high-quality men. I can claim that Google hiring many high quality women actually attracts more high-quality women to the industry raising the quality of the talent pool across the board.
Both of these claims are completely baseless. There is zero evidence either way. Like the memo itself which made all sorts of wild and extraordinary claims these claims should be recognized for what they are: unsupported agenda pushing and not valid argument.
This is the funny thing about the memo. How it's read is completely determined by people's own biases.
That sentence makes it very clear that Damore considers women to be biologically differently abled from men when it comes to programming. In fact he goes on to claim that this essential biological nature is so different that the practices of programming needs to be altered to better suit women (eg more pair programming).
This is an extraordinary claim. It requires extraordinary evidence. There is no well-understood scientific mechanism that can get us from different genotypes to a different kind of thinking. There is no evidence that men and women's brains are so different that women need their own engineering practices.
Of course it's not a new claim. Since the dawn of time it's been claimed that women can't do X. Just 50 years ago it was widely believed that women can't do law, math or science. Fifty years before that it was disputed that women were rational enough to vote. All of this claims have proved to be nonsense. But supposedly programming is different because of a study on rhesus monkeys?
Logically, the entire memo -- including its wild rantings about Marxist intellectuals -- can be dismissed on the basis of extraordinary claims. Note that if somebody did provide a genetic ability decoder -- a machine that can analyze normal-form genes and then reliably predict mental ability -- that person would win the Nobel Prize and likely become very, very rich.
But what's so interesting is that even when confronted with direct quotes about this nonsense plenty of people insist there is a more charitable interpretation of the memo. This suggests that people are actually starting at very different places.
You wouldn't be surprised because that's exactly what you want to believe.
It's so funny: the more things change. For decades we've been hearing arguments about why women can't go to college, shouldn't vote, can't serve in the military, can't become doctors, can't become lawyers, won't make good judges, can't be a CEO, don't have what ot takes to do science. Every one of these idiotic arguments have proven false.
And yet nothing has changed. Here we are in 2017 with many holding out that software engineering -- a trivial pursuit that mostly involves sticking crap in databases written by real computer scientists -- is somehow special. Most women just don't have what it takes.
What it really demonstrates is that stupid people will cling to the status quo. In 25 years when in fact the majority of developers are women (because in fact we often see women dominate collaborative knowledge-driven fields) these arguments will look just as silly as the arguments that no woman could ever perform surgery without fainting.
* Java is far faster than Go. Nobody is working on high-performance low-latency systems in Go while Java is quickly becoming de-rigueur in this space.
* Java was in fact the first language to offer comprehensive Unicode support. I mean, really...
* Java 8 does in fact let you assign a function to a variable though I don't think this means what you think it means. In fact Java has allowed this for more than a decade with the introduction of inner classes.
I could go on but seriously -- it's safe to say that the people advocating for Go are seriously ignorant about the alternatives. It's not surprising that this sort of self-propagandization is required but you might really want to do more research.