skysight-inc/HackerNews huggingface dataset:
I was not talking about 'technical correctness' (though the literature how to implement languages does exist - just start with Steele's papers - Steele describes efficient compilation some thirty years ago), but about 'technical capabilities' - and it that area Ruby is lightyears behind Lisp implementations. I'm also not saying 'Ruby is slower so we should all use Lisp', I'm saying: Ruby is much less capable than Lisp, so it neither is a Lisp nor is it able to replace Lisp for the tasks where people use Lisp. For an expert Lisp programmer there is little reason to use Ruby anyway. Ruby has a larger user community, but that does not help me when Ruby simply does not provide the capabilities I need - the user community could be ten times larger and the number of libraries could be also even larger. It does not help if the libraries that I'm interested in are not available and probably never will.

Matz designed Ruby for so-called 'ordinary' people with him to do the language design. I can tell you for sure that I neither like his design nor do I want him as the language designer. In the Lisp world the implementors role is to empower the user, not make them dependent. I need a new control structure? I write one myself. I don't have to wait for some benevolent dictator, who probably does not get basic designs right - just look at the confusion of blocks, lambdas, etc. in Ruby.

(also there is no excuse for putting confused stuff on slides, even when he is not a native speaker - lots of people (including me) are no native English speakers and I haven't sensed this amount of confusion Matz shows)

That Lisp is too complicated for some people is not news, still Emacs (which he tried) now comes with a standard library of a million lines of Emacs Lisp code for all kinds of editor extensions. Emacs Lisp code that has been written by very different people and obviously a lot of them learned enough Lisp to write sophisticated applications based on Emacs (like GNUS, calc, the various mail modes, org mode, ...).

Lisp is also not only great technically and theoretically, but some people found it practically. There weren't ten maintained Common Lisp implementations if there were no users for it. For example the talks at the Lisp Meeting last sunday here in Hamburg described several applications in Lisp: an airline reservation system (developed by a team of hundred people, fifty of them Lisp programmers), a visual reactive programming system, an aircraft analysis tool, a reasoner for the semantic web, a visual simulation system, machine learning applications and some more.
Colourblindness cured in monkeys by gene therapy
The Redirector Chain Mashup Design Pattern
Only the ones that are too aggressive. Most viruses shoot for a very nice balance between killing the host and keeping enough of them around for the next batch.

The weirdest effect of this is that the most dangerous viruses tend to burn out. If one of those ever came along with a really long incubation time for the disease but a much longer time for contagion that might be a problem.
If your goal is to assign blame, it can never be done on such a naive scale. The US has very well written liability laws, e.g. for Q2 every party involved assumes some liability. For every car crash, the individual assume some liability (that's why we all carry insurance), car companies assume some of it, parts suppliers do (remember the Ford/Firestone issue where the explorers were flipping over?), USDOT (e.g. CalTrans in California) does and the regulators at NHTSA do.

There is a reason why legal and insurances industries are so advanced. Blame is never black/white.
Also, you only need as much of the hash as neccesary to identify the commit. Generally 5 or 6 digits is long enough.
Yes. But it would be nice to have something that at least requires somewhat of a break-through instead of another afternoon of coding.
I'm ready for Techcrunch2600 and Mahalo5200.
Yes.

Makes it a good fit for Google, doesn't it?
To make the point in just a few sentences, the word 'fraudulent' best captures how I view the origin of the ringtone market.

Consumers were deliberately misled about the value of the product being offered. They were just charging for the service, they were lying that the service was even necessary. Sure it's not black and white, but Verizon etc. erred on the side of anti-consumer behavior in the case of ringtones and got away with it.

The reason people didn't know how to upload things to their phones is because the phone companies made it really hard. Since we're talking about facebook, it would be like facebook making it difficult to include links to external sites and charging for the priviledge.

A "facebook gift" picture of a flower has value because it's a facebook gift. A verizon-provided ringtone has the same value as an identical recording of the same ringtone you uploaded yourself.
I suspect GCD had little to no impact on these numbers. And they appear to be too small to reflect what I expect of OpenCL.

Weird
Inspiration and Portfolio Goodness from DripBook.com
The only naming guide you'll ever need:

http://developer.apple.com/mac/library/documentation/Cocoa/C...

:P
This sounds like the same fallacy that the movie Idiocracy is based on – even if you pass on your genes, that doesn't mean you pass on traits like demographic fertility, or intelligence.

One of the best predictors of a woman's fertility rate is their level of education. Higher education leads to fewer children on average. This is largely independent of the fertility of their parents.

Also, if you look at the third world, there are actually some good economic arguments for having more children, related to infant mortality. Your children are your 'Social Security', so you want to ensure that some survive. Paradoxically, reducing infant mortality can actually reduce fertility. http://video.google.com/videoplay?docid=-5192204318056302269
Don't be thrown off - that's a New York positive-spin smile. They have some issues to deal with. Arrington huffing and puffing off stage like a baby at the awards wasn't the best foot forward for the show.
He did answer your question. The value of arbitrage is liquidity. Liquidity is extremely valuable. Here, I'll quote Harris:

Liquidity is the ability to trade large size quickly, at low cost, when you want to trade. It is the most important characteristic of well-functioning markets.

Everyone likes liquidity. Traders like liquidity because it allows them to implement their trading strategies cheaply. Exchanges like liquidity because it attracts traders to their markets. Regulators like liquidity because liquid markets are often less volatile than illiquid ones.

Market are not magical. Just because something may be fundamentally worth X does not mean you can automatically find someone to take the other side of a trade based on that valuation.
Ah, the cheat computers! Where they get a little peek at their opponent's card before betting...

High frequency trading is cheating. Ban it.
I like having good arguments on both sides. I'm not saying that pro-motivation or pro-conservation is bad, because it's not. At the same time, I've got a lot of friends on both extremes of the economic argument, both anarchosocialist and Objectivist-libertarian, and I think there's a lot of value to be had by arguing both sides. Similarly, the calmer life philosophies that are less about motivation and more about contentment aren't thrown about as much here, and so sometimes conversations seem a bit lopsided.
Everything in Lisp, traditionally, is not extremely late bound. For this, look to COLA by Viewpoints Resaearch Institute.

The no reader macro convention basically boils down to making it easier to design a language.

If you want an acceptable Lisp, you effectively have to combine the best features of all Lisps. This is surprisingly difficult to do and ensure portability and stability. So your comments about "direction of Java" are puzzling, as it guarantees portability and stability to the extent the JVM is. Really the only downside is compatibility with type erasure, which is unfortunate but hey.
Fuzz testing, binary analysis tools for SDL are offered from Microsoft
Wow, there is more than one of them ?

I read it as being the same. The key seems to be this bit:

"It turns out that in selling Skype to eBay, Mr. Friis and Mr. Zennstrom retained control of a key part of the Skype technology, which they licensed to eBay. Although the details are under seal in a London court, the Skype founders’ essential complaint is that eBay tampered with their software, and in doing so, violated the terms of the licensing agreement. They were demanding that Skype be forced to stop using the technology, which, for all intents and purposes, would mean shutting down Skype itself. The case is set for trial in 2010."

Sorry for muddying the waters.

Btw, if you follow the link to the article from google news you can read it.
As the article points out, other more mundane violins have done the same thing.
what define art is lack of purpose. that's why I call most of my hacks art.
I know I shouldn't be surprised anymore, but it always amazes me that the users on Hacker News actually have positive and relevant things to say. I still find it odd (though pleasant) that there's a part of the internet that hasn't turned into a shithole yet.

Thanks, guys!
Xkcd: volume 0 now available
Industrial farming is a product of economy. In our society oil is cheap and labor is expensive, and our farming techniques reflect that.

As far as alternatives go, an instructive example is post-USSR Cuba. Before 1991 they were a satellite-state which sold sugar at above market prices to the USSR and in exchange received oil and farm machinery. After the collapse they had to, essentially overnight, switch over to subsistence farming. They use low-input techniques by necessity due to the high price of fossil fuels.

In almost every Cuban town there is a microbiologist who will examine the soil from your plot and recommend biological or chemical amendments. Open spaces in Havana are populated with [collectively-run] urban gardens. They're the first country applying permaculture techniques on a large scale.

Permaculture can actually be more productive per acre than industrial agriculture, but it requires more (and more educated) labor to do so. http://en.wikipedia.org/wiki/Permaculture
Perhaps an opportunity for mashable? Mash50 ?
Anyway it should have included an option "Can't confidently blame anyone", otherwise it assumes that we have to blame someone.
Only they know what they are doing, and so far, it's gone very well for them. I am left without words.
World of Warcraft Going free to play
I'm not following. Why does "ModelClass.register_expiration_callback(keyname)" have to be in a macro expansion, rather than just the first statement of the cache() method? It doesn't appear to use local scope at all. Can you flesh out the example a bit more?

FWIW, I believe that Ruby or (especially) Smalltalk-style syntax for method calls and closures covers such a large set of the things macros are used for that their complexity cost (esp when building tools) outweighs their benefit.
Ordered. Shipping is supposed to take up to 2-3 weeks.
I recommend checking out lolcat, too (http://en.wikipedia.org/wiki/Lolcat).
So does MySQL, that isn't why this article is interesting.
It could be argued that by enabling growing population with diminished consequences, he made the bomb bigger. There's no argument that pouring industrial chemicals into the soil has created a dependency on those chemicals - and their manufacturers.
Having never seen "Hide FarmVille," I've just chosen "Hide Julie."
For my tastes, Clojure strays too far from proven ground.

It's nice to experiment with stuff like persistent data structures and STM, but I don't think the next big Lisp, if there is one, will be based around that model.

It's simply too far removed from the (object-oriented, semi-functional) Lisp programming model of the last decades.
Second Life is a cybersex brothel.
Ask HN: Does storing CC data in the session violate PCI compliance?
In our app we wish to show an order confirmation screen between taking the customer's credit card data and processing the transaction. To achieve this, the app would need to store the customer's credit card information in the session while we present the interstitial confirmation screen. This would be the only time card data is ever stored by the app.

My question is whether this "counts" as storing card data, in regards to PCI compliance. My instinct is that it would, but I have seen similar payment flows on big-name retailers' websites. As storing CVV2 information is never allowed regardless of the level of PCI compliance, I don't know how they can do this while remaining compliant.

So my question is threefold:

1) In regards to PCI compliance, is there a distinction between short term and long term storage?

2) Is there another way to temporarily store sensitive data which is preferable to the session and adheres to the PCI guidelines?

3) Does this require PCI Level 1 compliance?

I've put a fair amount of time into Googling this and haven't found a clear answer. As so many of us on HN sell products of some kind online, surely someone here has dealt with this issue before.

Thanks for any advice you can provide. If I find a definitive answer, I will be sure to update this thread.
So reCaptcha uses a statistical accuracy and machine learning algorithms to compare the user input for the same word over hundreds of users. Thus by doing this they minimize the probability that a human who incorrectly deciphers a word skews their data.

Also reCaptcha's present two words. One of which is known, and used as a normal captcha, the other of which is an unreadable word. Thus if a someone passes the captcha word, its somewhat assumed that he also correctly typed in the unknown word because the words are presented in randomized order.

Finally, as a funny anecdote, Luis told me once of this time that they noticed there was a captcha farm in latin America paying pennies for poor latin american's to solve reCaptcha's for them in order to gain the ability to generate illegal spam. Luis started sending them whole sentences of reCaptcha's and eventually made it to full paragraph's. Ironically, the reCaptcha farm continued to solve these captcha's. He eventually stopped their activity, but he said the data they generated was some of the best he's ever gotten... :P
my name "Randall Randall"

I'm not sure if that's cruelty or awesome on the part of your parents. I'm leaning towards awesome.
I like the hypothesis but I was expecting a better description of the experimental design. What kind of patterns were found by people who read Kafka that were missed by others. Were the subjects tested before reading - it doesn't say so. I guess the research paper might answer that.

But its interesting to know that there is a heightened sense of pattern recognition in those that are exposed to the unexpected. It seems to hint that this might be an evolutionary characteristic in humans that compensates for one having been through survival struggles in life.
That's why we dedicated one of our Google Summer of Code spots this summer to developing ARM support for x264:

http://x264dev.multimedia.cx/?p=142

Now we have most of the core DSP functions optimized for NEON SIMD, we can achieve realtime CIF video encoding on a ~400mhz Cortex A8. Now start doing the math...

A Cortex A9 is faster than an A8, per clock.

The chips are planned to scale up to 2Ghz, 5 times faster than ours.

Quadcores are already hitting silicon.

At this rate, there might even be a market for ARM servers in a few years--low-power, high-performance devices designed to minimize cooling and electricity costs in the datacenter.
Nice, that's really cool :)
Except for some insular subcultures (such as the Amish, to give only one example among many). These subcultures are continuing exponential growth unabated, and eventually this will affect national and world fertility rate statistics.

But such subcultures are still less than 1% of the population in the developed world, so even doubling their numbers every 20 to 25 years, it will take a while for them to have a statistically significant impact.
Gay-bashing.

Your 34% statistic is interesting, although it lacks a comparison to heterosex. However: so what? Is there some reason a subculture should adhere to majoritarian statistics? Age differences do not equate with exploitation.My father was 10+ years older than my mother.

Interesting topic but this isn't the place.
Plumbing for Joy? Be Your Own Boss
that option is there: it's the "back" button.
Indeed. Especially the serif fonts look awful to me on cleartype. I use Safari for this reason alone.
What makes you think Facebook doesn't want to do topics also? You can already make things you post visible to everyone. It's not a huge leap.
I disagree with "Avoid discussing hard work" Things should have names indicative of what they do.

Giving a costly operation an attribute sounding name is going to give some poor future developer an unpleasant surprise.
If Twitter did that it would be some sort of weird hedge fund doing hype-based leveraged Buy Out.
My startup is about virtualizing OS kernels on these processors.

I am a single founder and a kernel hacker. Single because not many people have enough skills + want to start a startup. I always wonder if there are any real kernel hackers here that might want to get involved.
http://www.l4dev.org
112 years later, an "official" Dracula sequel
That's a new angle on this: That eBay are messing around with the Skype code. My best guess is, tampering with superpeers to get short-term speed ups, versus long-term messing up Skype fundamentally.
"The correct naming of things [...] makes you attractive to women."

I'm curious about this kind of writing in a programming related article. Did any women who read this article feel discomfort when they read this sentence?

I am guessing no, but I would like for the women of this community to answer.
I know several people who have done exactly that without much trouble at all.
CamelCase in the DataBase?
Insane in the brain!

Pushing type information and other metadata into names is bad software engineering. Names should be from the problem domain and not co-mingled with implementation concerns.

The database section is so wrong!

(1) "driverLicenses": it's a "driver's license", you don't want to put an apostrophe in the table name, so go with driversLicenses

(2) SQL's not real good with case-sensitivity, use underbars to separate words in SQL, so DRIVERS_LICENSES

(3) Since you're going to use the table name in your query anyway, there's no reason to repeat it in the column names; naming your tables and columns consistently makes maintenance and automation easier: ID not driverLicense_id
If you really, really want to push metadata in there, do it as a rename so you don't step on everyone else's toes: SELECT id as myReallyLongAndUnnecessaryTablePrefixedIdentity_id…

(4) Pluralization of tables stalls your mental cache especially in combination with the table-name-in-the-column-name idea: SELECT driverLicense_id from driverLicenses, SELECT medium_id from Media? Some nouns have multiple valid plurals (do I select from the Persons or People table to find a Person?), some nouns are already collective, etc.

(5) Prefix views with "v_": uh yeah, because its much easier to rewrite queries and mappings if a view is replaced with a table than it is to type, say in postgres, "\dv".

(6) "Use a postfix to show the kind of key": uh no, use the database's type system to show the kind of key through the use of types, domains and check constraints.

upshot: CREATE TABLE DRIVERS_LICENSE (id ...)

_skidmarks for private fields? uh, if that's what your language does, fine, otherwise how about using the language's built-in visibility keywords?

StudlyCaps for method names and class properties: better to stick to the language's style guides, teaching a junior programmer to write [myDocument SendToHNews: dvmby_timeStamp] or myDocument.SendToHNews(dvmby_timeStamp) is giving them some unlearnin' to do at their next job.

"Don't make them singular because you have an ancient ORM", this is a straw-man argument that applies equally to all his naming advice as well: if you have a good ORM you can call tables "quetzalcoatl" and remap to "MesoamericanDeity". Use appropriate names in the schema and object model and let the ORM sort-out the differences.

"Oracle's Vending Machine division was once Sun Microsystems"
that's funny!
Pierre Omidyar doesn't hold an MBA, are you thinking of Meg Whitman who didn't join until quite a few years later ?
Why did you despise him as a teacher? Too demanding, too harsh? Or did he not care? Just out of curiosity.
Have you considered that one of the reasons why gay men do not particulary care about 'age gap' or anything like that is because they are not going to have kids so do not have to take turns in nurturing one or more infants from birth until they're 18 or so ?

And as for whether or not it is normal between heterosexual people to have an age gap that large, I know personally of a couple that differed 30 years in age, the irony is that she was the younger one but died in her early 50's of a heart attack (and her widower is still alive today at 90+).

Normalcy is whatever people do, you can not compare heterosexuals and homosexuals as a group and expect to come up with the same answers with respect to things like this because they are two fundamentally different lifestyles.

This has effect on all those things you seem to want to compare them to in order to prove them to be abnormal, which seems to be your main point of interest here.
Companies raise funds to buy other companies all the time. It's called a roll-up.
C, C#, C++, Objective C, C with extensions, ...
"It's simply too far removed from the (object-oriented, semi-functional) Common Lisp programming model of the last decades"

~ahem~ Common Lisp and Lisp are not equal. Well, maybe in a sense, but they're definitely not eql.

Anyway, I'm still unsure about Clojure myself (not really had the chance to dive in), but a lot of the 'unproven' ideas you mention (persistent data, STM, also lazy functions etc. etc.) have been doing the rounds in PL circles for quite a while now. It's interesting to see them taking root in lispsville, if nothing else.

I like Lisp and I like Haskell - Clojure seems to take cues (very well proven ones, I might add) from both but, like I say, I've yet to really see how well they've been married.
High testosterone - smaller smiles
Noop: A testable, legacy code friendly, opinionated language for the JVM
Because the author of the article implies that Apple lied in it's marketing of the iPhone because it didn't actually support encryption. There are two issues here that the article mixes.

1) What Apple says the phone supported via product literature, aka marketing.

2) What the iPhone software does to implement exchange support.

Misrepresenting #1 is a crime that the FTC or some government body could fine them for. #2 on the other hand companies do all of the time to make their devices work with proprietary software. This article is implying a marketing lie while describing what is a software compatibility hack or perhaps an honest bug. Either way saying "I simply can't count on Apple to do the right thing." is way melodramatic.
Ok, so there is a lot of noise.

I picked ubuntu ignoring the noise because it has a nice package system does everything I want, upgrades nicely. No trauma, I ignore the noise. It has the shell I want, and i can trivially change to another shell should I so desire.

So I stand corrected--there is a lot of noise. But I suggest not letting it bother you. Pick one, say ubuntu and go.
The usual default is that Lisp is late bound. You would tell Lisp when or where you don't want that. If you use CLOS for example, any method can be removed or added at runtime.

I'm not sure how not adding a reader macro mechanism makes the design easier. Actually the point of read macros is to enable incremental addition/change of syntactic elements of s-expressions.