skysight-inc/HackerNews huggingface dataset:
I didn't read the paper thoroughly yet, but from a brief skimming this is the gist:

The technique they used was very clever. The first step was to take what's called a zinc finger. This is a type of DNA binding protein that can specifically recognize a sequence of DNA and bind to it. In this case, they created two zinc fingers that bound to a region of the first transmembrane domain (CCR5 has 7 transmembrane domains), just upstream of the deletion in the delta32 mutation.

Then, attached to the zinc fingers is a type IIS restriction enzyme. What this does is make a double stranded cut in the DNA. In other words, it cuts both strands in half. The cell, sensing the damage, repairs it with nonhomologous end joining (http://en.wikipedia.org/wiki/Non-homologous_end_joining). Due to the nature of the cut, mutations are introduced in the repair process.

It seems in many cases, the mutations introduced are sufficient to disrupt the CCR5 protein and make it non-functional. While it's not as much a "sure thing" as the delta 32 mutation, which introduces a frameshift, it seems relatively effective. They used an adenovirus to introduce their zinc fingers + restriction enzyme, so this has the risks associated with using a virus as a delivery system (ie cancer).

Link to paper: http://www.scribd.com/doc/3746359/Establishment-of-HIV1-resi...
The Brief Life of a Molecule
yes, that blog is the work of a troll. what he's talking about has merit though, intentionally or not.
Alan Kay has got to be one of the smartest people alive. I wish he wrote more. My favorites are his answer to the question "What do you believe is true, even though you cannot prove it?":

http://www.edge.org/q2005/q05_8.html#kay

and his essay "Predicting the Future":

http://www.ecotopia.com/webpress/futures.htm

His other work is quite impressive, also, but these two are by far my favorites.
WebKit now supports CSS Variables
The blog post is full of hand-waving and the mindset that "if you think this you must be stupid".

I'm extremely wary of anyone promoting the next silver bullet for writing software. The Project COSA, http://www.rebelscience.org/Cosas/COSA.htm, that the author mentions sounds very complex, and I have no idea how using such a system would simplify writing code.
A new evil: the Web 2.1 server-side blink tag
As much as XP has its flaws, I don't think it deserved the smackdown it got in this article, which was somewhat biased.

Also what was with the bizarre, idiomatic, confrontational writing style?
OpenSUSE 11.0 - Smooth Outside and Rough Inside
Checkpoint Friendly Laptop Cases Coming Soon
What If... It Was Easy to Write Firefox Extensions?
Writing Your Own Assembler
A few Git tricks for your arsenal
Same story. I'll never forget the look on my 8th grade English teacher's face when she saw the shiny, perfect circle in the center of my pasty-white dome.

Her: What did you do?

Me: I stuck a suction cup to my forehead.

Her: Why?

Me: ...
Pagerank sets global weights; you won't get a personalized homepage if you implement just that.
It's shocking how well replacing "Microsoft" for "Google" and "1989" with "2008" works.
A thread is an algorithm, i.e., a one-dimensional sequence of operations to be executed one at a time.

Well, it's too bad that none of these pesky algorithms can be logically decomposed into independent processes and run all at once. Like, say, every matrix multiplication ever done by a multi-pipelined GPU in the past 20 years.

This is really the worst sort of trolling. Every time I looked up from studying today, I feel like I read something after which I was stupider than before. I mean, just look at what's become of my grammar, if nothing else...
This picture the OP includes reminds me of TimeCube:

http://bp3.blogger.com/_BXJTG_K68fU/SB6ibLP3ExI/AAAAAAAAAE0/...
Haha, as a PM I've found engineers hate burndowns with an absolute passion. And so do I. But you're right - the transparency makes it worth it. I try to make sure I gather the data in an unobtrusive manner as possible, and keep irritating meetings to a minimum. No matter what I do it still gives people the irrits. Having worked as a software engineer, I wish some of them would work as a PM for a bit to know what we go through as well...
Another submission on this?
I have definitely thought about the convenience of variables before, but it isn't good to bloat CSS itself with them.

The spec's examples like "CorporateLogoBGColor" could be handled by a simple tool that generates CSS. The simplest case is a preprocessor-like input/output scheme. For example, a script (in a complete language with real variables, functions, etc.) and a template file (with references).

That way, there's separation of responsibility. The browser doesn't have to be more complex, risking bugs and exploits and slowdowns, because the "requirement" for variables isn't really there.

What usually happens after someone adds "variables", is somebody says hey, we need functions too. And arithmetic. And oh wait...now it's a full-fledged language. Oops...
Right, and as big dogs lose profit in patent system, they will lobby to can the whole thing completely. Thus patent trolls will also lose in the end.
I once deleted the document root on the production website by mistake, multiple terminals, had the wrong terminal, thought I was in a subdirectory of my home dir and typed 'rm *' to blow away some debugging logs, and then wondered why it was taking so long... I had backups and brought it back in fifteen minutes. Ever since I've been much more cautious.
Google learns to crawl Flash
One idea that Kay has championed is what he called somewhere "recursive design", in which you begin with a kernel that is both simple and universal and then build the rest of a complex system in terms of that. The relation to Lisp is obvious, and Lisp and Smalltalk environments are probably the best examples of systems designed this way. I'm curious what other examples people here might cite.
Second obligatory xbcd:

http://xkcd.com/292/

VelociRaptorException
So they only provide that technology to Google and Yahoo!? That really sucks, should be available for everyone.
Godel's letter to Von Neumann: Computational Complexity years before its time
You don't get it. They provide terrific cusotmer service - they solved the problem I had and I am very happy about it. Yes, the web site could be better, but the core problem is solved. SOLVED.

There is difference between having a car to go places any time and not having one and dependig on friends or buses and their schedule. The car may rattle and AC may be broken, but is a lot better than not having the car. And theirs is the only car in town.
These are touch-screens, and need to be durable for restaurant environment.
Visualizing the 10th Dimension
Abstract: Tactile Visualisation "feel your data!" [pdf 20Mb]
I just tried

http://ycfeeds.com/feed/replies-to-user?user=jamesbritt

and got

500 Application Exception

Java heap space

Stack trace:

java.lang.OutOfMemoryError: Java heap space
agreed. I read about that as a case study for my CS "computing, society and professionalism" class.

for the therac one of their main problems was relying on software 100% and not having hardware failsafes as well.
10 Brilliant Social Networks You Don’t Know About
Why should every programmer know these ? Sensationalistic blogging ?
What if We Turned Our Devices Off?
Top 7 Hiring Mistakes for Startups
Great point.

From now on, I am now following axod.

:)
I've only ever failed once. It was when I was trying to fail at something and was unable to. But outside of paradoxical situations, I am infallible.
look up "faulty capacitors" in google. multiply by 8000. But we got through it. We repaired or replaced each one as my life rode along the bell curve of faulty capacitor failures. Honestly, I don't know how we did it. But we survived.

