skysight-inc/HackerNews huggingface dataset:
The article doesn't go into a terribly large amount of detail. With that as the basis, I'm not sure if this is fair to the sperm bank.

First, if she's a 13 year old girl with learning disabilities, then my first guess would be that she might not be cognizant enough to initiate such a suit. I smell greedy parents/lawyers behind this, as are behind many lawsuits.

Second, we have to look at the availability of genetic screen tests available when the sperm was donated. I don't know how long sperm samples are kept, but lets be lenient and say the sample was donated no more than 2 years prior to the insemination. So what genetic tests were available commercially between 1994 and 1996? The tests were way less comprehensive than what we have available now. I think the open question is whether or not this was a genetic disorder that could even be screened for in that time period.

Ultimately it should boil down to "Was it possible for the sperm bank to detect this genetic problem at the time of donation? If yes, did they have an internal policy to scan for such problems?" If the answer to the first question is "No", then I don't see how there is a case. If the answer was "Yes" and the 2nd answer "Yes", then there is a case for negligence. If "Yes" and "No", then that's a grey area that can only be resolved via court action.

As an aside, I wonder what the mother's take on this is. If a person can sue a company for providing "faulty" genetic material, then can I sue my parents or grandparents if I inherit something life-threatening? Do we hold healthy individuals responsible if they have children, but inherit two recessive genes from both parents that results in some kind of disability?

I'm reminded of Gattaca, where the main character's love interest takes a sample of his hair to a walk-up lab for a genetic cross-screening, to see if there would be problems in the genes of potential children.
Not all arrays can be summed, but they all claim to respond to #sum. This is extremely broken.

This is how I felt when I first saw Array#sum. But then I took a few hi-

But then I tried it a few times. And now I can quit anytime I want.

I think String#titlecase is correct though. Not all arrays can be summed, but all strings can be titlecased, including part codes.
When Sensors and Social Networks Mix
How about this idea, for a start?

Legalize possession.

Then create a single government-owned company that will be the only entity legally allowed to sell marijuana.

That way everything stays under control. It solves the quality issues, and all of the current sellers and distributors of marijuana are still illegal so the DEA can keep doing what they were doing.

It seems to me like this option would require very minimal legal changes.

Afterwards, if it is successful, we can slowly expand. Have the government slowly issues licenses to sell marijuana to some of the larger pharmaceutical companies, slowly legalize some advertising of the product, etc.

You don't need to completely legalize it and make it a free-for-all on the first day.
Disclosure: My two most recent homoiconic posts could be described as "Ruby bashing."

I disagree with you here.

First, your criticism is interesting and well-reasoned.

Second, you aren't making categorical claims (e.g. metaprogramming sucks/rocks).

Third, you're criticizing Ruby from the right position: as someone who has used it in depth, and isn't religiously for or against it.
Not sure if all press is good press. Sure I know their name now but now I know to avoid it too. And in the near future, when I'm considering options for my own gig I'll probably go with UserVoice or SuggestionBox instead.
Our productivity during Y Combinator
ASk HN: How difficult to build a browser?
I have recently thought of a need for a web browser for an up and coming niche market. The needs go beyond add-ons that could be built for FF ect.

Does anyone have experience with the difficultly level of developing a browser??

Thanks.
The ones you link to look significantly more difficult to build. This one is two boxes and a piece of plastic (from what I understand).

I guess this is neat, because I remember building a similar device when I was a kid, but it couldn't boil water or do any useful cooking. It was sort of able to warm up a hot dog...
The nature of VC is quite different from the nature of the forms of investing that caused the crisis. One of the culprits behind getting the crisis to such a massive scale is leverage. VC firms rarely leverage their funds due to the highly risky nature. Perhaps PG or someone else could elaborate on the behavior of VC or Angel investors because it's crucial to understanding this distinction.

