HNHacker News
TopNewBestAskShowJobs

NotableAlamode

144 karma · joined January 22, 2015

submissionscomments
NotableAlamode··on Why feminists are so annoying
In the US and other western countries, women clearly have de-facto more rights than men. They are much more leniently punished for the same crimes, they are much more rarely homeless, they do get more attention (and money) from social services. In divorce cases they more or less automatically get the children and half of the husband's money. They commit suicide much less often, way fewer workplace deaths. They are allowed to vote but not subject to the draft.
NotableAlamode··on A Path to Enlightenment in Programming Language Theory

    soundness question when considering variance 
What is this question? Have you got a reference?
NotableAlamode··on A Path to Enlightenment in Programming Language Theory
The semantics of OO languages is really messy and complicated and probably has the least well understood theory of all sequential forms of computing.
NotableAlamode··on A Path to Enlightenment in Programming Language Theory
This is not quite true. There is SPJ's famous "The implementation of functional programming languages" [1]. Then there is lots of material on various abstract machines, like the SECD machine, the CAM, the many variants of the Krivine machine, the G-machine and plenty of others whose name I forget.

All that said, I kind-of agree with you. It would be nice to have some easy to grasp explanations of how to compile higher-order functions to actual machines, x86, ARM, MIPS ... This material can be found e.g. in Appel's book [2], but I don't think it's available freely (and legally) on the web. I think this is in parts because the compilation process is not so easy: you need to understand the compilation of normal languages, in particular stack layout, and then add more pointers. You also need to think about how to do memory management if a closure lives longer than its creating context. This is quite rich material, and not even usually covered in undergraduate compilers courses.

The situation with concurrency is much worse, but that only reflects the fact that this is far from a solved problem on many levels. To cite a recent paper [3]: "Despite decades of research, we do not have [in 2015] a satisfactory concurrency semantics for any general-purpose programming language that aims to support concurrent systems code [...] Disturbingly, 40+ years after the first relaxed-memory hardware was introduced (the IBM 370/158MP), the field still does not have a credible proposal for the concurrency semantics of any general-purpose high-level language that includes high-performance shared-memory concurrency primitives. This is a major open problem for programming language semantics."

And memory models are but one issue to deal with in concurrency.

[1] http://research.microsoft.com/en-us/um/people/simonpj/papers...

[2] A. Appel, Modern Compiler Implementation in ...

[3] M. Batty et al, The Problem of Programming Language Concurrency Semantics.

NotableAlamode··on A Path to Enlightenment in Programming Language Theory

     The lack of side-effects and equational reasoning in functional languages let you get a lot of details out of your way.
Actually ... You (kind-of/sort-of) need side effects when implementing a language with higher-order functions. You at least need it for generating fresh variables to avoid free name capture. Yes, I know you can do this with a monad, but this is not going to help a beginner. It's much easier to maintain a global counter that you increment every time you want a fresh variable name.
NotableAlamode··on A Path to Enlightenment in Programming Language Theory

    Why is programming way easier in Ocaml than in C? 
I've written vast amounts of Ocaml and C/C++, certainly over 100K LoCs in each. Programming in ML dialects is so much easier than C/C++, it's not funny. I'd estimate it takes me about 10 times longer to implement the same functionality in C/C++ than in an ML dialect. The three key features enabling this difference are the following.

* Garbage collection, removes all memory bugs, avoids tons of ugly and distracting (de)allocation commands and keeps your head free to think about more important stuff.

* Pattern matching, enables you to code up complex decision making code (and most functinality needs this) in a readable and maintainable way.

* higher-order functions allow you to parameterise code with behaviour in a neat way.

