HNHacker News
TopNewBestAskShowJobs

velis_vel

132 karma · joined October 14, 2013

submissionscomments
velis_vel··on Equational reasoning
I've also done stuff like

    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).
velis_vel··on Should RapGenius be able to "negotiate" with Matt Cutts and Google?
Haha, I don't think you know what libel is.
velis_vel··on The real use of money is to buy freedom
I think you and the GP (or whatever) are talking past each other. Their original point was that it's essentially impossible for a person to opt out of the labor market, because without money they can't buy food and will starve to death. This is true regardless of any kind of minimum wage laws.
velis_vel··on The real use of money is to buy freedom
> They can't opt out of minimum wage because there are laws, not because it's otherwise coerced.

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.

velis_vel··on Ask HN: What programming language will you learn in 2014?
I think that saying you can 'learn Haskell in a week' is really short sighted. You can learn to parse a Haskell program and write a guess-the-number program in a week, but learning how to write good Haskell is going to take months, if not years, especially if you want to do fancy things. Hell, I'd guess it'd take me a month or two just to learn the ins and outs of the lens library and I'm already a good Haskell programmer.

> 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.

velis_vel··on Ubuntu 14.04 LTS supports TRIM on SSD drives
Oh, well this sandwich you made me might have glass shards in it, but you gave it to me for free, so why should I complain?
velis_vel··on Ask HN: What programming language will you learn in 2014?
> would you rather have a carpenter who knows how to use a dozen hammers, or a wide variety of tools?

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?

velis_vel··on A basic guide to when and how to deploy HTTPS
> If i copy all of the cookies how will the server differentiate the hijacker from the user. They both have the same cookies.

If you set the cookies to be HTTP-only then you can't get at them from malicious JS.

velis_vel··on A basic guide to when and how to deploy HTTPS
I was able to get basic SSL working with basically no effort just by Googling around for 'SSL nginx'; the Mozilla article doesn't tell you to choose a ciphersuite, it tells you 'use this one unless you know what you're doing'. And then if you scroll down it gives you some configuration directives you can just copy-paste into your browser config file.

I'm not even an ops guy and I was able to get it working for my (granted, fairly simple) site without any pain.

velis_vel··on GnuPG - 16 Years of protecting privacy
> You need to be deliberate about signing and encrypting because security should be a careful and deliberate act.

Why? You don't have to be 'deliberate' about encrypting when you're using SSH or HTTPS.

velis_vel··on Telegram’s Cryptanalysis Contest
No, that's incorrect. A hash function should have these properties:

* 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.

velis_vel··on Clearer Conditionals using De Morgan's Laws
I don't not agree, it was perfectly not unclear at all.
velis_vel··on Portland startup Treehouse eliminates the boss
I think a lot of these 'eliminate the boss' people ought to read The Tyranny of Structurelessness (http://www.jofreeman.com/joreen/tyranny.htm). It's an article whose basic premise is that if you eliminate explicit hierarchies, social groups will tend to instead develop implicit ones, which are more difficult to challenge because they ostensibly don't exist.
velis_vel··on Meta Launches Its AR Eyeglass Hologram Computer To Compete With Glass
Has anybody outside of the company ever used one of these? They've only just launched preorders, and they haven't even shipped out developer prototypes yet.
velis_vel··on It’s a Man’s World, and It Always Will Be
> Where are the feminist fighting for 50% of all divorce cases ending in fathers staying with children? Any arguments? Or just the usual aggression, name calling?

Fathers who seek custody tend to get it: http://www.villainouscompany.com/vcblog/archives/2012/04/chi...

velis_vel··on It’s a Man’s World, and It Always Will Be
This doesn't address your comment itself, but: a lot of people assume that any kind of insult to the other side in a debate is an ad hominem. This isn't true. If you tell me that 2+2=5, and I say "no, you're delusional, 2+2=4", that's not an ad hominem.
velis_vel··on A Crypto Challenge For The Telegram Developers
> There's also not that many possible images anyway, there's 8 rows with 8 columns, and 4 possible colours for each pixel. Even not assuming any fuzzy matching (human comparison) it's still very possible to generate keys with colliding image hashes.

Uh, 4^(8*8)=2^128 is a pretty large number.

velis_vel··on ‘Superbugs’ found breeding in sewage plants
> Still think it's ok for journals to hinder sharing of knowledge by taxing it and thus increasing the cost of research??

What the hell does that have to do with anything?

velis_vel··on Lynching on our Doorstep
> Urban Dictionary barely mentions the word monkey may be racist. It's 3x more likely to be slang for girl parts.

Oh, well, if Urban Dictionary says it, it must be true.

velis_vel··on Polynesians May Have Invented Binary Math
> show ten fingers, close both fists, show nine fingers. (eleven plus nine)

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.

velis_vel··on Turn O(n^2) reverse into O(n)
> I find it interesting that correct equational reasoning in this case lead to a correct program, but one with absymal performance.

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.

velis_vel··on Turn O(n^2) reverse into O(n)
I don't think this was an 'oh my god we're trying to track down why cabal update is so slow and we just can't find it' issue like you make it out to be.

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.

velis_vel··on Why It’s a Good Idea to Be a JavaScript Developer, and What it Takes to Be One
Textmate has some kind of support for automatic remote editing, I don't know the details.
velis_vel··on Raphters: A web framework for C
Is it? It's not really clear what a 'transformation of data' entails, or why handlers and actions are separated.
velis_vel··on Don't Distract New Programmers with OOP
The problem with 'dog is a mammal' is that there's basically no obvious scenario in which you'd actually be modeling things this way unless you're trying to build some kind of ecosystem simulation or whatever. If you want to teach people, not only what inheritance is but why it's useful, you need to use a situation where inheritance makes things easier.
velis_vel··on 30 years of being the only woman in the room — and how that’s changing
Venture investments are made by venture capitalists, not to venture capitalists. You're comparing apples and oranges.
velis_vel··on Blocking people on Twitter now just mutes them
> There's no other comparable situation in which you'd make a public announcement and somehow expect some group of people who could hear it to not hear it.

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.

velis_vel··on Blocking people on Twitter now just mutes them
Why do people bother closing unlocked doors? Anybody who wants to see or go inside can just open them.

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.

velis_vel··on Are Your Programmers Working Hard, Or Are They Lazy?
You're basically treating employees like their sole purpose in life is to be productive and nothing else. I honestly don't know how much you'd have to pay me to work 80 hours a week. I think it'd have to be in the range of billions so I could do it for a few months and then retire, heh.
velis_vel··on The Easiest Data Analysis Mistake to Make
How do you define the mode of a data set where all the values are different?
← PreviousPage 2 of 3Next →