If you look at Bitcoin and the blockchain as a purely technical achievement, it's marvelous and incredible, a testament to human ingenuity. The problem is that money is not a purely technical problem, and people involved in Bitcoin who ignore that open themselves to a whole lot of relearning, like when people who are given the ability to steal a whole lot of money end up stealing a whole lot of money, like at ShapeShift[1]. Banks have been dealing with these kinds of problems for decades (or, depending on how you look at it, hundreds if not thousands of years). But if you only concern yourself with the technical aspects of Bitcoin, not the social or political aspects, you can miss things that seem obvious with the benefit of hindsight.
And the software that people creates has implications that range far beyond technical questions. A great example of how we can encode assumptions that come from our beliefs, our experiences, who we are and where we happened to be born into software without even realizing that we've done so is the fantastic essay "Falsehoods Programmers Believe About Names[2]." Reading that should be a real eye-opener about how, without intending to, programmers can end up writing software that is built for people Like Them and is unaccomodating to people who Aren't Like Them.
Most of the talk about his personal views here are about his views on race. It shouldn't be a huge surprise to anyone that the sort of people who are at Hacker News are likely more white than the rest of America, much less the world. As are a lot of the people writing software in use today. Sometimes that means that Google Photos categorizes someone's pictures of himself and his girlfriend as "gorillas"[3], which is the sort of error one imagines Google would be a lot less likely to make if they had more African-Americans working on their code and testing their software before release. Or machine learning algorithms that courts use to predict recidivism rates in determining sentencing have much higher false positive rates for African-Americans than whites.[4]
And making this place more welcoming to Curtis Yarvin by focusing discussion on the technical merits of Urbit and ignoring his personal views is a signal to a lot of other people about what we as a community value and what we don't. And I think it's a bad signal, because it alienates people with valuable and important viewpoints that we ought to be finding ways to be more open to, not less.
1) https://news.bitcoin.com/looting-fox-sabotage-shapeshift/
2) https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
3) http://www.theverge.com/2015/7/1/8880363/google-apologizes-p...
4) https://www.propublica.org/article/machine-bias-risk-assessm...
White like Satya Nadella and Sundar Pichai, you mean?
Google is 60% white. Facebook is 55%. Microsoft is 59%. USA is 63%. Do you have any evidence that HN is whiter than Google and Facebook? Why not say what you really mean, namely that there are too many Asians?
Or machine learning algorithms that courts use to predict recidivism rates in determining sentencing have much higher false positive rates for African-Americans than whites.[4]
Not according to the R script written by the very authors of the piece you cite. That script is unable to find statistically significant evidence of bias. They found very strong evidence (p < 0.001) that the statistical model is highly effective, albeit imperfectly calibrated [1].
https://www.chrisstucchio.com/blog/2016/propublica_is_lying....
It's silly to say that by focusing on a technology project and ignoring the people involved, we alienate people. Where I work we have similar views - "meritocracy" is one of our core values, not the dirty word it's become in the valley. As the only member of my race at this company this makes me feel welcome - I'm as valuable as the things I build, who cares about my race?
[1] This means that higher score means higher recidivism rate, but a 60% score doesn't necessarily mean 60% recidivism probability. Probably should have run isotonic regression or something like that. https://en.wikipedia.org/wiki/Isotonic_regression
I don't know if you're doing this (again and again) intentionally or not, but racial bias is not statistical bias[1]!
> It's silly to say that by focusing on a technology project and ignoring the people involved, we alienate people.
How do you know it's silly? Have you done any research on that? Because people who have actually done some research have come to the conclusion that it is your assumption that is silly[2].
> "meritocracy" is one of our core values
Meritocracy is not a value (or not a distinguishing value). It's what every (long surviving) system believes itself to be. The term is ironic and generally means "a system that deludes itself about its own fairness". The term was coined as a satirical joke, and has no other well-defined meaning.
[1]: Unless your statistics includes every possibly pertinent variable, or you manage to prove total independence of your model's variables from all other variables.
So if someone working on an open source project were to blog, completely separately from the open source project, their personal views on, say, abortion you'd be OK with it if whenever we tried to have a discussion about that project people started discussing that contributor's views on abortion?
If not, what is the criteria for deciding what kind of unrelated personal views are OK to bring up in technical discussions?
1) http://www.nizkor.org/features/fallacies/slippery-slope.html
For instance, instead of talking about Urbit, we're instead mired in the finer points of one guy's murky theories on sociology.
This is not an interesting discussion on Hacker News! Racists are not exactly a rare breed, nor do the outspoken ones ever (intentional Sith absolute) bring anything interesting to the discussion.
You can't have one without the other.
If people want to a clean state restart of the world of computing without an infestation of corporations they'll be against attempts to shun him.
But I was referring to the fact that nobody else is solving this specific problem. You either stay happy with your collection of walled gardens or you wait to see if he can unbreak the internet.
In fact in this case, the work goes ahead anyway. Perhaps you end up using it in ten years, or perhaps you don't. But neither of us gain anything from this argument at the present time.
> If you're interested in that approach, I'd encourage you to check out sandstorm.io. This solves the problem for applications like a blog, email, or gitlab. What it doesn't do is make decentralized applications easier to build.
If you'd prefer this not to be the case, please outline what restrictions on free speech you'd like emplaced so that people would not be able to discuss his views.
He's incapable of leading a project because you're unwilling to control yourself?
Why continuously bring it up? We've already had this discussion numerous times.
Is there like an intermediate-level overview of Curtis's offensive beliefs, with a glossary and index? I'd be surprised if nobody's assembled one; it could make the ad hominems so much more effective.
(NB - the article refers to Yarvin as "Mencius Moldbug", his nom de plume for political ranting)
[1] - http://slatestarcodex.com/2013/03/03/reactionary-philosophy-...
Wow, really? I'd consider that worse than removing comments.
I don't see why that would make people from those groups feel unwelcome. If anything I would expect people from the groups that he says were genetically not as good as slaves to be the ones who would feel unwelcome. The implication is that they are weaker or less resilient.
Was it something like "yeah it is a functional system... hey have I mentioned how much potential you have for whenever you feel like dedicating your life to slavery?"
...or was it just the guy rambling on a blog of his under a pen name?
It's pretty obvious to anyone that the guy's views are obscenely offensive, but if the guy is strictly professional when it comes to Urbit, treats everyone with the same respect and works just fine along with many people that despise his views, how are the project's goals tainted?
Is it? From what I've seen so far all the controversy has come from taking statements out of context.
However, I take your main point that it doesn't need to impact on Urbit.
As much as some people like to pretend it's only about tech, tech is made by people and it requires them to interact with each other, and that can never be completely confined to code.
While talking to Urbit contributors about Urbit?
And in fact, every Urbit contributor in this thread who's mentioned this has also heard about Yarvin's political views, and not from this thread. It appears to me there's already a kind of self-selection process in Urbit contributors, towards those who are comfortable tolerating his garbage. And that's exactly the problem.
There is certainly some self-selection for people who don't throw tech babies out with political bathwater. I count myself as one such person. I mean, I continued using Javascript and Firefox even after hearing about Brendan Eich's political contribution! Feel free to draw incorrect inferences regarding my opinion of gay marriage.
I have also toyed around with Urbit, and have (in a sense) made minor contributions. Feel free to draw incorrect inferences regarding my opinion of Yarvin's political writing.
[1]: https://gist.github.com/djspiewak/3a6ff436865d9e5794e4
I mean, I guess you're technically correct: If nothing else, the impact of his views on the project is that it results in the exclusion of people who choose to exclude themselves from projects created by "the wrong people".
But of course that's trivially true of all projects, so why do you think it's such a problem in this particular case? If you answer "because his views are really bad" while acknowledging that they otherwise have no direct bearing on the technology, you're basically saying "because he's really unpopular".
I have no love of Yarvin's politics, but that sort of cure is worse than the disease.
I don't acknowledge that his views have no direct bearing on the technology, either, and that's tied up in my first point. We design things for ourselves, for the most part, so by excluding (perhaps inadvertently) people with different perspectives on life, we lose out on valuable input.
I think we agree that Urbit would benefit from a larger, more diverse user/contributor base. What wouldn't? We're just ascribing agency in different places. I view the claim that Yarvin is excluding people as a sort of rhetorical sleight of hand. What he's actually done is 1) publish some really unpopular opinions, and 2) build Urbit. It is entirely possible to evaluate 2 on its own merits[1]. So I'm disappointed to see so many people write it off for other IMO less relevant reasons.
It reminds me a bit of a "Christian-friendly" Linux distro I once saw that omitted software written by known homosexuals. Would you also claim that the gay programmers were (perhaps inadvertently) excluding a subset of Christians? I suspect most people would agree in this case that agents of exclusion are the ones actually performing the exclusive act, rather than ones who happened to be "the wrong people" from another group's point of view.
[1]: This is true even in the presence of a strong political influence on the technology. I honestly don't see much of a connection between Urbit and Moldbug's politics, but then the latter never made much sense to me, so maybe I'm missing something. If there are politically objectionable aspects to the software, then by all means object! But plain old guilt by association is a weak argument in any context, doubly so in a technical one.
Is this supposed to be in his favor?
EDIT: For clarity
You're putting words in 5F36B5F62640's mouth.
And to be absolutely honest, anybody reading this can see that you're the one attempting to make people feel unwelcome in this community.
Edit: The commenter has now upgraded his comment but the original with added emphasis is quoted above.
Rather than attacking me personally, is there something I missed or was incorrect about?
I'm not attacking you personally, nor am I speaking to you personally. I am just pointing out to anybody reading this, that you just tried to smear somebody.
Of course, whether you did so on purpose is another matter.
To restate, then: "Wait, so your argument is that only Native Americans would feel unwelcome in this community?
Is this supposed to be in his favor?"
I appreciate your dedication to accuracy, and I must assume this satisfies your complaint.
Yes, that is no longer accusatory; and it is correct: there are other sets of people that would no doubt feel unwelcome in such a community.
I think in a practical sense their fear is overblown as 'Code is law'. However people generally make decisions based on consensus reality.
I'm curious, do you take that to speak well or ill about the ethnic groups in question?
Can you please explain to me what a "non-lambda interpreter" is and why it matters?
It matters because gensyms suck. More generally, if you are building a two-layered system in which a compiler targets the interpreter, symbols, functions, and scopes are concepts that belong in the high-level language, not the low-level interpreter. (I think Shen is one example of a typed Lisp that targets an untyped Lisp, but obviously I know nothing about Lisp.)
So the lambda calculus is a classic layer violation.
Where I went to school in operating systems, which was Brown and Berkeley, we were taught to avoid layer violations and always separate mechanism from policy. Not sure what Lisp people are or were taught -- honestly, there were not a lot of them left, even in the '90s -- but it never seemed to include this.
I always look at a stateful Lisp machine, or Emacs, or whatever, and see a giant structureless blob of symbols. That said, this is probably a totally unjustified prejudice on my part, and at this point I really have no excuse except lack of time for refusing to learn more.
> It matters because gensyms suck.
That makes no sense. The lambda calculus has nothing to do with symbols. Lisp introduced the concept of symbols, but Lisp and the Lambda Calculus are not the same thing.
> obviously I know nothing about Lisp
That is indeed becoming rather obvious.
For example, given "λx.x+1" then "(λx.x+1)(z) => z+1". This reduction process is formally defined by the beta reduction rule, which says that "(λx.t)s" evaluates to "t[x:=s]".
"t[x:=s]" means "substitute the value s for the symbol x in expression t". E.g., x+1[x:=5] => 5+1
https://en.m.wikipedia.org/wiki/Lambda_calculus#Beta_reducti...
If by symbol you mean something different than variable, then I might agree, but the heart of lambda calculus is the rule set for lambda abstraction, application, beta reduction. Due to alpha equivalence you could say that lambda calculus is agnostic to symbols however. I suppose it depends on what you mean. (Lambda calculus is defined in terms of capture avoiding substitutions.)
Well, the real question is what Curtis means by symbol, as the answer he gave is rather cryptic. But since he specifically raised the issue of "gensyms", that seems to be a reference to a standard Lisp function that generates symbols, a first-class Lisp data structure, at run-time or, more usually, at macro-expansion time. Since Curtis has complained about macros in the past, I assumed this was what he was referring to. "Symbols" that exist only in the textual representation of the language and not as first-class data types are usually called "identifiers" rather than symbols precisely to avoid this sort of confusion.
In any case, it is an elementary exercise to define a formal computational system equivalent to the lambda calculus that uses integers rather than identifiers. Instead of λx.x you write λn where n is an integer. 0 refers to the value bound by the innermost scope, 1 to the value bound by the next outer scope, and so on. So, for example, λx.λy.x becomes λλ1. But of course, no one does this because it's completely pointless.
As you may remember, I'm really not the person to answer that question sufficiently. But I would like to see you and Curtis have this out at greater length.
Sorry, I didn't recognize your handle. (And just for the record, I wasn't trying to start an argument, just asking a question.)
> it's my fault
OK ;-)
> I'm really not the person to answer that question sufficiently.
OK.
> But I would like to see you and Curtis have this out at greater length.
Well, we're already having something out in another branch of this thread (https://news.ycombinator.com/item?id=11819810). But it's rather hard to get a straight answer out of him. He has this weird theory that the only way to avoid being sucked into the Lisp Failure Vortex is to not learn Lisp. But at the same time he professes his intentional ignorance of Lisp he also takes these weird pot-shots at it. That is, alas, not a good foundation for a constructive discussion, which is why I was hoping (and continue to hope) that you (or someone) might be able to explain it to me.
No problem. Just, you know, hi! I'm actually happy to pick this thread up. I remember really enjoying the last discussion.
As (I think) we discussed last time I basically have two views:
- Urbit actually works. Like, I actually build stuff on top of it. That's really the layer I'm most interested in. If it were built in Lisp, well, I probably wouldn't know the difference. I'm not sure I'm able to understand the implicit criticism at the user level.
- Shaking off the cruft of existing systems is actually pretty hard. I don't have as much experience with this as a programmer as Curtis does, but it's a problem near and dear to me. It's very difficult to think clearly inside of someone else's intellectual framework. So, maybe Hoon looks like a bad Lisp variant today. What does it look like in 50 years? Maybe it's dead, maybe it's everywhere. I'm not sure we can actually make this judgement for certain. That is: whether Nock / Hoon is definitively better or worse in terms of its long-term adoption and performance.
What Nock does seem to unlock is incredible amount of enthusiasm. The feeling of disillusionment can easily be converted into excitement. I've seen this done by Urbit — and that's pretty difficult to do. My intuition is that Lisp suffers from the opposite: the feeling that breaking from its history is impossible.
Either way I'm serious about getting you two to have this out in some kind of organized way. Ideally, on Urbit somehow.
Very happy to hear that.
> I'm not sure I'm able to understand the implicit criticism at the user level.
Let me make the criticism explicit then: inventing a new language is not hard. People do it all the time. It's an elementary exercise. However, inventing a good new language, i.e. one that actually advances the state of the art and provides a substantial advantage over existing languages -- that is very hard. That happens very rarely, probably less than a dozen times in the history of computing.
Although I have never heard Curtis say so explicitly, the rhetoric surrounding Urbit strongly implies that Nock and Hoon are languages of the second sort, that is, that they provide some benefit that existing languages lack, and without which developing Urbit would be substantially more difficult or even impossible. My question for the last four years has been: what is that benefit? Do Nock and Hoon really advance the state of the art in programming language design, or is their sole purpose to be the Shiny New Thing that gets people excited? Because if it's the latter, that does not bode well for Urbit's long-term prospects. Nothing gets to be the Shiny New Thing forever.
> It's very difficult to think clearly inside of someone else's intellectual framework.
That may be true, but do you not see the irony here? You didn't invent Nock/Hoon, Curtis did. So if you are thinking clearly, then you are doing it in someone else's intellectual framework, precisely the thing you say is very difficult.
> What Nock does seem to unlock is incredible amount of enthusiasm.
That I don't doubt. Curtis is a master marketeer. But Donald Trump is unlocking an incredible amount of enthusiasm too. Just because a lot of people get enthusiastic about something doesn't necessarily mean it's a good idea.
The last time anyone built a computer that was typed all the way down to the hardware was (ironically) Lisp machines.
Why? What has he done to anyone? Do his designs have built-in genome detectors?
Or are you encouraging us all to join in as collective arbiters of wrong-think? Doesn't that seem a little too Maoist Cultural Revolution to you?
Agreed.
> People are voicing their disagreements with his professed viewpoints,
Voicing their disagreements with his pseudonymous comments from a completely different non-urbit context. I suspect (but I don't know) that if he wanted the public's perspective on his non-conformant political thought to skew the public's views on his technical design work, he wouldn't have used a pseudonym in the first place.
> yet you are using that cliche to dismiss them without addressing their viewpoints.
Quite the opposite. I am using that cliche, in a question, to ask if that is what the parent is asking (inciting?) us to do: arbite non-conformist thought.
The viewpoint that (here) I intentionally don't address can be summarized as: "I heard the designer wrote something that I disagree with elsewhere, under a pseudonym - more than once! I hereby dismiss anything he has to say on any matter." That's like saying: "Hitler lover strawberries, so we must all agree to avoid them."
> This does not lead to a vigorous discussion in the marketplace of ideas.
I agree, but... what marketplace of ideas? The aforementioned comments have nothing to do with the merits (or lack thereof) of urbit. A public shaming of a heretic is not a marketplace of ideas. Maybe the guy doesn't pay his taxes. Maybe he's behind on child support. Maybe he eats puppies for breakfast. I don't know. I also don't know that it really matters, as regards the merits (or lack thereof) of his engineering design.
And, I'm sorry. It seems that I have contributed to the thread going even further afield than it already had. I shouldn't have said anything to begin with...
For some, this means that they don't want to be professionally or socially associated with someone who thinks some ethnic groups make genetically good slaves. People can vigorously discuss whether his writings crossed lines of acceptable behavior.
However, you're also free to discuss the technical details as much as you want! If that's what's relevant to you, that's perfectly acceptable as well, and it doesn't require you to defend his other writings.
After I came across Urbit, I heard allegations of Yarvin's writings under his pseudonyms. I went and found his writings - and to the degree I understood it - I didn't agree with the conclusions. At the same time, I found a lot of the quoted material that had allowed me to find his writing in the first place was taken out of context.
But more importantly -- I didn't see even a hint of bad behavior in any of the developer's group discussion. I'm very uncomfortable with the idea of taking what a person does "after hours" and putting it on display in the public square. If he were running some sort of "Boys From Brazil" project after hours, I'd probably feel differently, but that's not what he appears to be doing.
Just to take it to absurdity, and I'm not claiming Moldbug is a member of the Nazi party, but society would not collapse if we shunned people who espoused, for example, the ideals of Hitler and the Nazi party.
-- Every post about Curtis Yarvin, ever.
Sorry for knee-jerking, but there is really no basis for equating Mencius Moldbug to a Nazi, and I think it hurts the discussion when you do! I have read some of the texts in question, on the insistence of people who say I should disavow this person who I consider to be a real pal. I read the post "Why I am not a White Nationalist" and I don't know how anyone without an agenda can come to the conclusion that this is a person with hate in his bones.
Since you just misconstrued what I said, I was clearly unsuccessful.
P.S. the nazi party was a frequent practitioner of this shunning policy.
But when people advocating it to an aggressive level-extensively campaigning the rejection of a certain person at social scale, this is dangerous and smells like politics, and was exactly the way how hitler shunned the jews.
1. Has this ever actually happened? I'd be quite disturbed by that. We're more than happy to have people learning about Urbit, although we're not particularly active on social media.
2. Curtis is certainly controversial. None of us share his views, but we do enjoy working together. I'd like to think we live in a world where people who don't agree can still collaborate professionally.
3. Learning Hoon is much easier than it looks. In my experience it's absolutely designed for usability — although it doesn't appear that way at first. We're actively working to better explain how Hoon works and teach people the language. It would be totally against our interests to do otherwise. I do think our new docs do a much better job: http://urbit.org/docs
4. There is a company behind Urbit, but it's not technically possible for us to control the project in the long term. Urbit is definitely not behind any kind of 'firewall' — it's designed to be owned by the community.
I'd encourage you to check out the posts on our beliefs and principles [0], address space [1] and company [2].
0 - http://urbit.org/posts/principles/ 1 - http://urbit.org/posts/address-space/ 2 - http://urbit.org/posts/company/