Failure is far more honest than success. Failure stories are a chance to pass down wisdom, to warn others of your plight, and to prevent them from taking the same steps into darkness.

Failure is also necessary. Starting a company at a young age is amateurish to some degree.. you can make up for a lot with energy and determination. And if your lucky, ever so lucky, you won't make the one failure that puts you out of business.

The failures that don't put you out of business are your only chance at true reflection. You've been slapped in the face, and hopefully it's obvious why. The more issues you encounter early on, the stronger you + your company will be. So savor every failure. It makes you unique, and over time indestructible.

"Now you know. Life is crummy, well now you know.

O.K. Big surprise

People love you and tell you lies

Bricks can fall out of a clear blue sky

Put your dimple down, now you know!"

-Stephen Sondheim, Merrily We Roll Along

I was fortunate that no one mistake took down my company. But they sure came close.
Where are you guys based?
Shiftzoom - zoomify your oversize images
Object-oriented vs. functional styles in curricula (plus a response from Alan Kay)
The one I keep forgetting is ":q!" (really!). I think it's some kind of brain defect on my part.
Louis Savain's "arguments", which he likes to claim "over people's heads", are mostly just examples of the Argument from Intimidation fallacy. Ie, "only an idiot would disagree with this". (Complete with overly complicated and inadequately labeled diagrams, to try to make you feel stupid, so that you'll more susceptible to this tactic.) I don't buy it for a second. I've built logic circuits. I've written assembly code. He hates computer languages because he's full of shit; there's no polite way to put it.