(There is one caveat, which is code for extremely high performance, I'd probably write that in C/C++, but this is not an issue concerning a learner.)

As to useless car analogies, I think implementing lambda in C is like saying: Today I'm going to learn how to build a car. First, let's do this while riding a uni-cycle ... oh... um...

NotableAlamode··on 'Troll hunting' algorithm could make web a better place
You are well intentioned but politically naive. The false claims of harassment and more generally victimhood are integral part of the corruption (and detrimental to dealing with real harassment).
NotableAlamode··on 'Troll hunting' algorithm could make web a better place
We are quite on topic as I'm giving a performative demonstration of just how a small minority uses censorship as a form of harassment in the service of their own struggle for power.

We saw this from the likes of Stalin, Mao, Pol Pot ... to Anti-Gamer-Gate. In this context claims of harassment are a smokescreen that are being used to cover up the exposed corruption. They appeal to the damsel-in-distress narrative that so many men so easily fall for. It's quite an effective strategy, and some guys like John Flynt (aka Brianna Wu) make quite a good living of it seemingly. Maybe you should also try it when your software isn't good: wear girls clothes, send yourself some threatening emails and whine about harassment on TV ... worth quite a stack of paper I hear.

BTW Wikipedia is not a credible source.

NotableAlamode··on 'Troll hunting' algorithm could make web a better place
You demonstrate this groupthink to an extreme degree in the complete absence of nuance of your description of a well-known anti-corruption movement.

So maybe you should reflect on the conditions that have duped you into taking such a simplistic position.

NotableAlamode··on 'Troll hunting' algorithm could make web a better place
Why do you draw a false analogy between a racist group and a distributed online movement that has been extremely successful at exposing corruption in games journalism?
NotableAlamode··on How powerful was the Kaiser?
Not to mention Belgian colonialism.
NotableAlamode··on How powerful was the Kaiser?
Please don't forget that that assassination was planned, coordinated and paid for by the Serbian government via Serbian military intelligence chief, Dragutin Dimitrijevic. Serbia was aided in this by the Russian military attache in Belgrade (Viktor Artamonov). Russian radio intelligence was able to read Austro-Hungarian diplomatic cables so they probably were aware of what Vienna’s reaction to the assassination they were sponsoring would be.
NotableAlamode··on Varoufakis and Stiglitz [video]
Let's assume John goes to a Ferrari shop and can't afford the latest California T model because it's to expensive. John borrows the money from Tom and gets the car, promising Tom to pay back. John then doesn't deliver on his promise, and starts to whine ... please EU I'm so poor, please bail me out. The EU then pays John's debt.

Then "twobits" would say "Which John never sees, and the money go immediately to bailing Tom who created the problem in the first place."

NotableAlamode··on Varoufakis and Stiglitz [video]
Yes, the "clean hands" thing is true, and it's about the only positive that Syriza has to offer.
NotableAlamode··on Varoufakis and Stiglitz [video]
Sure, but it's a tried and tested way of getting rid of one's debt. Many (most?) countries have used it in the past, see [1], including the USA.

[1] https://en.wikipedia.org/wiki/Sovereign_default#List_of_sove...

NotableAlamode··on Varoufakis and Stiglitz [video]
I'm not sure I see your point. Greece has a perfectly democratic way of getting rid of its debt: default. Russia in 1998 was the last big European country to do so. Iceland's banks also defaulted on some wholesale depositors a few years ago. Greece has (partly or fully) defaulted on foreign debt already on several occasions in the past. Greece has in effect already defaulted on some of its current debt, although it is not always called a default. Moreover Greece is getting extremely favourable interest rates and repayment schedules on its remaining debt.

The real question is: why is Greece not going the democratic way of defaulting on its external debt? And the answer is, as you know well, that Greece wants to continue receiving all that sweet EU money. Why stop a good thing?

    ... impose non-sensical demands ...
Have you considered that not everybody thinks that fighting corruption, tax-avoidance etc is non-sensical?
NotableAlamode··on Varoufakis and Stiglitz [video]
Why do you keep talking about German and French banks only? As Atropos pointed out, Greek banks had the highest exposure. German banks had quite a low exposure. In the light of this (and the power structure of the EU/ECB) the German taxpayer is bailing out French and Greek banks.

Anyway, what is deemed risky is highly subjective and easy to see only in hindsight.

NotableAlamode··on Varoufakis and Stiglitz [video]
Are you not in effect saying: never pay back debt at all? For whenever you don't pay back debt, then it's the lender's fault, nobody forced them to lend, it's their own risk.

While this is a consistent position that has historically been held by some, it's incompatible with any modern economy. In particular it is incompatible with the modern concepts of old-age pension, health insurance, unemployment insurance etc.

NotableAlamode··on Varoufakis and Stiglitz [video]
I don't think Greece is playing hardball. I think the game is "chicken": everybody involved knows that Greece cannot and will not pay back that money and will leave the Euro. But both sides want to avoid being the first mover: both want the other side to make the first move and admit that Greece is bankrupt.

Syriza wants to be forced out of the Euro so they can continue to play the xenophobic game and blame Europe, or rather Germany. The rest of the EU wants Greece to decide to leave, so they don't have to go to their voters and say "we tried everything, they didn't want help ..." and avoid admitting that the critics of the bailout were right all along.

In this game, time is on Greece's side, because as long as nobody blinks, all that sweet EU money is still raining down on Athens.

NotableAlamode··on Varoufakis and Stiglitz [video]
The money was lent to improve the Greek economy. It was largely spent on an unnecessarily large army, a large, inefficient and extremely well remunerated civil service, olympic games, cushy early retirement deals and shenanigans like that.
NotableAlamode··on Varoufakis and Stiglitz [video]

    unelected officials trying to smack down democratically elected wishes
Greece can immediately get rid of EU and IMF officials if they want. All they need to do if forgot the free money that has been raining down on Greece.
NotableAlamode··on U.S. Legalization of Marijuana Has Hit Mexican Cartels’ Cross-Border Trade
I don't believe that. Most prostitutes in the countries you mention render their services voluntarily. Could you please give credible references for your claim?

In the context of prostitution, the term "human trafficing" itself us primarily used for shaming purpose where prostitution is no longer illegal. For this reason it should be avoided like the plague.

NotableAlamode··on Rolling Stone's investigation: “A failure that was avoidable”
PS The name of the reporter was Richard Bradley, who's written a good new overview of the UVA situation: http://www.richardbradley.net/shotsinthedark/2015/04/07/in-t...
NotableAlamode··on Rolling Stone's investigation: “A failure that was avoidable”
They first went along with the hoax. They should never have done this, as the Rubin Erdely article was obviously a hoax. But damsel-in-distress articles just sell very well (see mattress girl, also obviously a hoax), and few people have the stomach these days to confront the twitter/tumblerina/feminist hate-mob. An independent journalist (whose name escapes me at the moment) was the first to have the guts to point out the obvious. The Wapo and NYT then, very gingerly, and clearly reluctantly expressed some doubt. As far as I'm aware they also never did their journalistic homework and do investigation of the UVA hoax of their own ... too expensive I guess ... why think for yourself when you can simply print somebody's PR material?
NotableAlamode··on Rolling Stone's investigation: “A failure that was avoidable”
But why was the premise of reporter Sabrina Rubin Erdely taken seriously to start with: "what it’s like to be on campus now ... where not only is rape so prevalent but also that there’s this pervasive culture of sexual harassment/rape culture”? This is clearly nonsense, there is no such thing as rape culture, unless you take the Andrea Dworkinite position that all heterosexual intercourse is rape.
NotableAlamode··on Rolling Stone's investigation: “A failure that was avoidable”
To put this all into perspective, it looks like somebody got fired at the Rolling Stone over a negative review of a Hootie & the Blowfish album: http://articles.latimes.com/1996-06-09/entertainment/ca-1313...

It should also not be forgotten that the UVA rape hoax story was covered uncritically by all mainstream media and not just in the US, even though it smelled like a hoax from day one. Same with the 'mattress girl'. Nobody will be fired for this at the Guardian, at the NYT, at ... Critical journalism is dead.

NotableAlamode··on Announcing Rust 1.0 Beta
I'm not sure I can agree. I didn't say that the type of the array function is independent of the choice of error propagation mechanism. If you think an array is a partial function from integers to some value domain, say A, then in the exceptional POV the array type is int -> A, and in the Try[.] POV the array type is int -> Try [ A ].

I was talking about the mechanism for array indexing. In both cases, indexing is function application. So the choice of error representation is orthogonal. This is even more evidence that we should not use a different operator for array indexing as Rust does alas.

NotableAlamode··on Announcing Rust 1.0 Beta
This is an orthogonal issue. Arrays are clearly partial functions. The Try[.]-vs-exceptions issue is to do with the question whether failures should be reflected in types (the Try[.]-option) or not (exceptions). There are good arguments for and against both options, but both options go well with the understanding that arrays are functions and indexing is function application.
NotableAlamode··on Announcing Rust 1.0 Beta
> () is used for function calls, grouping, and tuples, while [] is used for array literals and array indexing.

Array indexing is a function call, because an array is a function from its index set to the set of the values the array stores, or -- equivalent -- a partial function from integers to the value set.

Scala gets this right.

NotableAlamode··on Germanwings Tragedy: How to protect against mentally ill pilots?
> here really should be a "Do this, not that" guide ...

There should be, but this would only be doctoring the symptoms. The real solution is to abolish the ridiculous, sexist/misandric alimony laws. In the past there was some good point to them, but they have all been made obsolete by technological development (contraception, pregnancy loosing its medical dangers, societal changes). The only acceptable (default) rule is no alimony, and 50/50 shared custody of children.

In order for such a long-overdue legal change to happen, men must use their vote. The majority of women will be against such a change since the current legal arrangement benefits them so disproportionally, so men will face stiff opposition.

← PreviousPage 2 of 4Next →