skysight-inc/HackerNews huggingface dataset:
Blame is always messed up anyway, because there is no right answer. You may as well choose what is quick to compute and looks okay.

Version control systems are not storing what actually changed between files, they are storing the smallest set of differences between them.

IE Given two versions of the same file, and the history graph A->B they store how to reproduce the bits of B from the bits of A.

This is completely unrelated to how B actually got that way.
So in turn, they use textual diff algorithms to approximate how B was formed from A.

Even moving back into the text world, there is still no right answer. It only tells you one of the possible ways that A was transformed into B. It would be perfectly valid for the text diff algorithm to say "every line in A was removed, every line in B was added". This in turn would give you a blame that pointed to that rev for everything.

Most textual diff algorithms "try" to do something sensible, but blame is essentially trying to turn applesauce back into apples.

Even git's more "advanced" blame can be completely messed up by the internal text diff doing dumb things.

All that said, one of the reasons you may like it is because it's basically what everyone actually does.
I've really gone down the rabbit hole with barbell lifting in the past year. Yes, read starting strength, and also practical programming for strength training (rip's other big book). Read Fit, which Kilgore contributed to, and then find some good blogs (I recommend 70sbig).

Barbell lifting can be the nerdiest way to work out.
For the first point, I think the author is aware that you can do more than just mutable state using monads:

> But mutable state covers everything that is not pure computation and that includes debug statements, input and output, system calls, network access, getting the time of the day or even throwing an exception. So the monad you are using has to provide all these services. Of course not every monad has everything you need so you have the IO monad, the Maybe monad, the STM monad, and so on. Whenever you have a C binding, you get a monad.

The second point example doesn't seem to address the author's concerns. The author is complaining about what happens when you try to compose N components that all disagree on the model of computation. OCaml has a more practical default model of computation so less such plumbing is needed.
56 opcodes, plus a few undocumented ones; I think there was a TXY and a TYX on the 6510, for example, which I probably found in one of those Compute magazines. Assembler was a lot of fun on the C64. Let's not forget all that self-modifying assembler. That's how EA, and others, use to copy protect their games. :-)

Is anyone still doing any assembler for any kind of work these days?
I use this setup in my living room. I don't think you could hope for more for the money. That little amp is powerful and can even run on AA batteries (8 of them).
I don't think that's a problem here. I've been looking at the donors list and the sizes of donations for the past few months with an eye to where the public support test ends up, and by my arithmetic they could have given the $250k earlier in the year without ever putting the Foundation at risk of failing the public support test.

For what it's worth: Over the 2008-2012 window, the 2%-of-total-support cap on the amount of each donor's contribution which counts as "public" is currently at almost $40k; and there are five donors (Anonymous, NetApp, Hudson River Trading, iXsystems, and Google) which are currently above that limit. As a result, each new dollar donated by someone not on that list else counts as $1.10 towards the "public support" amount, since it increases by 5 x $0.02 the amount of "public support" from those five largest donors, in addition to the $1 itself counting as public support.
Ask HN: 10 books recommendations
Hi,

I've been coding for over 5 years now, but I feel like I'm missing a lot of knowledge. What books will you recommend reading? Topics of interest include but not limited to: Data Structures, Type Systems, Compilers, Databases, Language Design. Both academical and practical stuff wanted, anyway.

Thank you.
Zuckerberg Photo Flap: 4 Lessons
I'll take this opportunity to once again plug Strang's excellent linear algebra series [1] with associated textbook [2]. Also right now I'm working through some Cornell lecture notes [3] (that read a lot like a textbook) on manifolds and differential forms. It's meant for college sophomores and juniors who have taken linear algebra and vector calculus, though it provides a very good calculus supplement in the appendix. For me, it's perfect: the tone is informal enough to provide motivation to continue, but the definitions and proofs are fairly rigorous. It's about the only self-study math text that I think I might finish.

Hope this helps, not sure if it's over/under your level.

