skysight-inc/HackerNews huggingface dataset:
> What can freemium webapps learn from freemium games?

People want to save time so that they can spend more of it -having fun-. If your app doesn't create happiness directly, save them as much time as you can so they can get that happiness somewhere else. People will pay for this.
interesting. i'll test phrases like "organize city guides, recipe boxes or gift lists" and "share links, pictures, maps and products". thanks!
Might I suggest JavaScript bindings? That way, when you make the web app version the plugin API will be the same language. There's even a JavaScript interpreter with Objective-C interop written by Apple.
Sorry, you are actually completely wrong =/

All three of your examples are wrong in fact. In every case someone else is going to make money.

1. "Factory burns down -- lost wealth" -- Well a competing factory will pick up that business, sorry. Not to mention if the factory wants to rebuild, construction workers make money.

2. "Factory no longer competitive - lost wealth" Again, no. If a factory is no longer competitive, a competitor will take that business.

3. "Built too many houses/widgets/etc - lost wealth" Lastly, again, no. Let's look at the housing market which was your first mention. People are losing their houses right? Then there are people that buy those houses at huge discounts from Sheriff's sale, fix it up, resell it later for profit.

And for the paragraph at the bottom of your comment, wrong again. As soon as the gold runs out in that region, a company in another region with gold will be picking up that loss of business and making money.

Thanks for the debate though.
The reason that now it is a race to see who can write the first criticism or who can pick out the first inconsistency, is because people think that they will be upvoted for that.

So, we just have to start changing what people get upvoted for.

I think we should create a small group of supermoderators who have 10x voting power.
You are right, but they made enough that they don't have to depend on others will to work with them again - selling your soul is a surprisingly popular option when the price gets that high.
Benefits of Virtual Clients
Hey there -- article author here. Thanks for reading.

Storing JSON data in a SQL database is possible but not practical. For one thing, it's very difficult to query the individual fields within that JSON data. You also can't retrieve a portion of the data, or do atomic updates to individual fields, etc. It's something I've done before and it's just not pleasant.

The schemaless thing is to some degree a matter of taste, yes. What's not a matter of taste, as I mentioned in the article, is when you have to run an alter statement on your huge SQL dataset that takes down your site for hours.

But I don't believe that one size fits all. Some websites will be better off with a RDMS. Mongo's better for us. Again, thanks for reading and commenting.
It should be saved as its value at the point of greet's definition, but Python appears to not have real closures, so the change in the value of string afterwards changes it in greet too.
Used to be so, but Skype is free enough so people use it and the network effect keeps people locked in to the Skype network.
Really? People make it all the time. The only way to see significant differences between them is to be too close to them, and too far from anything else, to have perspective. There certainly are differences, yes, but they are next-door neighbors in the sprawling, diverse city of programming languages.
I knew you were from Pittsburgh as soon as I saw your name!

Interesting product, but your "How it works" page would be more comprehensible with a diagram or a flow chart.

This would be an excellent product if you need a short code, but $0.05 is a little steep for me. I'd rather use an email address (text@gumband.com for example) to send my SMS messages.
True. Uniques to that page were a little under 100 visits a week. In addition to adsense, we tried some Facebook ads, blog posts, commenting on other blogs, and emails to get traffic.
Sorry about this, it's my second day administering an arc.news server. I'm not sure what happened but I rebooted.
Great question! Every time you call foo, a new scope containing x is created. That scope "travels" with bar, and is evaluated (dereferenced might be a better word) just as any other variable inside bar would be - during the execution of bar. A global variable is just a variable in the topmost ("global") scope.

But my example doesn't make the distinction to clarify that at all. Here's a better one:

function colors() {
var cs = ['red', 'green', 'blue'],
i = 0;

function nextcolor() {
i = (i+1) % cs.length;
return cs[i];
}

return nextcolor;
}

