skysight-inc/HackerNews huggingface dataset:
The perjury applies to claiming to represent a copyright holder you do not. It does not apply to "misidentifying" your own copyrighted work, sadly.

So if I claim to represent a copyright holder when I do not, I have committed perjury due to the DMCA. If I "misidentify" some work as my own, I have not. Yes, there's a separate requirement of good faith, but that's not at all like perjury.

Personally, I think the penalty for bad faith DMCA notices should be that one loses the copyright claimed to be infringed, but the law contains no such provision. The reason I think that is because it's the only penalty that would convince the kind of people who spew out bogus DMCA notices to clean up their act.
What exactly is a voltmod?
Epigenetics is a very interesting area, and I expect it to increase in importance following the ENCODE project that just came out.

The NYTimes article is a bit strange, though, trying to politicize epigenetics through the "mommy wars". The article also muddles the difference between genetic issues due to aging fathers and epigenetic issues. The recent Icelandic study links mutations in sperm from aging fathers to autism and schizophrenia, which is genetic (the mutations show up in genome sequencing), so it's basically irrelevant to the article's epigenetic thesis. The NYTimes article mentions a theory that maybe epigenetic regulation is reducing DNA repair and causing mutations, but that's a pretty tenuous connection.

It's silly to turn this into a "blame game", but it is interesting that males and females contribute different types of genetic errors: females typically introduce chromosome errors, while males introduce DNA mutations. 20% of human eggs have the wrong number of chromosomes, compared with 3-4% of sperm. A cell has to split the chromosomes twice in meiosis to form a gamete, which is a difficult process where a lot can go wrong. Eggs sit around potentially for decades and then need to twice split properly, and this becomes much more error-prone with age. The first split happens at ovulation, and the second at fertilization (which is much later than I'd expect). These errors in chromosome separation are the leading cause of miscarriage and mental retardation. On the other hand, males are the main source of DNA mutations, since sperm are constantly being created, and each round of DNA replication has a chance to introduce errors. [Reference: Molecular Biology of the Cell, chapter 21, which is an interesting book]

Last week I read the book "The Epigenetics Revolution", which I recommend as it gives a good description of epigenetics. http://www.amazon.com/The-Epigenetics-Revolution-Understandi... (non-affiliate link)
As a man of 48 years who does not have the time to "head" back to class I LOVE all these courses. The receptionist in our office (she's 52) is taking the Sustainability course on Coursera. That's a wonderful thing. I've already taken the Cryptography course.

You may think it's only the younger generations benefiting from this trend in education. I assure you, it is not. :)
>> 7) don't discriminate based on gender or sexual preference, even though it may be legal to do so in your locality

do you feel like this is a big problem in the startup world?
Care to highlight the "correct" understanding in 140 characters or less?
They shouldn't but if you can't have a perfect system then it's best to have a system as close to perfect as possible and that is something we do not have. So ideally an entity wouldn't be punished for requesting a takedown of their own content but because of the insane volume of bogus takedown requests I think it's better to punish those who send them and if anyone accidentally sends a takedown request for themselves then them's the breaks until the system can differentiate between legit, bogus, and self takedown requests.

Furthermore, I'm not sure how YC deleting a post and issuing a DMCA takedown request against content on their own site are the same thing. This isn't about deleting content at all. Whether a site deletes content isn't at issue whether it violates copyright or not. The issue is sending bogus takedown requests to others.
Tim Ferriss advocated something like this in his book, The Four Hour Workweek. He said he used to run Google Adwords campaigns for different book titles, and see which one had the highest CTR.

I've often thought about that idea for business ideas. Spend $100 on a Google Adwords campaign advertising your business in 2 or 3 different models, and see which one has the most interest.
To hell with the suggested three strikes nonsense. I would prefer the more draconian solution: 10k fine for every instance of bogus takedown. Money going to owner of the site in question.
Only if you have showdead on.

In other HN curiosities, I lost the ability to flag a few weeks ago.
More or less. Quantum states can only be measured probabilistically. This, combined with the fact that they cannot be cloned, is what makes the eavesdropper detectable if he/she tries to intercept the quantum states in between the sender and receiver. i.e. The sender knows what she sent, but if the eavesdropper measures those states and tries to imperfectly clone them she will send states to the receiver that will produce impossible results when measured by the receiver.

In a true MITM attack the eavesdropper could claim to be the receiver to the sender and the sender to the receiver and exchange keys with them both. This is why authentication must be a part of QKD protocols.