[1]: http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-...

[2]: http://www.amazon.com/exec/obidos/ASIN/0980232716/ref=nosim/...

[3]: http://www.math.cornell.edu/~sjamaar/papers/manifold.pdf
Can people learn to be better liars?
I am still using my almost-4-years-old Asus laptop, so I don't know much about this secure boot thingy, but I thought they require vendor to allow consumers to turn the secure boot off?
Making kids in clubs listen to the stock market might be the greatest troll of all time.
>"We don't govern on the basis of statistics"

K, coming off my expat hot list.
G+ totally allows pseudo names.

But that's not really a game changer. Whether you are at FB or G+, if you are using pseudo name to protect your identity, than you are rendering yourself useless because you can't be hiding and expect to be networking authentically with the people you know for real. What would make sense for FB/G+ to provide is the ability to have each person choose his/her self-identity based on different situations, i.e, provide complete autonomy to the people on how they wish to portray themselves to the different sets of people. I can be a real name in front of my family and co-workers, but at the same time, projecting and sharing different sets of updates based on who am I sharing with. At the same time, I can be a pseudo name in front of the strangers and/or people I may only know online.
> MongoDB doesn't have a static schema so there's less work to do when migrating data.

That depends on the operation. If I want add a column and provide a suitable default, that's a one-step process in a SQL database. Even better, I can do it from a GUI tool and generate SQL script ready to use in production. So my definition of easy is both fewer things to do and less expertise. Even taking a more complicated yet common example of taking a single field and turning it into a collection or table of values -- I think the SQL approach is still going to be less work. But I think the more complicated of a transformation you need, the less of a difference there is -- once you start writing a lot of code it doesn't matter if you are modifying a static schema or a dynamic one.
Just out of curiosity, assume one were to "wiretap" communications of any US government agency, what laws would be used against this? If they can do warrantless wiretaps, what differentiates their actions from anothers?

If they have no legal foundation for their actions, why should another's actions be illegal for the same exact thing?
From what I read she is dealing with trolls on the Internet and in real life. They don't just target women, they target anyone to get a reaction out of them for the "LULZ".

Part of the reason why she is targeted by trolls is she has a position of authority and organizes events but doesn't have a detailed background experience or knowledge in them (she says so herself) which the trolls see her as just another "stuffed shirt" (or suit, a stuffed shirt implys that the person stuffs a shirt to make it look like muscle or something they are not to fool people, no sexist remark meant there, consider the alternative of a 'phoney' or 'scammer') pretending to be a hacker. (Their view not mine.) They would have done the very same things if she was a man. (Maybe call him gay or racist names instead of sexist remarks)

I see that she is into 'disruptive journalism' from my experience it is a different form of advertising and marketing. For example, Marvel Comics kills off Peter Parker in Doctor Octopus' body after a body-swap. They did it as 'disruptive journalism' or 'disruptive media' to get reactions from people who loved Spider-Man and Peter Parker to Tweet and Blog about it over outrage to make Marvel Entertainment and The Superior Spider-Man comic get more attention and free publicity. In the same way she is using 'disruptive journalism' to draw attention to her blog and herself by making people react to it. So now she makes front page at Hacker News (Edit people are voting this article down, good for you, no more front page) and it is blogged and Tweeted everywhere. 'Disruptive journalism' is really just another form of trolling, it is designed to get reaction for the "LULZ" for free publicity and free advertising and to get people to talk about her and her blog. While I feel sad that she is targeted by trolls, not much can be done to stop it. What she is doing is no different than what the trolls do, morally and ethically, as she exaggerates the situation into being worse than it actually is (trolls are a minority of HN not the majority) so she gets more reactions for promoting her blog and name.

P.S. don't feed the trolls.
Older Russian engine - AL-31 (АЛ-31Ф).
Good luck trying to convince your virtual server hosting service provider to provide R2D2 or similar.
An affordable car stereo with a UX that doesn't feel like it was made in 1987:

- A good display. Even a decent display. Something that isn't worse than the mobile phone I bought in 1998.

- A big knob or two for navigation (if I wanted to operate a touchscreen while driving I'd just use my phone)

- AM/FM, Bluetooth and iPhone support. No need for optical media.

- A reasonably well thought-out control layout (i.e. unlike my Dual XML-8150)

I'd expect to pay around $199 or $299. I would probably hold my nose and pay $499 if they really nailed it (see original iPhone, Nest thermostat, etc.)
Thanks for the reply! I'll try to explain my arguments to your points. I know a few folks locally who've been batting around ideas in this space, so it's a topic somewhat near at hand to me. :)

1) if it's a customer problem, it's a restaurant problem.

For certain classes of problems, sure, but there are things like your stated "I want movies, media, etc. while I wait on my meal" that may or may not be worth addressing for any given restaurant--the degree to which the ambiance entertains the diner could be great (a bar with live bands) or nonexistent (a quiet steakhouse). A restaurant need not concern itself with your vegetarian friend if doing so would significantly complicate their supply chain or logistics. It's not always a restaurant problem by any stretch.

2) simplicity helps restaurants as much as customers

The general principle of simplicity, sure, but the implementation can be a headache. If the marginal utility and increased revenue of having four times the number of burger options outweighs the simplicity of limiting to two entrees and nailing the supply chain but getting lower sales, then why bother? Simplicity isn't always needed or desired, and is a preference of the diner just as much--if not more!--than of the restaurant.

3) shorter wait time / quicker payment helps restaurants as much as customers

No argument here, but I think that this is just as easily solved using existing resources (i.e., train employees better) than implementing a whole electronic ordering system.

4) happy customers order more, come back more often

Happy customers do come back more often, and may order more, but again you don't need to buildout a crazy electronic ordering system From The Future (tm) to make your customers happy--I've witnessed people at very high-end high-touch establishments actively turn away attempts at injecting technology (electronic wine lists, in this case) into what they prefer to be a human-to-human interaction.

5) pretty sure we have experience in the industry, from 20+ investments in the category. certainly several of our entrepreneurs know what the hell they're doing, especially ElaCarte (also YC co & Lightbank co)

I wish you luck on your investments! I'm sure you've got some awesome folks you're working with.

~

I'm not assuming a zero-sum game--I'm simply noting that while it helps both sides, it doesn't help the other side enough perhaps to justify a real change in business. You notice the big change towards electronic ordering (see the Jack in the Box kiosks) in large nation-wide chains where they've so relentlessly optimized and cheapened the dining experience that shaving fractions off their costs on ordering makes sense. For a taqueria or something, the value prop probably isn't there.

EDIT: Also, after looking at your disclaimed companies... my God, man, you really seem to like curated experience and deliveries. Any thoughts you'd like to share on the topic, where it's going, etc.?
>Instagram was never going to "sell your photos." If you read the TOS, they were reserving the right to advertise against your photos much like how sponsored stories work on Facebook.

Dude, are you Instagram's lawyer? How can you be so sure?? Either way, you still don't get the point. It wasn't about whether they were going to sell it or not. It was about they giving themselves the 'right' to automatically, possibly do so in the future.

Naturally, when you do something like this, especially with others' data, you could in the least inform them. Because it's their fucking content. When I joined facebook and orkut, I saw the ads on the side. I knew it was a compromise I had to make. So it really didn't matter to me.

That's why I still use Google. Because I know the company is trying to make money by letting me use it. With Instagram, when I joined it, there were no ads nor did they tell me or give me a hint that my photos would be 'sold'. An average user would have assumed it would remain free forever, but I knew they would somehow need to make money. But, they didn't express their intent to make money (through selling your photos) clearly because they knew if they did so, no one would join their service. Hence they basically deceived you into joining their service for free initially and one fine day gave themselves the rights to sell your photos. That's unethical. The problem here is I took the effort to get the photo right, but I am NOT compensated monetarily for my effort. Instead Instagram just benefits from it. So it's like a free photo sharing site first that is automatically turned into a stock photo site without your consent where you don't even get any benefits when your photo is sold. I'm sorry, that's unacceptable and that's unethical.