Greater parallelism in hardware is a fine goal. But it's madness to write programs for processors. If humans can't read it, then your program is crap. There are no exceptions.

We have these many processors. The task is not to make parallelism fit on a single chip. The task is to develop practices and languages that allow humans to write code for other humans, in such a way that programs also incidentally take advantage of the many (threaded, algorithmic) von Neuman machines that we have wired together in modern computers.

In just a few years, 8 or 16 (or more!) cores won't be a big deal. When you have 50 single-threaded cores, you have a different kind of computer than what we're used to today. We already have languages that take advantage of these features pretty well. They're not hugely popular yet, but they're also not being taught at universities, and we're not yet at a point where they're terribly necessary.

The COSA project is imaginary yak shaving of the worst sort. If he was half the hacker he claimed to be, he'd be writing programs instead of crackpot papers. Where is all the useful error-free software that COSA makes it so easy to create? Where's the web server he built with it, or the word processor? Hell, I'd be impressed with a 4-function calculator! Show me the goods, and I'll take it seriously. I'll even join the beta and play around with the stuff.

Until then, in my view, Savain is on par with the muttering bum at the bus stop.
Does Mapou == Louis Savain?
http://news.ycombinator.com/submitted?id=Mapou
The Spirit of Open Source - Netiquette can be subtle
HTML Canvas in Firefox 3
I guess I am simply too lazy for Vim.
Alan Kay ignores the object-oriented vs. functional debate and talks about the larger role of education in society. His comments (especially his second) are just crazy crazy good.
I agree recommendations are a way to take trust into account, but it is a different way with its own drawbacks. You wouldn't need higher critical mass if you have just implemented a pagerank equivalent as opposed to recommendations.

You can make a page without recommendations the default, at least until you acquire critical mass. You can just have a "personalized" slider defaulting to no personalization.
The social sites are much more dynamic than the web. This means, for example, that people high in the ranking like pg would upvote newcomers and they would instantly get a karma boost.

Pagerank is usually log-scaled because of these feedback loop effects.
You've not read a personal blog before then?
Internet Broadcasting Introduces New Online Opinion Tool Slantly
Frankly, I think you've brought up the speed of light as a distraction.

More interesting than whether they are moving at the same speed, is whether they are thinking at the same speed, particularly, whether they think with a common tick. Since time appears for the most part to be continuous, that's not going to get you a tick, nothing for the ants to synchronise their clocks to.

If being in the same frame of reference was enough, then you could just put two computers in the same room and call it a synchronised system.
He hits the nail on the head with this article - XP is a methodology for large groups of average programmers to write large volumes of average code. This is not necessarily a bad thing; that is the requirement of most large organizations. Most corporate software is just forms and reports in front of a database; there's nothing algorithmic in there that necessitates deep concentration. It doesn't matter how big the codebase is. That's why XP doesn't care about ownership of code, or the "social" aspects breaking concentration.

But XP is simply not suitable for real "extreme programming", i.e. small teams producing novel products. There is a BIG difference between "specs that change because a business user can't make up their mind" and "specs that change because we are writing a program that has never been written before" which completely escapes XP people.
No VC-Backed Companies Go Public In Q2
I personally feel like functional programming will rise. I mean it has been on the side for a long time will OO has been all the rave.