Once you have a secure key, using it as a one-time-pad is the most secure way to send data. (Note: We're skipping a few steps like error correction and privacy amplification)
Do we need to know amb to read this tutorial? I have a vague memory of it, having worked through that chapter in On Lisp long ago, and yet the first screen introduces several terms without explaining them.

It says I need to be familiar with call-by-value lambda-calculus. Ok, check. But I still don't follow what's going on. Is this because of that parenthetical "(and evaluation contexts)"? I wish there was a link to where I could read about evaluation contexts. I searched for 'racket evaluation context' and came up with zip (the first result is about.. redexes[1]).

The exposition seems to bounce around levels of understanding. It explains how to start typing in the example, and where the menus are, but it skips quickly past the productions. Is number a keyword of the DSL? I see 8 productions not 6. Is there some reason it doesn't mention if0 or fix? Is it deliberate that num is not number? Are if0 and fix not literals?

Racket is awesome; that just frustrates me all the more for often not being able to understand what it provides. Maybe I'm just dyslexic in some subtle way; I rarely have trouble following docs for other languages. Racket tutorials are as hard to understand for me as research papers that use haskell.

[1] http://redex.racket-lang.org/why-redex.html
Global objects are not as much a sin as in the browser, since the environment is usually completely under your control. And of course, you wouldn't use more than a couple.
She is using names a lot, but no VB.

You define your own functions with IF/ELSE and the like and then replicate that function by dragging it to other cells I suppose. So that is kind of an anonymous function that you map to a vector of data.

So instead of mutable data, lets call it side effects: There are certainly no side effects. One sheet defines a complete set of data that does not change at run time and nothing besides that sheet determines the outcome of the calculation.

Funny enough, she immediately understood the concept of mutable data and claimed that she is not thinking about her Excel sheets as mutable -- she is mostly doing data analysis and reports, so she considers her inputs very much immutable.

Well, the analogy is not perfect. But the similarity is striking.
> Also, I don't have a phone plan. Just an iphone that's used as a wifi device. Now what?

https://voice.google.com
I'm fairly surprised in the results using StringBuilder. I didn't know it was so fast compared with plain concatenation. According to what I've read in MSDN [1], memory allocation has a lot to do with it. I think I'll start using this class in my code.

By the way, this leads me to one question: does the code

string a = "a" + "b" + "c" + "d";

generate one or three memory allocations (one to compute each concatenation)?
Python performance the easy(ish) way
I think he's pointing out the problem that if they start penalizing false DMCA claims, people will find non-DMCA ways to take things down.

Given that publishers have managed to get Google's ContentID system to misidentify public domain songs, bird songs, and other such things as their exclusive property, bad faith or otherwise negligent copyright claims are a real problem.

Ref: http://www.geekosystem.com/rumblefish-birdsong-takedown/
Certainly... if not in who gets hired, then at least in what hires get paid.
Working for a tech startup: one recent college grad's perspective
There has been a lot of buzz in the (scientific) twitter/blogo-sphere regarding this. The main point of contention is essentialy the % of functional element ENCODE annotates. As it turns out, their criteria of denoting a DNA element as 'functional' is debatable (i.e. a DNA sequence with biochemical activity). These elements when deleted from the genome often has no visible phenotypic change to the organism (us), which is why the % they put is believed to be way too much.

Here's a recent excellent blog post on the issue, in readable form to the layman: http://selab.janelia.org/people/eddys/blog/?p=683
You're right to have that concern, I won't block a site if it's doing that but practically it's not an issue. I've yet to encounter one that requires opt-in before setting cookies.
I love it. Instead of MMS though, reminders via instant message (gchat/aim/whatever) would be nice.
One: This stuff should be called "documented abuse of children" and nothing else.

Two: Documented abuse of children is a MacGuffin, not an end.
I'm sorry, but in the US public urination puts you on the sex offenders registry?

I don't know whether to laugh or cry at those urolagnic law writers.
Here's a shortcut, pick the one you and your team knows well enough to get the job done as fast and as reliably as possible. Programmer productivity beats technical sophistication every time.

Also, if you're worried about "scaling", know that almost all web app scaling issues are related to caching strategy, database queries, database structure, and using a queue where appropriate. Rails vs Django vs node vs PHP Framework X vs Java/Scala vs .NET won't change those problems for you.
Lately it feels like the HN front page is stuck in a loop.
I think you've got many possibilities to find somewhere to stay because your companions are woman... hahaha
Industrial control systems are often excellent candidates for visual programming, particularly because much of the logic is conditional and combinational in nature (that is, IF X AND Y OR (P OR Z AND NOT Y) AND NOT ALARM) THEN OPEN VALVE), so they are often programmed in a language called "ladder logic" [1] or "relay logic". Such an approach lets you very quickly see what condition is "breaking" the chain that enables the output to actuate.