What the consumer owns is none of your business - be it
babies, dogs, sunset or even elephants. It's their will to do what they want with their phone's camera. And like I said, there's even nothing wrong with monetizing these photos as long as you express your intent clearly.
The availability of arrival times is just a side effect of the infrastructure upgrades. The real reason for upgrading the infrastructure was to be able to run trains closer together.

Also, iPhone development is more difficult in real life than in your imagination. It should be easy to wrap a nice interface around a protobuf, but it's actually a rather tedious process.
Imagine if you are using your FB and you have other people around you peeking at your PC screen. Now this secret FB group is not really secret, is it?

There is actually no technical way possible for having a truly secret group.
At one point you need to have an understanding of what you're dealing with: you need to know of what type a value is.

If we agree with this then why is it so controversial to assert that types are also useful at the language level? For me working in a dynamically typed language is just as awkward as working with a schema-free datastore. Writing code is hard. Why not let the compiler help you?
Restrictive in what respect?
Your statistics are seriously flawed.

Actually, I think you a) misunderstood the claim in point 2, and b) take issue with the assumptions - not the math/statistics - in point 3.

your math in point 2 assumes you will certainly find yourself in a life threatening situation while carrying the device.

In point 2 the likelihood of a life threatening situation was not assumed or calculated (that's point 3). The conclusion, restated: If there's a 1/3500 chance you'll be able to effectively use the device to save your life, you're breaking even while mitigating risk.

And your point 3 probably vastly overestimates the fraction of life-or-death calls.

You've stated that I've made assumptions and you're right - which is why they're labeled as such. Feel free to suggest yours.
How about "Concrete Mathematics: A Foundation for Computer Science", by Ronald Graham, Donald Knuth, and Oren Patashnik.

I have not finished it. Just starting out, but seems like an enlightening text.
Developing Google Chrome extension for Gmail
(submitting each idea as its own comment)

A centralized content-consumption queue with comparison shopping and price alerts.

E.g. back in the days when Netflix was DVD-only and had a decent selection of films, you could add practically anything ever screened to your Netflix queue, where it was captured basically forever.

Nine times out of ten the movie I want isn't available on Netflix Watch Instantly, so I have to add it to some todo list somewhere and promptly forget about it. I also usually can't be bothered to see if Amazon or iTunes has it, and certainly can't be bothered to check back every so often to see if it went on sale.

The same goes for physical and electronic books, music, and even stuff.

I would expect this service to be free (paid for by Amazon/iTunes/etc. kickbacks), or at most cost me some privacy. Advertisers would probably pay top dollar to put their deals in front of users who are already planning to buy their stuff at some point in the future.
Terribly sorry, I should have written more clearly. I was the employee leaving; they asked why, if I was unhappy about the pay, didn't I ask for a raise? I said that were I an employer, I would fire any employee who held me hostage for a raise, so I would not ask for one.
Yep. Starting from a just a bar, a stand is your first best additional purchase. Just sayin' what all y'all can do with a cage on top of that.
There are many situations in which OS-level primitives such as blocking semaphores are available but userland primitives are not. When implementing libc, for example. Or when implementing a language runtime, or TBB, or boost::thread_pool, or what have you.
I can't help but notice how much you read into and objected to w1ntermute's statement "At least that's how I see it", and yet you end up with the very similar "as far as I can read".

Anyway, you would've made a hell of a TV detective.
thanks for comments. I am adding more features, will consider your feedback.
BTW, the app already shows the domain at the top of the post page.
This sounds like a possible solution. Have you tried or tested this?
Enloop Gets Your Brilliant Idea Off the Ground with a Custom Business Plan
Slashdotters were quite certain of FreeBSD's impending death when a story about the fundraiser not having reached its goal yet from not so long ago.
Never go out with Flint Fireforge. Got it.
Does anyone care if Facebook knows when their menstrual cycle is? Or has a prediction on when you are going to die? Or predicts when I'm going to get a cold?

I don't care.

If you are this paranoid, you should stop using credit cards, phones, and emails, as all that data is similarly being mined and sold or capable of such.

I do think we should have strong disclosure and privacy laws - I don't know detail but I believe the EU does a better job of this than the US. We should be entitled to know what data is gathered about us and what is sold, and much of that should require consent.
It looks like Guido van Rossum has posted a proposal for adding asynchronous I/O support to the core Python libraries.

http://thread.gmane.org/gmane.comp.python.devel/136422

This will certainly improve the situation with interfacing different Python libraries together if it gets adopted. I still don't think asynchronous APIs are as easy to use as blocking ones, but I guess I've said enough about that already :)
That is lying. Dishonesty is effective; that doesn't make it honesty.
This is really cool!