Now contrast the nature of VC vs. what people are thinking about when they put money away for retirement. They're not trying to help get a company off the ground. They're usually just trying to beat inflation and, if possible, get a little more. These people lost money in a huge way. The people responsible lost money in such a huge way that the world is now struggling. The whole world. It is highly unlikely a VC could pull something like this off via their investments. Even the dotcom boom demonstrated how investing ones own money and taking on the risks involved will keep a crisis contained primarily (not exclusively) to those involved.

Let's also not forget the SEC has not proven it's abilities to catch bad behavior...

Edit: And, simply on principle, I back the notion that the Gov should generally stay out of my business.
Now you're asking for the entire justification of my class to exist.

Say there is an algorithm you want to run where you are grouping things into a deeply nested set of categories. A nested hash referencing arrays is a good data structure for this. In PHP this is trivial (though not terribly efficient). In Ruby you have to deal with maintaining the hash. There are many ways to do it, but my SafeNestedHash class lets you do it with a concise, natural syntax. Perhaps if you have an aversion to using a library for this then you would define a pair of methods like key_exists?(hash, key_chain) and set_key(hash, key_chain). You could also monkey-patch hash to have those methods. You could also encapsulate the logic into an object that handles all the logic. Or (as you seem to suggest) you could let the interpreter throw an exception and then handle it with rescue, which IMO would be just a notch behind monkey-patching in terms of bad practice since exceptions should be for unexpected circumstances. I just happened to go with creating a class that abstracts this all away. Yes there is a bit of leakiness, but there is no monkey patching, and any other solution would require either ballooning the actual function with incidental accounting details, or else utilizing some other abstraction which would need to be used with the same understanding of its purpose, at which point it's just a matter of taste.
All that has been done here, is replacing the OS with the browser. That is actually what is happening.

Now I am intrigued: an OS that is its own browser. Not eyeOS and the like: I mean the window manager is the browser. You browse a VFS which is mounted, locally or remotely; the browser doesn't see a difference. XUL is the default UI language. The browser handles threading, even. You have no desktop but you have a homepage. Exit the browser, power down.

Am I talking about something that exists? Stripped-down single-app systems like kiosks don't count... or should they count?
Here is his web site: http://iamhigham.com/
I agree with you if you mean that an array should be able to abstractly reduce its elements, but I'd argue that the specifics of how the array gets reduced are generally outside of the responsibility of the array class.

In Ruby, this is accomplished through Array#inject, which allows you to specify the procedure that gets applied as you're joining. This makes it easy to do summing, string concatenation, etc, etc.
The more interesting issue is that we consider people with mental illnesses defective, like faulty car brakes. That kind of scares me.
I'm French and I really don't think this law will ever pass. Not how it's currently written.

In France, we have something called the "conseil constitutionnel" which checks that every law voted by the parliament is in accordance with our constitution. This law violates a lot of basic rights. For example, the "presomption d'innoncence" guaranties that people can't be arrested without proofs, and that they don't have to prove that they're not guilty; the government has to prove that they are.
From the same guidelines:

Please don't submit comments complaining that a submission is inappropriate for the site. If you think something is spam or egregiously offtopic, you can flag it by going to its page and clicking on the "flag" link. (Not all users will see this; there is a karma threshold.) If you flag something, please don't also comment that you did.
But does String#titlecase do the right thing for ß? :)
It seems that VC doesn't really object to the actual regulation as much as the implication that VC is at all like hedge funds, private equity, or investment banking.
Apple's still working on iChat video answering machine
The price-gouging premiums of Time Warner Cable's data caps
I prefer a binary "Programmer Competency Matrix". Kinda like Hugh Jackman in the movie Swordfish...Get it to work in 60 seconds while getting sucked off with a gun to your head. All the rest is fluff.
> The ones you link to look significantly more difficult to build. This one is two boxes and a piece of plastic (from what I understand).

Seems to be the case, and looks like a significant difference. There's also a plexiglass cover, which likely helps insulate the heat inside. Simple yet ingenious, like the hipporoller ( http://www.hipporoller.org/ ). Absolutely fantastic.