After some Googling, here's a screen capture [2] of what it looks like in practice (from the vendor of RSLogix).

On the other hand, if your logic is highly non-combinational (requires latches or states), then such a language can indeed become incredibly annoying to both write and debug, in which case you can often elect to use a traditional programming paradigm (as shown in the top right of [2]).

[1] http://en.wikipedia.org/wiki/Ladder_logic

[2] http://www.rockwellautomation.com/rockwellsoftware/design/rs... The picture for the main sequencer might be read as "If you're not out of Ingredient A, and you're not out of Ingredient B, and you're not out of Vanilla, ...". There needs to be a "lighted green" path from the left to the output for the device to turn on; if it doesn't, then non-green element(s) are the reasons why the output is blocked.
Compiln: A Node.js asset compiler with choice
Why is it better? And better than what?
Modifying a hardware component to feed it more or less voltage. Particularly zealous overclockers may overvolt components to allow them to run at higher clockspeeds. Particularly zealous efficiency nuts may undervolt components to trade decreased performance for decreased power consumption.
Voltage modification, i.e., lowering the voltage to something. When it cannot be done in software, it can be done in hardware with wires.
JshWright, congratulations! I am sure you are going to be a great father.

That said, you cannot be a mother to your child. Your roles now are approximately equal, but they will inevitably change over time. Feeding and changing diapers is enough for now, and that indeed can be split between partners, because baby cannot really tell the difference right now.

For further normal development, babies need to develop a bond with their mother. This gives them a fundamental sense of security. It is one of human baby's primary needs which is also observed in most mammals.

Children later become attached to their fathers. It is a different experience for them, which involves more "rational" thought instead of primary urge to bond with their mothers.
I love these 'protocol-teardown' posts. They really bring back the obsession over the details which has been disregarded more and more as technology progresses. They're refreshing. :)
We had two professionally conducted polls in Germany by one company, asking more-or-less the same thing (internet censorship as means to combat child pornography), commissioned by different stakeholders (one in favor of internet censorship, one against), with different phrasing.
Each got >90% approval for their preferred point of view.

That company took no issue with running both polls (telephone, n=1030, "representative of people living in Germany"), and merely pointed out the differences in the questions when asked for comment afterwards. The second poll was mostly run to prove exactly that point.

It seems they take money for whatever poll they're asked to do, no matter how useless. They probably even optimize it to confirm the bias of their client - since polls are usually used for (internal) marketing purposes, I'd assume that's usually desired, too.

I wouldn't expect Gallup to do different. That's their business.
At work, we had a short experimental phase with using a visual programming tool to create web applications[1]. For simple CRUD applications it was actually really nifty. But as soon as you get to more complex logic, it turned into a nightmare.

I think part of the reason is that a chart or a graph is great to give you an overview, to transport the gist of a message, to convey informal information. Programming on the other hand is all about hard, precise logic. Text is a much better medium to present this. And it's much easier to divide and conquer in text form, with meaningful function and variable names.

For example, how would you represent the following simple code snippet graphically?

