x <- m1;
f x;
x <- m 2;
f x;
in a do-block, and it's not clear to me how to write 'shadowfrom' (or however you pronounce '<-' in that context).132 karma · joined October 14, 2013
x <- m1;
f x;
x <- m 2;
f x;
in a do-block, and it's not clear to me how to write 'shadowfrom' (or however you pronounce '<-' in that context).You missed the point. Let's get rid of the minimum wage. Suppose Alex is looking for a job, but all the jobs they can find that will hire them pay less than what they think is fair. Does Alex have a choice? No; if they doesn't get a job they will starve and die.
> 1) What would give greater and longer-term benefits than that? Learning Reactive Extensions? Yet another ORM framework? Node.js? Those are only tools. One can learn them in some days when a project requires it.
I think that unless something is completely and utterly trivial, you can't really learn it in 'some days'. You can get enough of an understanding of it to solve a small-medium problem with it, but you can't actually learn it. If you want to learn something really weird, try playing with higher-order polymorphism, type theory, dependent types, or something that's not 'yet another OO language/framework'.
> 2) What is the rush for? Do you remember the time you learnt OO programming? I would say to learn it properly, in the beginning of your career as most of us do it, required much more effort than to learn Haskell and FP when you are already an experienced programmer.
Not for me. Really learning Haskell as an experienced programmer took as long as it took to learn Python as a novice, and I've heard similar reports from other people. I certainly agree that if you know, say, Java, learning C# probably isn't going to maximize your 'skill increase per time'. But saying that going from Java to Haskell, or even farther to something super-weird like Agda or Forth or Prolog, is just as easy as going from Java to C# is just wrong.
Personally, the reason I'm sticking with Haskell as my current thing-to-learn as opposed to jumping to other things is that I've hit that point in the curve where the language is really opening up to me; I had a small problem recently that I wanted to solve, and I was able to use some really cool techniques that don't really have simple equivalences in other languages (the pipes library, if you're curious) to solve it in a nice way.
There's a danger in what you're suggesting, in overgeneralizing and never learning too much about one topic. Would you rather have a carpenter who's an okay carpenter, an okay musician, an okay actor, and an okay racecar driver, or a carpenter who's really good at carpenting?
If you set the cookies to be HTTP-only then you can't get at them from malicious JS.
I'm not even an ops guy and I was able to get it working for my (granted, fairly simple) site without any pain.
Why? You don't have to be 'deliberate' about encrypting when you're using SSH or HTTPS.
* Given a hash h it should be hard to find a message m such that hash(m) = h
* Given a mesage m1 it should be hard to find m2 such that hash(m1) = hash(m2)
* It should be hard to find any two messages m1 and m2 such that hash(m1) = hash(m2)
If you have some secure hash function h, the function h'(m) that appends the low byte of m to h(m) is still secure under all three properties, but it obviously leaks information.
Fathers who seek custody tend to get it: http://www.villainouscompany.com/vcblog/archives/2012/04/chi...
Uh, 4^(8*8)=2^128 is a pretty large number.
What the hell does that have to do with anything?
Oh, well, if Urban Dictionary says it, it must be true.
But now the number of fingers you held up doesn't equal the number of items you were counting.
Also, that's not base 11 any more than me holding up 4 fingers 5 times would be base 4.
That's not really an interesting property of Haskell, though. You can always write correct but slow code in any language.
> It'd be interesting to think how one could encode performance characteristics into equations.
I've seen the concept of encoding performance in types played around with, but I can't find actual work (if any) that's been done on it.
edit: http://www.reddit.com/r/haskell/comments/1sh67u/the_reason_w... This comment by the patch author indicates that actually tracking it down was a fairly straightforward profiling job.
The problem is, it used to work one way and now Twitter is (or, was) changing it with some really flimsy justification (now they can't tell when you blocked them! except there are other ways that worked). It'd be one thing if blocking worked this way from day one, it's another entirely to suddenly change it.
Why do people put passwords on their computers? Anybody who has physical access can just remove the hard drive.
Why do people lock their cars? Anybody who wants to steal something can just smash the window.