A step-by-step overview about how it was done would also be really interesting.
A banking service with "micro-accounts". E.g. each month I would put $80 in my "buy a new laptop every couple of years" account, and each day I would put $20 in my "feed and entertain myself" account.

Every couple of years I could buy myself a laptop without getting a pointless "You spent $1500 on computing this month! You usually spend $10! Ermahgerd!1!!" alert. And when I'm thinking about treating myself to a night out, I can quickly see how guilty I should feel about doing so.
One is a legal framework and one is a service? Really, this is apples and oranges.
Hey @windexh8er, from the sounds of it you are already well automated! I'm not sure how much NB offers you today, however ...

Ninja is ultimately (read: not yet) a meta-platform for connecting stuff. As you point out, there are plenty of different approaches and technology with advantages/disadvantages. We think the thing what is really missing in the landscape today is interoperability. Say you want to give access to your security system's motion detectors to a third-party app that helps you save energy, that is nigh on impossible with an OTS offering. That kind of thing is exactly what we enable (albeit a little crippled) today.

Its early days and we have a metric-shiton of stuff to do, some of which includes:

* making the webservice fully or partially optional - current cloud driven architecture is for expedience
* supporting lots more sidebands than just 433 - again chosen for expedience and cost. Z-wave is better, no doubt, but its not really justified in the mega premium per device i.e. $70 for z-wave PIR vs ~$15 for 433. BTW we have proof-of-concept support for Zigbee Light Link via a USB dongle on a block.
* publishing a public repository of local modules to make it easy to wrap (and share wrappers) for proprietary/lan based offerings (think wemo, philips hue, etc)

Another thing to note is that we are a hardware company by necessity not choice. You can run our (node.js) client on an RPi, beagle bone, media centre pc, etc.

Anyhoo, I digressed. We hope to have something that you can get excited about one day in the not too distant future ;)
I'd like to see it happen but I can't imagine it would be an easy thing to do. I've seen a small number of people lash out at being "roped into" a group that was women this or women that. They did not want to be a part of it.

You might think those people who reacted badly would be guys. They were not. They were women.

I got the impression from one of them that her thought process went something like this: "I'm currently accepted as 'one of the guys' and as a result I am successful in this lopsided environment, so how dare you loop me in and remind them that I'm different?"...

I was surprised by this, but it's real. I saw it happen when someone created a new group for women engineers of some sort at Google and auto-subscribed a bunch of people. There was a small but distinct amount of pushback from a few new members.

So, really, I guess you'd have to find people who don't care if they come off differently (relative to the overwhelming majority) because they are in fact different. Then find the members of that set who are willing to take such a risk, and then the members of that set who have the resources to attempt it.

Unfortunately, this kind of filtering effect doesn't yield a lot of people in my experience.
You're thinking about the G train.