if (!customer.hasOrderedSince(DateTime.Now.SubtractYear(1)) {
offerCoupon(10);
}

In the aforementioned platform, this would be one rhombus (representing the if statement). You'd have to click it to see what the condition actually is. If you have a complex flow, you'd have to click all nodes to see what's actually going on. In text form, it should ideally fit onto one page and is much easier to grasp and debug.

Someone brought up that GUIs and mouse input has been successful, and that's true. But there is big difference between using a computer, doing small atomic tasks with it, and programming one.

[1] http://www.outsystems.com
One more: "Whether your learning a foreign language..." should be you're.
Cool, but:

404 http://www.class-central.com/In-Memory%20Data%20Management
I love the idea behind PayPal. Always did. But if my customers have to wait 10 for a login page to come, many leave these days. Experts say it is a requirement to get below 2. Please, get lightning-fast, it's lost money for all of us.
It's also a fun way to see who sells your email address to third parties.
The original article was submitted to Hacker News some weeks ago...
European law:

When the email address is obtained in the context
of the sale of a product or service, *the natural
or legal person may use the email for direct
marketing of its own similar products or services
provided that customers clearly and distinctly are
given the opportunity to object, free of charge and
in an easy manner*, to such use of electronic contact
details when they are collected and on the occasion
of each message in case the customer has not
initially refused such use.

http://www.lsoft.com/resources/optinlaws.asp
Nietzsche: Beyond Good and Evil [1]

--Way ahead of its time.

_________

[1] "Supposing truth was a woman, what then..." Is the opening line. Not for the faint of heart, though.
Okay, but is it acceptable to fantasize aloud about torturing teenagers having sex or exchanging photos of their own?
I find this gravely worrysome.
This was the first that come to mind for me, as well. Living in Canada, this was front-page news not long ago, and for several days until his arrest in Germany.
I was under the impression that there were some provisions intended to protect those who stumble across CP. As I recall, you have to either destroy it immediately or show it only to the cops (and not to anyone else) and you obviously can't just keep accessing then deleting the same material.
Also, Anki: http://ankisrs.net/
Thanks for posting this -- I've been getting email from companies that are requiring login to change email settings, but the inconvenience of getting spam is less of an inconvenience than tracking down my password for this random site. I've emailed saying that it was probably against a law, but I didn't know which law specifically.
Because you're concatenating literals, the compiler will translate it into string a = "abcd" ;)

Strings are outwardly immutable, so concatenating any two strings will create an entirely new String object, along with the memory allocation needed for that. However, there are some internal methods that allow String and other classes in the same corelib assembly (such as StringBuilder) to mutate them.

`string a = x + y + z` will be translated into `string a = String.Concat(x, y, z)`. Because it knows the final length it can use the internal String methods to allocate a new String long enough to fit all the arguments and then copy the characters into that without any intermediate representations. [1]

In a loop it doesn't know how big the final result will be, and so has to create a new String object on each iteration. If you're doing 16000000 concatenations as in this test that's a lot of intermediate strings that are largely being wasted.

StringBuilders have a private String object and use the internal String methods to mutate that when you call Append. When you call ToString it returns a copy of the private String object. Again, this avoids creating lots of new intermediate String objects, but does have the overhead of having to guess how large the initial String should be, and growing it if you append too much (similar to how Lists work).

[1] I believe in Java it's translated into using StringBuffer or StringBuilder, which has a small overhead of creating the StringBuffer/StringBuilder object.

[Edit: Corrected how String.Concat and StringBuilders work based on the Mono codebase]
> "Who is this author?"

http://en.wikipedia.org/wiki/Robert_X._Cringely
How do you feel about skimming maps of criminal activity?

I have, in the past, used maps of homicides/burglaries/assault to help determine where in town I'm going to live.

That hardly seems strange in any way to me, and sexual predators is just another type of this kind of map.
It seems to me like no particles are being teleported, becuse no matter is being moved. It's just information (i.e, the state of a particle) that is being duplicated in the same kind of particle on the other end.
> There is an extremely high (as in, greater than 80%) correlation between willing viewership of child pornography and attempts to abuse/molest/rape a child or acquire actual chil porn.

Calling utterly ludicrous shenanigans on that one.
It is my experience that any mechanical component will start to make noise at some point. Better to avoid it altogether.

I don't understand why you say that using a fan would make the CPU use less energy. On the contrary, the fact that a CPU requires cooling indicates that it uses more energy than a CPU which doesn't (more energy converted to heat).
As far as I can tell, it just replicates the state of a particle in a remote location, using another particle of the same kind. So state is being transfered (i.e., information), but not matter, and nothing is being destroyed. I might be wrong about this, but that's what someone who explained it on hn said.
Ask HN: Any upcoming hacker meetups in the north of England?
I have recently moved back to the UK and have been toying with the idea of attending a hacker meetup but haven't been able to find any which agreed with me. The super happy dev club looked great, but there were no active English meetings.

If anyone here attends or will be attending a regular meetup, please send me an email or post it here so everyone can see. The location isn't massively important, I don't mind if it's suit and tie or T-shirt in a pub, as long as it's not focused on recruitment or 'maximizing profits' etc. The 99% business type meetups don't really appeal.

Thanks in advance.
A "market" doesn't necessarily involve monetary compensation. It can be a trivial as "likes", pageviews or peer recognition.

THere is a very real market, possibly bigger than the child porn market. That there are websites dedicated to gore videos is proof of this.
Programmers stop doing bad help
"A skilled engineer can get a product comprised of small packages up and running in the same amount of time (and sometimes less time)"

Maybe "up and running", but then new skilled engineers that follow in enhancing and maintaining get to try to figure how it all works and waste the first x months of their time on board coming up to speed on the proprietary combination of frameworks and interfaces.
Facebook's 'Daily Credits Report' breaks this rule. I can't find anywhere to unsubscribe from these 2 daily emails! Anyone else suffer this?