skysight-inc/HackerNews huggingface dataset:
23andme uses GWAS SNPs, about 1 million of them. You have a 3 billion base pair haploid genotype, so they sample ~1/3000 base pairs. What does this mean?

First, most of the SNPs are noncoding, found not in exons but in introns and intergenic space. Still, you can't dismiss these; some are causal for major gene expression changes (my lab has articles set to be published next week on this topic; more details then).

Second, the fact that you're only covering 1/3000 nucleotides tells you that there's no way you can fully specify someone's genetic risk with this data, ever. There is a debate in the community right now about whether common variants (which are on 23andme type chips) or rare variants contribute most of the genetic variability. I think it's clear that common variants are winning this game — but this is on a population level! On an individual level, I don't think I'd ever be comfortable telling someone their risk of X with just GWAS data. For the population, their rare/private mutation in Gene Y has little impact, perhaps, but for try telling that to the 5 people with the Gene Y mutation who will die by age 20. (Extreme hypothetical to try to drive home the broader point.)

Let's also not forget that phenotype is a computed expression of genotype+environment. If your genetic risk score from 23andme says you are at high risk of heart disease, yet your grandparents on both sides are 100 and healthy and your LDL-C is 60, should you really be concerned?
Apple becomes a bigger crybaby, attacks Droid X
Tell HN NYC: Hackers & Founders NYC Meetup #14, This Thursday (7/29)
You can control type specialization to a certain extent with overloading. For instance, if a procedure takes two arguments, and if both these types can vary independently, then you can use overloading to ensure that both arguments are converted to a common type.

procedure foo;

[T1,T2]
overload foo(a:T1, b:T2) {
// by default, convert both arguments
// to the type of first argument.
foo(T1(a), T1(b));
}

// the following overload specializes for the case
// when both arguments are of the same type.
[T]
overload foo(a:T, b:T) {
...
implement the logic here
...
}
Ask HN: Suggested Reading List
What books would you all recommend regarding entrepreneurship?

I've recently read Rework, Escape from Cubicle Nation, Four Hour Work Week and Crush It.
I am more sad about the current state of android tablets. Are there any decent tablets available? When I looked recently, I found a bunch of announcements for stuff that was coming, like the Dell Streak. But the actual tablets available look like knockoff Chinese junk. The Archos tablets seem to be the only moderately respectable devices in the bunch, and those seem to have their share of problems.
What is the current stability state of extension syncing? And is anyone working on a third party or self hosted sync platform? I don't really want or need my extension data or private bookmarks stored on Google's servers.
Download Wi Fi Hacks Hack Steal your neighbors Internet
Why would you be afraid?
Well put.

I think there is an inherent tension between the state and the governed, which is amplified when there is secret information involved.

A military officer sworn to obey the chain of command is not a perfect vessel for secrets, which is why there are all sorts of levels of trust/clearance, etc. Why? Because most humans can be counted upon to exercise their individual moral judgment on matters of grave importance.

The grouping of minor leakers into the category of armchair anarchists diminishes the role of independent moral discretion that may have motivated their actions. Even if it's poorly formed/articulated, I think the leakers have a sense of the moral consequences of their compliance with secrecy rules, which explains why they risk punishment to bring forth the leak.

Though derived from a chaotic and political mess, state actions (war plans, etc.) must be treated by the state as essentially sacred (and to go against it must be considered a "high crime"). Once in a while a person has the opportunity to see state actions through his/her individual moral lens and also feels empowered to act upon that feeling.

As misguided as that feeling often is, I think that its presence is a major force in the prevention of tyranny.
I'd go so far as to say that journalism is never unbiased and I don't see how it could ever be otherwise.
To pound on an issue I keep pounding on in this and other forums (based on my outside of California experiences):

“'At the margin, there are small things that can be done to make the climate more attractive for startups. An example is to change the non-compete laws that are much more restrictive and enforceable in MA than in CA. ‘Hot’ engineers don’t want to worry about ending up in lawsuits and court if they leave one company to start or join a new company.'”

This is not a small thing. Based on my knowledge of the cultures and decline and fall of Route 128 and the mini-computer companies it could well have been a critical factor.

ADDED: Hmmm, see this which I just dug up: http://www.boston.com/business/articles/2007/12/30/why_nonco...
So basically you learned to hate MySQL while not doing anything serious with it. Interesting.

- try (erroneously) adding or inserting latin1-data into a UTF-8
table. You'd expect an error message, but instead your data gets
truncated at the first byte with the high bit set.

False.

- "alter table sometable add somcolumn integer not null"
will gladly add the column and place null values in each
row. Null values that should absolutely not be there. No
error. No warning.

False.

Same goes for date columns, but there it's even better as it'll
set the date to 0000-00-00 which is invalid if you try to add this
in an insert or update.