And now as conncurrency/parallellism becomes more important, well functional programming handles that much better(erlang haskell) than OO-languages do.

OO has it's place, as has functional and procedural code, the problem is as usual fundamentalists who has to make everyone think like them and dont realize all human theories are flawed. We will make better and better theories but object-orientation is hardly the theory to replace all theories.
"... He’s a trained accountant, but as he puts it, most of his experience comes from owning his own companies. ..." ~ http://www.entrepreneur.com/columnists/bradsugars/167912/bio...

I often wonder what they really mean by "Startup" in these articles. So I checked the bio. Accountants advising Startups is a bit like "out of work PE teachers" who start Gyms and advise you how to get fit. Pay the money and we'll tell you the "secrets to your fitness success". An alternative is to just get out and exercise more. You don't even need runners. The new growth area for Accountants, MBA's and business types is the Business Coach. A super consultant who is professional and knows all about business ... Who you gonna call?

I'm sorry if I sound so harsh (and this isn't a reflection of the article posted) but I get enough "Australian suit-wearing accountants" spruiking on late night television for business as "Business coaches" ~ http://www.allwords.com/word-spruiker.html Take for example the first recommendation: "Hiring someone just because you know them" because "There needs to be a certain sense of objectivity and accountability in the workplace". This is one way to get good founders and certainly new-hires. They are already a known quantity. This is typical of the very conservative, some would say backwards
view to Startups I see Aus. Most of the suggestions are rss-up. These suggestions might work for established companies. But for early Startups the article reads like a (tech) Startup "How-not" rather than a "Howto".
Obligatory: http://xkcd.com/378/
When the Cat's Away, Neurosis Is on Display
Completely agree.

After a few years doing this job and taking it seriously, diligent practice and all that, anyone who's reasonably bright should be at the top level in at least a few of these categories. But it's always good to spot areas that need work, and lists like this can be very helpful.

We programmers are mental athletes. Like athletes, we shouldn't ever stop training.
add http://noobindex.com to that ;)
Exactly - thanks - you saved me making virtually the same points. This guy really should make use of a dictionary and look up terms such as "Algorithm" - he might learn some stuff.
The article is about advice you'd give to a 13 year old who wanted to learn to program, not about how to become a professional software developer.

Unit tests are not necessary to learn to program, and thus should be left for later.
You Turing worshippers are so full of hate. You sound like somebody just blasphemed against your two-bit god. LOL. Too bad for you that the parallel programming crisis is about to bring Turing down from his pedestal. Then you'll shut the hell up. I have a wide grin on my face just thinking about it.

Money always talks and no chicken-shit cult of propeller heads can stop that. LOL.
Who keeps posting these links to rebelscience? It's just gibberish.
It's very interesting to see how Godel anticipates the major questions and goals in computational complexity, before the standard complexity paradigm was set.

It's also interesting to see how varied his interests were. I always feel very capricious when I mention a set of different concerns, ideas, or results in a letter to someone (indeed, I've been told to keep emails shorter), but I guess I'm in good company.
as an emacs user, that's the only one I'm required to know. :)

Actually I'm competent in vi, so I can pair with others, but man I don't like it.
I'd be interested in hearing some of those experiences. In mine, good performance on topcoder is a fairly reliable indicator of intellectual horsepower (though the opposite isn't implied).
I'm not sure I understand this, but it appears to me that the consequence would be a reversal of defaults. Now we assume that a sequence of commands is the default and parallelism has to be explicit. He proposes to make parallelism the default and sequence explicit.

My question would be, is parallelism really the more frequent case? I mean if we take all the instructions in a program and analyse which ones are just accidentially sequential and which ones have to be sequential to be correct, would we have more parallel pairs or more squential pairs of instructions?