For a more high-end design you can attach a heat sensor and make it electric-hybrid. Or gas-hybrid... or crankshaft-hybrid!!
I agree with what you said. I immediately stopped reading the post when I see the "X is not yet participating" in the design. I am still disappointed with the new design.
As a comparative newbie programmer, I find the occasional piece like today's "PHP vs. Ruby" to be useful. It's hard to grasp all the nuances of a subject by simply reading the documentation, so seeing different viewpoints, spaced out over time, is quite useful.
> Why does he deserve royalties?

I take it you don't approve of software patents either? In the interest of consistency, that is.
Most of the criticism of this essay could be eliminated by replacing "dead" with "irrelevant".

What has Microsoft done in the last five years that has been copied by a competitor (the sincerest form of flattery and all)
Microsoft Research is not Microsoft; it's like the Honors College at a large state university a small enclave of excellence set against a larger backdrop of mediocrity.

The larger culture at Microsoft is still operating under the assumptions of the 1990's when they were large and in charge. They have been coasting on the monopoly for some time. But, they are not the hundred year computing culture; by their very nature they can't be.
As VC, Google’s Miner Looks Beyond Android
On the credit card question, banks could just provide some sort of standardized (e.g., RESTful) API to read credit card history. That's all.

The rest of bucketing functionality could be provided by iPhone apps, web-services, etc.

disclaimer: I know nothing about credit card processing.
Many people are still unaware of this problem, yes. But that doesn't make giving my passwords and all my information to a single small startup right.
> As far as I was aware, becoming a member of the PRS was not mandatory,

You're right. I meant "on the member artists'" behalf; should have been clearer. But my point, that Waterman has ceded the ability to negotiate with YouTube, still stands.

> nor is the PRS required to license its music to Google. If the PRS is not satisfied with the deal Google is offering, then they have the option to walk away.

Look, I think you do have a point here, but you are oversimplifying somewhat. What you're not taking into account is that if the PRS orders YouTube to take down the videos, the content will appear anyways as so-called "user-generated content" (although it quite obviously doesn't merit that title) -- the onus is then on content creators to enforce it's IP rights. Should the PRS then push for all of YouTube to shut down and risk massive PR damage, not to mention hurting all the innocent bona fide UGC creators? Should it be forced to incur the costs of policing the content on YouTube, when YouTube itself reaps all the rewards in terms of advertisements? Or should the onus on policing go to the government, or YouTube itself? All of these issues would need to be addressed were the PRS to simply walk away from a deal. Needless to say, each and every one opens up a horrendous can of worms. So while it's true that the PRS has "the option to walk away", it amounts to the option of getting murdered through a bullet to the head or a slit to the throat ;)
Haskell doesn't act differently. If you translate the Haskell to Lisp:

(funcall (elt (mapcar (lambda (x) (lambda (y) (+ x y))) '(1 2 3)) 0) 2)
==> 3

Then the Lisp works the same as the Haskell.

The difference is that "loop" mutates the loop variable, whereas mapping makes a copy. In Haskell, there is no way to mutate a variable (that's not even what variables are), so that's the only way you can express the concept. In Lisp, you can either copy or mutate, and you get a different result depending on which you choose.

Closures always work this way. Otherwise, you couldn't write things like:

(defun make-incrementers ()
(let ((i 0))
(cons (lambda () (+ i 1))
(lambda () (- i 1)))))
Sorry, I still think it sounds like extortion.
Try one of these libraries:

http://www.uspto.gov/go/ptdl/ptdlib_1.html
The 10 reasons why PHP is still better than Ruby was a funny piece as seen from the viewpoint of a Rubyist who was just waking up for the day yet. When I clicked to read it, it had 3 vote points. The content was not what I was expecting and yet I wanted to congratulate the author on coming up with it so I up voted it and went on with my life. Upon a second consideration perhaps I should have skipped voting on it and I do appreciate the moderators tendering to keep some quality on this forum.
Our Productivity during Y Combinator
Just talking about this with a friend last night who went to Paris a few years ago.

On the road in from the airport she was somewhat surprised by the billboard (advertising orange juice) showing a family - mom, dad, young teen daughter, and about 9 year old boy: full frontally nude.

The next day, at about noon, she was surprised by the appearance on the boob tube of Linda Lovelace in Deep Throat.
SHAKHTAR DONETSK - OLYMPIQUE MARSEILLE
SHAKHTAR DONETSK-OLYMPIQUE MARSEILLE Preview: UEFA Cup, Quarter Finals Are you a UEFA Cup fan? Catch the live goals of the Quarter Finals clash between SHAKHTAR DONETSK vs OLYMPIQUE MARSEILLE on 09 April 2009, 18:30 GMT.
You can try using existing stuff - gecko, webkit etc.
Same thing happens with closures in JavaScript
Heh, I'd place myself in the last column for most of these, but I still don't consider myself a very good developer :)
It depends of the level of functionality you want to include in your browser.
Could you describe your needs ?

And, by the way, qt now comes with webkit.
If gravity wasn't forcing me onto the ground I could fly.

I'm sure there are plenty of organizations that would love to move away from Microsoft, but its just reality that they can't. They are too invested in it. It would take too much money, too much time and too much political will to make a change. It's not their fault, its not even Microsoft's doing, other than being in the right place (on commodity PCs) at the right time (the '90s.) It's just the way it is.
Fantastic followup! Classy.
Professor Encourages Students to Pass Notes During Class -- via Twitter
What about creating a mailing list dedicated to discussing ideas ?
SwarmScreen (Hiding in the Crowd)
There is no "hard" reason most companies that use Microsoft product need to continue to do so, they do it, as they do most things, out of habit.

Conversely there are practical, real gains to be had by using anything other that Microsoft products, but getting a large company to make any change before it is absolutely necessary is almost impossible, as current events demonstrate.

What is missing is a catalyst, something of an "energy crisis" of software, which will put this to rest.
Most "solar cookers" try to focus sunlight directly on the object to be heated. This new design is almost exactly like a traditional oven in that the main goal is to heat air, and not the food directly.
The method should be: array<number>.sum

The article is correct .sum shouldn't be on an array, but sum shouldn't be global either. This is why generics exist.
You never mentioned games being pirated. I'm saying that your analogy of Artist -> YouTube plays doesn't fit Developer -> App Store since the artist doesn't have an explicit agreement with YouTube as an iPhone developer has with Apple.

If the artist is represented by PRS who has an explicit agreement with YouTube, then he has even less grounds for complaint against YouTube (if they're holding up their end of the deal) otherwise it's PRS who's shafting this guy.
Do you have evidence to back up this statement?
New Apple Technology to Produce Seamless Metal iPhone Case
Part of what the courts and congresses are for is to handle the lazy evaluation of questions like these. We don't have to figure all this stuff out up front; most of it can keep for a while, so we can figure out what's actually a problem and what isn't, and base the policies on empirical data rather than speculation.
Similarly, if you use map instead, you get the right answer:

>>> map(lambda x: lambda i: x + i, range(0,10))[3](4)
7
I agree with you.

That being said, I suspect that this turns out to be a cultural debate more than anything else. Remember, Ruby is a freedom language. Ruby could eliminate many of the issues you raise by being strictly typed, but of course that'd defeat the purpose.

The whole thing is a question of trust. Do you trust clients enough to give them the syntactic sugar of Array#sum even if their arrays may not all be strictly summable?

The answer to that question if you're writing Java is probably no. If you're a Rubyist, however, the answer is a resounding maybe. For something like ActiveSupport, it's probably OK. For other more hostile environments, maybe not.

As to whether it's idiomatic Ruby to provide Array#sum, I'd argue no, even though it's culturally acceptable.
This is a crazy advancement of that cleché argument when the kid screams "I never asked to be born!"

It's not like they would have gotten a version of her without the problem if they had better screenng.
permalink: http://www.gaborcselle.com/blog/2009/04/our-productivity-dur... (for posterity)
Half of laid off workers have found new jobs
This issue (list comprehensions vs generator expressions) becomes clearer after reading PEP 289 (http://www.python.org/dev/peps/pep-0289/) which includes:

List comprehensions also "leak" their loop variable into the surrounding scope. This will also change in Python 3.0, so that the semantic definition of a list comprehension in Python 3.0 will be equivalent to list(<generator expression>). Python 2.4 and beyond should issue a deprecation warning if a list comprehension's loop variable has the same name as a variable used in the immediately surrounding scope.

and

After exploring many possibilities, a consensus emerged that binding issues were hard to understand and that users should be strongly encouraged to use generator expressions inside functions that consume their arguments immediately. For more complex applications, full generator definitions are always superior in terms of being obvious about scope, lifetime, and binding.
see also discussion here: http://news.ycombinator.com/item?id=554778 (that submission doesn't use the permalink, sadly)
> The whole thing is a question of trust. Do you trust clients enough to give them the syntactic sugar of Array#sum even if their arrays may not all be strictly summable?

I agree that Ruby should embrace Freedom, but that does not mean that all choices programers make freely are good ones. This is not about whether programmers accidentally call #sum on arrays that cannot be summed. It is about whether, when I look at the methods implemented by Array, it describes what arrays do or what arrays sometimes do or may do once in a while.

I actually think that Array#sum is the least objectionable in a single project where summing the elements may be common, maybe objectionable in ActiveSupport where every Rails project gets it whether they sum arrays or not, and absolutely wrong in Ruby's core libraries where every Ruby programmer will get it.

Free choices should be scrutinized most carefully when they has the broadest impact.
I agree. Faulty Car brakes fail to stop a vehicle and potentially endanger the safety of myself and others.

A learning disability (better phrasing than mental illness because it doesn't imply she's crazy, just impaired) simply implies that her ability to learn is diminished -- not failing. It takes her longer to grasp concepts or learn new things. This does not translate to a endangering society or the individual.

insert "i am not a lawyer" disclaimer here
Conficker Wakes Up
"Would less web-centric mean being useful in making desktop apps?"

yes that and bots, and God knows what other back end programs; PHP is decent at the one thing it does (way better than Perl 5 - the thing it replaced), but why limit yourself to just being able to code only web apps? to me that's PHP's biggest weakness, but again that's just my opinion

to me what I still don't understand is why people aren't willing to learn and migrate to either ruby or python... they are very easy to use and understand (just as easy as PHP imo), while being very powerful and flexible at the same time; plus they're popular enough with large enough communities (though yes at times there are jerks in the ruby side - but they are very helpful when asking ruby questions)
.. as opposed to? :)
Cambridge physics prof analyzes sustainable energy debate
Sell stuff. Get people to sell their stuff on your site and take a small bite of the sale price. Don't rely on ads and seo - too competitive. Then, go out and pound the pavement and get people to sign up to sell stuff. Would be good if you get a sales guy in your startup team.
'causing injury' is an interesting thing to prove, since without the sperm the girl would not exist. Conflating the parties involved with the transaction being made (one of the parties _is_ the transaction) is sure to throw a monkey wrench into liability laws. This should be fun.

I'm not a judge, but if I was I would sidestep the whole issue by throwing this out because the girl has no grounds to bring a suit: her mother does. Then it falls neatly back into existing legal frameworks: did the sperm bank fulfill its obligation in the transaction?

---------

On further reading..

"..under a product liability law more commonly associated with manufacturing defects"

Damnit where is the wikipedia of law? Can't they at least _name_ the law, "US Code Title XII Section 5 Subparagraph Whatever.."
The conclusion: people (in the UK) could live on sustainable energy sources, but only with massive lifestyle changes.
Well join should be on sequence instead of list then.

To me it seems unnatural to see join on string because string feels more 'basic' than a sequence, so I would expect the sequence to know about strings rather than the opposite. But the argument against join on string is not as strong as the argument against sum on array.
I would just let a mod switch the URL there