That's why I said those who don't know MySQL like to complain — hardly any of doing the rants have heard about sql modes:

mysql> alter table t1 add column (dob date not null);
ERROR 1292 (22007): Incorrect date value: '0000-00-00' for
column 'dob' at row 1

- I said "corrupt table" earlier. Yeah. That happens with
MySQL, whereas it never ever (with the exception of faulty
hardware of course) happens with any other RDBMS - including
PostgreSQL.

Funny. Googling with right keywords paints a bit different picture. Must be some other PG, I guess.
A cure for Hacker News overload
Meh, if they're already flying me out and putting me up, and skimp on the extra 100 bucks to put me in decent lodging, they're likely to cut corners other places as well.

The issue isn't even the 100 bucks, it's the fact that they're telegraphing that they don't know how important first impressions are, and they'll cheap out on me given the first opportunity.

As far as my sense of entitlement, well, what the market will bear and all that. It's not that I insist on 4-star lodging, it's that the company is sending a message by asking me to do AirBnB or couchsurfing or whatever. If this is a scrappy pre-funding startup with an awesome idea, ok, if I like the idea, I'll play ball. If it's a business that wants to hire me as an employee, that's different.
This is an interesting press for information. I too would like to see the original encrypted along with the key they found.
As a lisper, I am ashamed that I did not know what parenscript was. I am very happy that you were able to correct that for me.
I think that those are too generic terms and that those terms cover a wide area of work.
They can overlap very much. Most notably engineers can be engineers in very different areas, also a developer can develop kernel level C code, HTML pages or database queries, which can also be done by a programmer.
That's why in general the job titles are more detailed (database administrator, software engineer, website developer, etc.).
Ask HN: Techniques for remembering to find the 15 minute solution
I'm constantly wishing that I would do a better job at finding the 15 minute solutions to problems instead of the 2 hour to 2 day solutions to problems.

By "15 minute solution" I mean if you had 15 minutes, how would you solve this problem? The idea being that most of your solutions get redone, thrown away, not used, or don't solve the problem anyways so you might as well just do the quick solution up front to save everyone time.

The only method I have right now for reminding myself to find the 15 minute solution is the Pomodoro Technique and a daily todo list with time deadlines every day.

What's your way of reminding yourself to find the quickest solution to a problem, not the best?
Apple grants ABC unprecedented access to its secretive "black labs" [video]
are you arguing that lisps are easier than c?
Facebook Adds Delete Account Option
Concurrency's shysters
Startups Should Fuel Growth By Acquisitions
Organizing a university course on modern Web development
The VMS operating system has had dynamic linking for thirty years or so.

A simple version identifier match scheme allows for the requirement of at least a specified version or newer of the library (not running against an older version), or flagging that an incompatible API change has been made (not running against an incompatible version).

The dynamic linking mechanism then checks this pair of identifier values that is associated with each library, and allows (or disallows) activation of the calling application.

There's also a mechanism to redirect the activation, which allows you to maintain a private version of the library. And yes, there are security implications for some cases of this redirection.
In my job, if I'm not writing code, I'm not making money. Call it whatever you want.
To be fair, Rob's (like most of the Unix room) always disliked Java and C++. Bjarne was their colleague for a time.

In this discussion on Java in 2004
http://groups.google.com/group/comp.os.plan9/browse_thread/t...

object-oriented design is the roman numerals of computing.

-rob

Or this one from the same year on manual pages !

http://groups.google.com/group/comp.os.plan9/browse_thread/t...;

when ken and i described the new features we were proposing for plan 9 C,
including inherited structure elements, to bjarne stroustrup, he said, "if you
want C++ you know where to find it." and stormed from the room.

i don't think he understood exactly why we were proposing these features.
Street-Fighting Mathematics is published under CC [pdf]
People seemed pretty interested in this book being published. I recently discovered that it's under a Creative Commons license, so enjoy!

Sanjoy also has previous course material floating around (eg. Order of Magnitude Physics) and if anybody has links to those or comments I'm sure people would appreciate that.
Getting your tech team pumped up
It reads incredibly naive, but I wish the author the best of luck. He should however be prepared that drawbacks of Chinese way of doing business sometimes outweigh its advantages.
Yes. Generally you then start cheating by passing around a function pointer and a void* that is the first argument of the function, i.e. doing closure conversion yourself. You can hide this with some macros and get close to having a functional language, but it's ugly and tedious (Cfront anyone?) Also, what I'm describing here is more similar to object orientation than functional programming. It's worth remembering the following koan though:

The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said "Master, I have heard that objects are a very good thing - is this true?" Qc Na looked pityingly at his student and replied, "Foolish pupil - objects are merely a poor man's closures."

Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire "Lambda: The Ultimate..." series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.