Every time you call colors, a new local scope is created. Easiest way to think of scopes is as maps from strings to values. In this case, a new scope { cs: ['red', 'green', 'blue'], i: 0 } is created every time you calls colors. If the language didn't support closures, that scope would be destroyed when colors finishes execution, but in JS, that scope is bound to nextcolor and returned along with nextcolor in a closure. Now, every time you call a particular nextcolor returned by a call to colors, the cs and i variables will reference those same values. Example using firebug:

>>> A = colors()
>>> B = colors()
>>> A() => "green"
>>> A() => "blue"
>>> B() => "green"
>>> B() => "blue"
>>> A() => "red"
>>> A() => "green"
...

Keep asking if anything is unclear. I was wrong about this taking 1 minute, I suppose... :)
Calendar Printing Always Promote The Logo of Your Business
Are you sure ideas have very little value on their own?

"Some kind of city made of marshmellows" -http://idea-ne.ws/item?id=63

That idea alone is priceless.
No, but I am going to look at it now. Now I am interested in taking a look since Perl needs a web framework that is better than the standard CPAN stuff.
Who are you? Verizon?

I think you mean 0.05$ not 0.05¢. There is a difference, and it's rather significant ($25/500 vs. $0.25/500).
What are you talking about? :D
As you all likely know, there is currently a 'ghost fleet' (http://tinyurl.com/lof685) of huge, empty container ships anchored off of Singapore, due to recession-induced lack of shipping demand.

I was thinking that these would make a great ocean-going launch platform for rockets, or a mobile anchor point for a space elevator.

Having an ocean-going anchor point is good because it solves three problems easily: you ensure that the anchor is always on the equator, you can move it around slightly in the event of storms / upcoming changes in shipping / air traffic / etc, and you aren't chewing up a large chunk of probably valuable real estate.

You might cable the ships together (i.e., turn them into a giant pontoon raft) and then put a platform over the top. Weight is not much of an issue--your flotation would be incredible, and most elevator designs maintain an outward pull anyway. You could convert some of the ships to act as a ferry service bringing cargo to the elevator.
I think it is a safe bet that JavaScript (or whatever it becomes) will be more popular than Ruby, Python, PHP and Perl combined in 20 years time. And I think it will be popular on both the server-side and client-side.

But, making bets about technology 20 years out is a risky game. 20 years ago, there was no Java (and now it has come and gone as The Next Big Thing), JavaScript, PHP, Ruby, or Python. Perl was just getting started and Haskell was mostly just a gleam in some academic's eye. All of those techs are still on upward trajectories to varying degrees, and some rose faster than others, and some (Haskell, for example) have only recently started to see a burst of activity and interest.

In other words, I don't actually have any idea what's going to happen in languages, but I suspect that in 20 years, it probably won't be recognizable as anything we're using today. Because the languages most used today for new projects did not exist 20 years ago. But, I do have a lot of reasons for believing that JavaScript will slowly, but inevitably, become a dominant language for new applications on the server-side, just as it has become the dominant language on the client-side for new applications.
That's a really nice quote to post! how sweet!
Ruby is definitely strongly perl based (cross-bred most noticeably with smalltalk).

From http://linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html:

Stewart: I gather you had worked with both Perl and Python before creating Ruby. What bits of Perl did you incorporate in Ruby?

Matz: A lot. Ruby's class library is an object-oriented reorganization of Perl functionality--plus some Smalltalk and Lisp stuff. I used too much I guess. I shouldn't have inherited $_, $&, and the other, ugly style variables.
At which point the lawsuits and such start up. I don't see the problem--the delay before enforcement is irrelevant, it's only the question of enforcement that matters.
The alternative to government supplied corporations is not much better: partnerships and conglomorates, whereby natural persons accumulate vast sums of wealth, individually or collectively. The government cannot forbid corporations from forming. It does not, however, have to recognize them. Individuals can enter freely into contracts which create partnerships and conglomorates. However, this ends up at the same place. Instead of individuals hiding behind a government-created fiction, they hide behind contract law, which cannot be abrogated without undermining the nature of law itself.

Corporations, by their very nature, are a legal fiction designed to circumvent that aspect of of the free market that punishes unconstructive behavior. Such an entity should never be created in the first place, if the leaders of a government had the intrinsic integrity to hold individuals accountable, rather than legal fictions. But the same legal fictions that protect the citizens behind corporations can also protect those who create the laws in the first place. Thus, corporations are the invention of lawmakers who themselves use said legal protections.

But this gets back to what TA rightly points out: Rand's assumption that the leaders of a capitalist system have integrity is false. But this is not necessarily a bad thing in itself. It becomes bad when that lack of integrity is joined to ideology, for the two are not mutually exclusive, or when it circumvents the very laws that establish said capitalist economy. If the problem were merely lack of integrity, then pure economics would take over - the government would succeed when the economy itself succeeded, and integrity would be irrelevant. That is the essential nature of capitalism: It assumes that because greed can never be eliminated, it is best to use greed to the benefit of everyone overall.

Ideology short-circuits this process. If, for example, taxation were driven entirely by greed, said greed would act as a sort of feedback mechanism. Taxes would automatically be set at the level that the market can best bear without being impeded by the taxes themselves, and thus driving down revenues. However, if instead the goal of taxation is not to make money, but to discourage certain activities, then ideology has trumped greed, and the government ends up with fewer resources than they started with, leading to higher taxes elsewhere, ad nauseum.

No system of economics is perfect, because people themselves are not perfect. Integrity and altruism can never be presumed. In fact, we should always presume the opposite.
Is that like a black hole? A Fred of infinite density?
Think outside the box, SwellJoe.

Brainstorming has value of it's own.
No doubt, MRI has the worst GC of any programming language implementation in active use today, and the design of ActiveRecord/ActiveSupport/etc. push it over the cliff.

Even if it mostly failed at pulling it off, Rails convinced even some PHBs that Apache is not the alpha and omega of HTTP.
I agree and am peeved at myself in fact, lol. I too don't like original material being overlooked.

Lol, don't worry, I'm not offended and appreciate honest feedback and debate from others when they have something to back it.

Cheers!
"That is what commodity-based money gives you. Whoever produces or purchases that commodity has an effect on the money supply."

But in that sense, nothing has changed for fiat currency. Fiat currencies are still produced and purchased just like commodities, with the exception that governments can produce all they want to get a leg up on that game. That's what they use monetary inflation for, to cheat at currency trading and bonds games.

My point is that nobody should be "in charge" of a currency. Currencies came about through consensus in the market, not through government mandate. Nobody has the right to be the final arbiter of all "dollars" any more than anyone has the right to be the final arbiter of "time" (the only truly important resource) or "air and water" (the first truly vital resources). Monopolies are not good, especially monopolies that come about through force, which is as governments are. In a society that is claims to be free and equitable, having a super-citizen government is not equitable.

A single, mandated currency is a borderline oppressive idea. There are laws against "undermining the ubiquity and stability of the dollar". They're used against people who want to mint their own coins of their own design and use them in transactions with people willing to accept them. If people want to use something other than dollars for transactions, then more power to them. Hell, publicly traded corporations already do it, often using their own stock holdings as a medium of trade for merger deals and such. When you look at the plethora of trading (I mean this in the generic sense, not the Wall Street sense) options available to anyone with enough wealth, I think it starts to become clear that financial and monetary laws and regulations are really only meant for the working classes.
> I thought that above-the-fold still has to do with first impressions.

Sure, the original version (lets call it the "strong" version), was based on the idea that "Users don't scroll", but now we know they do, so the strong version has fallen.

The weak version could well be to do with first impressions, part of a more general, "Put the most important stuff first" rule.

I distinctly remember a forum I used to post to, where they put very large banner ads at the top of every page. I'd have started scrolling before the page finished loading - you soon learn where the real content is on a page. Add in "banner blindness", and all bets are off.

Hence the increasing popularity of putting ads between sections of content... I'm looking at you, StackOverflow.
The headline "All your favorites in lists" doesn't make any sense to me. I read a little of the blog post and then clicked through to your homepage to see what your site was about and I didn't digest it until I had gone through all your bullets and thought about it for a bit. You're making it too hard to understand something simple: "Organize your bookmarks" Use a verb in your headline - why do I want to stay on your site? What is it I can do? You can organize your bookmarks/favorites/whatever word you have for it[1]. Once I know what your site is offering me now I want to stick around and see what your novel approach is - I'm going to leave if I can't figure it out right away. The current headline doesn't hook me and in fact just confused me.

I almost didn't post this because your blog requires sign up to comment. Eliminate barriers!

After typing this whole comment I saw your subheading under your logo - take it out of there and make it your headline! That's what you do!

[1] - As a suggestion maybe show the word favorites for IE users and bookmarks for FF/Chrome users.
VoIP is easy; it's the 100% reliable NAT traversal, supernodes, DHT, and polished UI that's hard. Unfortunately, this stuff is pretty "mucky" so few open source people want to work on it.

Also, Speak Freely is pretty much the oldest VoIP code available; you'd be better off starting with something like Telepathy/Empathy.
The most boring demo you'll ever see
I agree that free market capitalism ended when the government bailed out the banks.
I think, the issue on that is what would have happened if the banks were not bailed out? Many believe, the western financial system would have collapsed and we would have been sitting amidst 25-30% unemployment right now.
Most economists agree that bailing out the banks was the right thing to do under the circumstances, and faced with the consequences.

But now that we do have a financial system that has not collapsed, we need to rethink how we recover from 10% unemployment and a gaping deficit wound that has been created.

For that to happen, we need more people like Kao, fewer like Soros. Those, after all, just examples. My point is, the system has created incentives for people to be attracted to the Soros-like professions, not the Kao-like professions.

And what we need right now are more the Kao-like innovators (and the Jobs like entrepreneurs, who, to your point, is very wealthy).

But entrepreneurship and innovation are not short-term money-making propositions the way speculation-oriented professions are.
And my point is we're diverting the youth in two directions as a result: (a) an entitlement path, where they expect the government to come to their rescue (b) the speculator path, where they are attracted by easy money.

The path that is longer, harder, riskier - the path of building, creating, innovating - is losing out in the process.
Choice Vint Cerf quote:

"Engineers are really good at labeling and branding things," said his sarcasm. "If we had named Kentucky Fried Chicken, it would have been Hot Dead Birds."
It's perhaps not helpful that HN is also full of pedantic know-it-alls (I count myself among that group).

A community of self-made people tends to self-select for a certain personality type.
What if someone decides to spam you? Is there any way to enact daily limits or to block numbers?
Burning a NeXT Cube
Job openings on Indeed.com by keyword:

Ruby: 5,978
Python: 9,802
Perl: 22,172

If Perl is dead, then what are Ruby and Python...
The fundamental flaw of capitalism is the tendency for wealth to concentrate in the hands of those that already own the capital. There's nothing to be done about it because the fundamental flaw is more like a fundamental feature.
No! I'm Paul Graham and so is my wife!
Considering how much just about every other quote in that article was taken out of context, I would expect that was too.
> For one thing, it's very difficult to query the individual fields within that JSON data. You also can't retrieve a portion of the data, or do atomic updates to individual fields

I think this may be possible to some degree using the scripting capabilites of the RDBMS, but I don't know for sure. Even then, I have to agree that in Mongo it is much easier to do because it's built-in.

> when you have to run an alter statement on your huge SQL dataset that takes down your site for hours.

That's indeed a problem. I wonder if there's a SQL database that allows instant schema changes; I can't see a reason why it shouldn't be possible technically.
I've received that exact same reception here. I've lurked HN for about a year. And I get challenges like "your karma/post count/profile length/fame level is too low for me to take you seriously".

Sorry, I don't measure a person's worth, or the quality of their statements by karma score.
Me too. This is one case where some "blogspam" commentary would have been very helpful.
(defun you-and-your-wife ()
(you-and-your-wife))
Why do you say that the value should be saved at its definition? I realize Java does that (with anonymous classes & final), but allowing mutation of closured state lets you fairly easily write things - like an OO class system, if you want to.
While you will have that experience with a lot of code, there are some concepts that don't translate so easily.

As an experiment port this Ruby to Perl:

def each (arg,*more_args)
( [] != more_args ) ?
arg.each {|l| each(*more_args) {|r| yield [l]+ r }} :
arg.each { |r| yield [r] }
end

each( 1..2, 'a'..'c', 'A'..'D') { |args| puts args.join " " }

Then port this Python to Perl:

def fib():
fn2 = 1
fn1 = 1
while True:
(fn1, fn2, oldfn2) = (fn1+fn2, fn1, fn2)
yield oldfn2

g = fib()
for i in range(20):
print i, g.next()

See what I mean?
Yup, the "upvalues" of a closure are the dependencies of the function that the closure "closes over".

So in OO terms, the reason "bar closes over x" is because bar's execution has a dependency on the value of x.
Since bar needs x to execute, we "close bar over x (and whatever other dependencies bar has)" to create the "closure".

To demonstrate some other uses, when we take "the closure [of|over] bar", we "close over bar", meaning "find all of bar's dependencies, and bundle them". The resulting closure is "closed over x", as well. I guess in this context "over" means "including". So you've got a bunch of references and a function laying around. You take a "closure" like you would a tarp or something, and put it "over" all that stuff. Now you've got the function and the references "closed over" by the "closure".

Personally, I think this terminology is a little weird and immediately intuitive to someone without a math background [1]. On the other hand, getting good at comprehending less-than-intuitive definitions seems to be a big part of CS and Math, so it's important to get used to it :)

1. There are "closed" things are all over mathematics, meaning vaguely similar things: http://en.wikipedia.org/wiki/Closed
Extremely weird. Of course I would jump at the opportunity for another person to play me, if only to get a better sense of what others really think of my mannerisms, speech, actions, etc...
Running virtual machines on hardware?

I mean thats pretty much what ganeti provides right?
Hands-On Motorola Droid OpenGL ES Specs
Firewalling hypervisors and virtual machines
Perl6 is actually pretty useable as is now also. I wouldn't say production ready but It really is real close and I can use it for personal projects already.
I signed up for MacHeist because I saw this - mostly, because I'm curious as to the difference between this and Vim's full screen mode (that I use for NaNo right now.)
Not sure why this is downmodded, as the parent has a good point. PG is definitely known for an ability to sell people their own ideas with good arguments. A person thinks, "I like programming and I program" and PG writes "Hackers and Painters" which obviously helps the original person feel good about his decision and gives him something to use to help explain his life to others. A reader of PG's essays will end up better understanding themselves because the ideas are in a context that the reader already somewhat understands.

(I think I did this for my "Why I Stick With Perl" conference talk. Instead of trying to sell Perl to people that have no liking of Perl, I tried to sell it more strongly to people that already like it a little bit. The result is a sense of well-being and a strong community.)

I was going to say, "I think this is rare", but I guess everything is like this. Fox News spins their articles to the right to make their viewers happy. The New York Times is a bit on the liberal side, which appeals to its liberal readers in a way that pure neutrality wouldn't. "A spoonful of sugar helps the medicine go down."?
Typewar — Eldarion Blog
(I should mention that I didn't know about the software until I saw the MacHeist bundle.)
aren't there email addresses for every common vendor?

yournumber@att.net

or something like that?
No, tptacek and I have openly quarreled before.

But, it was a good discussion I thought, sometimes conflict can flesh out ideas and make them stronger or make bad ideas more eligible to be discarded. I certainly took a lot away from it.

I actually appreciated the debate, it's something I encourage in my company and helps us get to the good ideas faster.
This kind of internal reflection probably happens at the minimums in the graph also. Thus helping the community reset its direction.