I believe we have more sequential pairs and that it'd be very cumbersome to default to parallelism. But there may be special cases where defaulting to parallelism is beneficial.
Is Prolog still relevant? I am still curious about it, but never got round to checking it out.
XP does have a social bias. Eric Evans once suggested "social programming" as a more accurate name for it. When combined with the formulaic nature of software "process" (do these 12 things, code must be written in pairs, etc.) this aspect can turn weird or even cultlike. That's unfortunate because the best and most fun software projects are indeed (in my experience) highly collaborative. But compulsory socialization isn't fun at all.
It's only shocking if you haven't lived through it before.

Google's growth will slow, and the most ambitious employees will move along or retire (this is already happening), leaving the careerists to take over. As the management structure of the company ossifies, the young employees will stop working quite so many hours (why bother, if it's not going to make you rich?), and a job at Google will become Just Another Daily Grind (tm). Over time, the free food and massages will look as dated and manipulative as the free soda at Microsoft, and the company will become an elaborate, kabuki-theater version of its youthful mythology.

I think you know you're on the bad side of this narrative when you start to see Audis and Volvos in the company parking lot. Clunkers are good (the employees are young and hungry) and ridiculous sports cars are okay (the employees are newly rich and brash), but luxury sedans are the death knell for innovation. (And yes, in case you're wondering -- the lots at Microsoft are positively filled with them).
Isn't a patch on http://rayninfo.co.uk/vimtips.html. Looks like most of it has been taken from here anyway. Is it really necessary for a programmer to rot13 his code??
And there could be a popular yet-to-be-written Firefox or GreaseMonkey extension to neuter it in case web advertisers start adopting it.
That could fill the requirements for "enterprise" software, the kind of work that people happily convert to web apps. Making desktop software can be much much more demanding.
> makes a lot of people respond to legitimate criticisms with tribal defensiveness.

That's true for pretty much any computer system, whether it's Tcl, Emacs, Ubuntu, Postgres or whatever.

BTW, I loved the descriptions of Perl and Java users - it's not often that I get that good a laugh when reading something. And I agree with you completely about Ruby hitting a 'sweet spot'.
I just discovered Aza and Jef Raskin's webspaces a little while ago, but they are truly great sources of ideas.
>It's SBCL. And we have really excellent models for tools. If someone would extract SLIME from emacs and into an editor with less history behind it and more popular appeal, you'd have most of the tools you need.

SBCL port to Windows is a work in progress. And what you're saying about tools is more or less that they doesn't exist... yet. And comparing what you need to know and set up to start working with open source Lisp and other environments is... not fair.
I'm no XP fan, but this comment is ignorant. It's entirely possible for two people to concentrate together on a hard problem, and when it works well you get a "two heads are better than one" effect. It matters a lot how big the codebase is on any software project (and XP is well aware of this). Collective code ownership is advocated for a number of good reasons, such as that it mitigates risk and increases quality (think open source). The vast majority of "large groups of average programmers" are not doing XP and would hate the idea of it just as much as you do, and for some of the same reasons. Plenty of XP projects have above-average programmers. (Edit: Oh, and by the way, when I was paying attention to this stuff the corporate types were the source of greatest resistance to XP, while most of the people advocating it were technical. So it's a little rich to hear XP described as a corporate conspiracy to impose a drone state on creative programmers. Perhaps it's changed since then.)

XP provokes a lot of one-sided emotional reactions from people, some in favor, most against. (I'd include the OP in this.) In fact, I've noticed that some of the most cultish XP people turn out to have been the ones who had knee-jerk negative reactions at first. Once they decide they don't want to sit in a room by themselves all day after all they flip one bit to the other and become evangelists of the opposite. The irony is that much of what they say both pre- and post-koolaid is actually true. But it gets spoiled by rigidity.
Definitely.

It's funny. I mean, basically none of the startups profiled by jl in founders at work did this. The statistics seem to imply that if you followed this advice literally, you're doomed.
Why is a fully fledged language a bad thing, in this case?
Basislager.cc
Top 10 secrets of successful digital entrepreneurs
You would need voting data to make anything with the nice properties of pagerank.
Jef Raskin: He thought different. (2005)