On his next walk with Qc Na, Anton attempted to impress his master by saying "Master, I have diligently studied the matter, and now understand that objects are truly a poor man's closures." Qc Na responded by hitting Anton with his stick, saying "When will you learn? Closures are a poor man's object." At that moment, Anton became enlightened.

-- Anton van Straaten
Higher Purpose Content Marketing in 6 Steps 
Below is the presentation I gave at the Web Content 2010 conference, the leading US conference covering the art and discipline of content strategy.
It seems like semicolon insertion is an example of browsers being liberal acceptors of slop. Good that the rules are codified by ECMA, much like HTML5's error recovery parsing rules, but I wouldn't omit semicolons on purpose.
Is there no weakness in depending on the same hand scan systems so many times? It appears a single point of failure.
China's great until you have to go to court there and realize you're being totally screwed over because your opponent has an "in" with the government. There are countries like Australia and Canada that strike a nice middle ground between too much and too little regulation, have decent, stable economies right now, and solid relationships with China in the case you want to partner with a company there. But I've heard too many horror stories from entrepreneurs getting burned in China to want to put all my chips in that stack.
Trying to get my head around "design thinking"
having been in all three places, you should leave europe to start your company. but move to silicon valley instead.
Somewhat tangentially, there was recently an entire thread on Lifehacker discussing the differences between Computer Science, Computer Engineering, and Software Engineering.

