72 karma · joined June 26, 2011
Right now: "Then why is gay marriage illegal in Japan et al?"
Etc. Your point has nothing to do with the drug war itself, it's broad enough to apply to any early-stage progressive proposal.
Yahoo's "non" fire sale is a good counterpart to the devil on my shoulder trying to rationalize away my participation. My job is actually pretty great otherwise (especially for the town I live in), so I'm stressed as hell at the prospect of quitting over this. I keep thinking of the Milgram experiment, and how confident I was when I heard about it that I wouldn't have been part of the majority that continued shocking a human being to the point of apparent death. Software patents are an abstract evil by comparison, but now that there's a part of me saying "yeah it seems bad, but it probably won't result in any real harm", I can somewhat empathize with that majority.
I don't really have a point to make, this just seemed like a reasonable place to vent my shame and frustration.
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.
What you're describing sounds more like the web as it currently exists under the benevolent rule of King Verisign.
And all the other locking issues are still in play. How would you share a list with another interpreter such that they don't both have access to the same list items? Any solution that looks like a deep copy isn't going to be much better than just serializing across a process boundary.
[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.
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.
That said, the old "it's just typical Moldbug" trope isn't much better than the propaganda his followers spout, and the rest is pretty weak too. AFAIK, the Urbit term for "file" is "file". I don't know which funny weird name you're thinking of for "network endpoint", as that's not really a separate concept in the system. Hoon's cores (which I assume you're at least passingly familiar with) are pretty distinct from closures in any language I know... I mean, do you also complain that Java uses the word "object"? (Forgive me if I omit the part where I ascribe sinister motives to the creators of Java due to their choice of vocabulary.)
As for "implementations of well-known computer science concepts", cue Rich Hickey[1]:
> It's interesting, because Clojure provides almost nothing you can’t find somewhere else. But I do think it occupies an otherwise empty spot in the multidimensional space of language features and capabilities.
In other words, even if your claim is true, it describes almost every project in computing in the last 15 years. We might as well say "oh it's just event sourcing" and call it a day.
A good example is Hoon's maps[1]. They're parameterized on type, but I'm pretty sure those types can't affect the runtime behavior by, say, specifying their own hash or comparison function. Instead, the map implementation[2] hardwires a couple of specific comparison functions[3] that effectively toss the type information and work in terms of the raw underlying nouns.
It is kind of weird that every type carves out a subset of nouns, even function types (or function "molds" or "spans" or whatever... I'll stop calling them types when the Urbit people stop calling it a type system). Hoon's C-flavor really shows when it makes the likes of strlen((char*)strlen) expressible in a purely functional way.
[1]: https://github.com/urbit/urbit/blob/7186219/urb/zod/arvo/hoo...
[2]: https://github.com/urbit/urbit/blob/7186219/urb/zod/arvo/hoo...
[3]: https://github.com/urbit/urbit/blob/7186219/urb/zod/arvo/hoo...
This obviously makes for slower going, especially near the beginning.
if (condition0
&& condition1
&& condition2)
rather than the usual "trailing operator" style. You can immediately parse the left column as a sort of vertical operator that tells you how the individual conditions are being combined.But then, I also like Lisp. Prefix notation for "and" gives the same benefit directly, no tricky formatting required.
Contrast with "I think", which I think is more appropriate for statements with at least some deliberate thought behind them, or involve more concrete propositions ("I think Brand X hardware is unreliable", "I think it was last Wednesday").
So the author's example of "I feel like that would look better in blue" looks like a perfectly cromulent use of the phrase to me. If it's mostly a gut feeling about a subjective perception, why not use language that disclaims it as such? Apparently he feels that the disclaimer serves to shield the speaker from disagreement, but I'd have to disagree with him on that.
The author may want to tone down that claim - combining Haskell-style FP with dynamic typing certainly entails some trade-offs, regardless of whether or not they think it's a good idea.
I'm not sure what example in this thread you consider to be throwing information away - in a case like
<Term term="slick">
where the attribute name is clearly redundant and exists only to satisfy the syntax, nothing is lost in the transformation to (term "slick"Huh? You mean have I argued with a friend about a belief of theirs I was aware of ahead of time? Yes? If you're asking if I was disagreeing with them just for fun, while pretending to be serious, then no, because I try not to be a jerk to my friends.
I'm well aware of debate tactics and devil's advocacy, and for the most part I think they're epistemic poison. It's great to examine your own arguments for flaws, because you might actually be wrong! But the idea that you would do so merely for the sake of patching up any holes you find is revolting.
I suggest you google "arguments as soldiers" if you're not familiar with the phrase. Not for the sake of learning or gaining perspective or anything, it'll just help you understand where I'm coming from so you'll be better-equipped to take me down.
Applied to both parties in the argument, yes it is. Argument is digging for truth. The most productive outcome is for some or all of the parties involved shift their beliefs to more accurately reflect reality.
Just to clarify - when you argue, are you attempting to present the actual reasons you believe your point to be true? If not, then you are arguing in bad faith, and contributing heat to the discussion rather than light. If you really are arguing in good faith, then it's just plain crazy to strengthen your position upon being confronted with flaws in your reasoning.
> Some debate for sport/fun
In the context of a serious discussion, I believe the term for this is "trolling".
grep -f - 10-million-combos.txt
<password>
^D^DThis is a bizarre claim. C++ has its problems, but the fact that it allows zero-overhead abstractions over common low-level boilerplate is a seriously non-trivial advantage over C in most areas where C is otherwise a good fit. What compelling advantage does C retain over C++? Faster compiles and being easier to learn are nice and all, but hardly slam-dunks.
if (mytype* p = find_or_null(blah))
foo(*p);
Still have to dereference p, but at least it's only in scope when doing so is safe. Also goes well with auto and std::optional: if (auto opt = find_or_none(blah))
foo(*opt);