http://lifehacker.com/comment/26433104/
The US appears to be close to declaring Assange a terrorist. Do I want to be documented as having donated to a terrorist organization? Not sure.
For those who aren't familiar with the author, he's the brilliant Dr. Atul Gawande (http://en.wikipedia.org/wiki/Atul_Gawande), whose most recent book is the best-selling The Checklist Manifesto.
Engineer usually assumes corresponding degree from a certified school. Granted, "Software Engineer" is thrown around a bit loosely, especially considering how debatable the very existence of engineering in software is.

Programmer is more casual term, you usually don't put it on your business card. Developer sounds both solid and without any superfluous claims.

In reality of course none of it really matters.
Is it time for a Content Management System?
Meh. I don't like these questions.

What's the difference between geeks and nerds?

There really is no consistency because, in my opinion, we didn't come up with these terms ourselves. It almost seems like people outside our industry or people who don't understand technology in our industry (Dilbert's bosses, for example) came up with these terms.

It's like the whole geek/nerd fiasco. People started calling others those two terms and now we're asked what they mean. The truth is that different people will like to be called different things. I for example prefer the word nerd. But, the really really correct truth is that it doesn't matter. That's the bottom line.

Sorry for the long-winded answer. But it's a pet peeve of mine when people focus on their titles more than their actions. I don't care if Zuckerberg is defined as a programmer, developer, or engineer. Because, honestly, they can't even be defined. I care a whole lot more about what he's done.
When in China, do as the Chinese do. If you want to really get off the ground there you'll need to partner with a local that knows the ways things are done, which is not always intuitive from a 'westerner' point of view.

A friend of mine is currently going this route and there are a few other HN'ers that are doing this, maybe you guys should get together somehow and compare notes. That might save everybody both hardship and time.
Climate Bill, R.I.P.
My quick take on a similar subject:

Computer Science: Writing Code

Computer Engineering: Designing Stateful Circuits

Electrical Engineering: Designing Stateless Circuits
Readability is the single most important quality of a piece of code. Semicolons aid readability by eliminating ambiguity and ensuring that nobody ever has to spend even a second figuring out whether your code will do what it looks like it will do.

I add semicolons for the same reason I surround if blocks with braces, pad out blocks with whitespace, and avoid the ternary operator in all but the most trivial cases. If you ever find yourself dropped onto a line of my code by a debugger, chances are you'll be able to figure out exactly what's going on immediately.

At least that's the goal.

(more here: http://expatsoftware.com/articles/2007/06/getting-your-prior... )
Sadly, yes. You've never run into someone who has an amazing idea for "the next youtube" if only they can find someone who will do all the work for 10% equity?
I'm on irc most days of the week. It's far from dead.
Be careful with "engineer", I hear it's a legally protected term in some places (but obviously not California).
That guy apparently hasn't been to many datacenters.

Hand-scanners are pretty standard, as well as RFID photo-cards + pin, video surveillance and a good anti fire system. It's pretty much the baseline of what you'd expect for a building that houses several millions worth of hardware.

The man-trap does indeed seem extra (haven't seen one myself), but I'm a bit wary about the value it adds beyond certain james bond scenarios...

Moreover if you're really paranoid about physical access then you'd better go to one of the underground facilities like those in abandoned bank caves or bunkers.

Your standard warehouse-type datacenter usually has walls so thin that a dedicated thief could trivially flex through them in a minute, after climbing over the (often not very high) fence. Sure, he might set some alarms off in the process, but I wouldn't bet my $treasure on the single underpaid guard that commonly serves the nightshift in these buildings...

Yeah, got a bit carried away here, but we were talking James Bond scenarios, right?
Neat, see also:

http://news.ycombinator.com/item?id=1514037
As someone who likes high level languages (mostly Lisp and Ruby, and learning Haskell for for the second time), I am surprised how much I like the language: list comprehensions, type inferencing for concise code, etc. There is about zero chance of my using this new language however since my language selection is about 90% driven by what customers want.
In you article, you mentioned 'Dots are not allowed in BSON document keys. Typically it might not be a problem, but we had to work around it in our data migration.'

Do you have more information?
Revealed: Afghan war horrors, via Wikileaks
Well, it seems a reasonable choice, doesn't it? They provide you with building blocks to get what you want.
yes, because the consistency removes it as a potential cause of bugs, and makes my code easier to debug by someone else.
A highly recommended read.

Not to spoil anyone's fun but gems like this abound:

A valid economic argument cannot reach a conclusion that depends on the astronomical phenomenon chosen to measure time.(Discussing GDP and Multinationals in Nigeria).
Apps (a.k.a. Programs)
UseTheSource
I'm still trying to figure out if the 'fast foot' restaurant was a mistake or a pun in relation to life being a marathon ;)

Hey I was up until 2am coding and got back up at 8. When I get the coding Pon Farr on my mornings get a little hazy :)

This actually relates to your article. For the last month or so, I have been trying "banker's hours" coding -- 9-5 and taking time for everything else. It was great.

But something funny happened: I stopped making progress. Sure, I would make a little bit at a time, but nothing like what I used to do.

I finally figured it out a couple of days ago. For some reason, unless my body and mind is convinced I am serious about driving through to solve a problem, I get very little traction. But if it's 11pm and I'm getting ready to go to bed but realize I can code it better and then go act on it, things work out. Unlike working for a BigCorp, working for yourself involves a gut check.

A lot of problems are like hills -- tough on the front side but easy on the back side. If you only go 1/4 way up the hill, you just slide back down overnight. But if you go balls-in and stay with it until you make it, suddenly it becomes easier.

Perhaps one must suffer for their art.

At least that's my experience, for what it's worth.
I think the titles represents jobs that are that similiar that it's hard to say why we are trying to differantiate them. I guess it would've been a boring and uniform industry if everyone had the same title.
I wish this were possible, but the difficulty in doing this is massive. If you are not U.S born, it's QUITE difficult to simply walk in and start a company in the U.S. And you'd spend a lot of time just solving those problems, and have a lot less time to setup your company.

In comparison, I landed in china on thursday. Today is monday, and I have a fully furnished office (with furniture I selected myself), an assistant and 25 interviews with programmers scheduled for this week. The business papers have been submitted, bank accounts have been setup.

This all goes really, really fast.
Let me take the example of constructing a very difficult bridge...

Engineer designs a very elegant solution to the bridge problem keeping in mind the weather of the place, the location, the type of foundation etc... He is also supposed to be looking at society & the way the bridge is going to impact the society and be able to design a solution to carry certain number of vehicles/people across the bridge etc... He is also aware of the different types of materials purely from a design perspective...

Developer would be more like a mason who would come with enormous expertise on how to get the design implemented... He would know what kind of concrete would work with what kind of water or weather more than the engineer... The engineer would be aware of it but the developer would be able to really know the tool of the trade... Engineer would have understood it conceptually...

Programmer would be good at execution... He will know what to get done in what order so that it can be done in the least amount of time in the best possible way... In the case of a bridge, a programmer would be the project manager...

In the case of tech folks, I guess the line gets blurred as software development allows for incremental developments & testing cycles.. Imagine building a bridge in the same way of building a software shudders :)
Wikileaks plans to make the Web a leakier place
This article indicates moving to California can work, although it's not really clear legally why: http://www.boston.com/business/articles/2007/12/30/why_nonco...

To me this article strongly implies non-competes are non-enforcable after moving: http://www.crn.com/it-channel/18815740;jsessionid=50NGMBUQKT...

EMC is such a junk yard dog in this area and the allegations are described with sufficient specificity that it sounds like whatever non-completes Karwowska signed outside of California they couldn't be used against her when she presumably moved to Silicon Valley. EMC could only claim nondisclosure and nonsolicitation agreement violations....
But linebreaks don't terminate statements in javascript.

x = y

/* TODO: clean this up to make it more readable
* and maybe add some semicolons
*/

+ 4

... is a single statement.
I think one of the biggest benefits of physical work is that you can more easily turn it completely off.

You have to be in your garage to be woodworking for example. You can't be on the couch with your wife pretending to watch a movie with her.

Perhaps we can also see the quality of work more easily from physical work too.
Hello kssreeram, question: your company web page and quillpad product look interesting; do you use Clay for quillpad development and deployment?