skysight-inc/HackerNews huggingface dataset:
As I tried to make clear throughout the post, I'm not really making an argument for a huge amount of threads, or programming that involves a lot of exposed shared state.

I'm making an argument about how threads are used (in real life) in web development, an area where it's trivial to make concurrency and synchronization someone else's problem. Despite this, I've heard a number of hypesters throw around the idea that this scenario is an example of whether threading fails and moving to async is required.

I agree with you that this is a weak argument, and I hope to see people understand better the difference between:

a) an application that NEEDS to handle huge amounts of concurrent users (because most of them are idle for most of their lives), and

b) an application that spends a non-trivial amount of time using the CPU, and therefore does not need more than a few threads to fully utilize the CPU

There are different cases, and while those of us with a good grasp of the subject understand the difference, a lot of people have conflated the two ideas, and then further conflated the problems of thread synchronization in these cases as well.
> Too many startups and small businesses are in jeopardy.

No they're not.
It was downmodded because it's been spammed so repeatedly on HN for ages. As a means for karma whoring, it's at the bottom below linking to xkcd comics or pg essays as the full content of a comment.

I had been hoping that pg would blacklist comments containing the URL, but I guess that's out the window now.
If Google/Verizon get their way any new (or existing but not participating) major competitor can be throttled to oblivion.
The Best Method to Master a Foreign Language, Guaranteed:
http://news.ycombinator.com/item?id=1381278
Does anybody believe that software patents are not broken? It really seems obvious that they are, but have been looking for a counter-argument. There must be somebody out there with a good defense.
To make it even easier: http://viewtext.org/?url=http%3A%2F%2Fblogs.sfweekly.com%2Ft...
Microsoft's trivial patent on two-pass compression
Thanks for all the feedback about the popup. Will get that fixed right away. I am not tech-savvy enough to fix it myself so it has to be on Monday :(

Cheers.
If there was half as much outcry over the Obama administration and Congress doing nothing on net neutrality, Google would never have needed to compromise in the first place.
I think you and I probably agree that it'd be a bit of a fools errand to try to make Rails apps more asynchronous. Rails works fine, and as a synchronous design it's straightforward to thread.

It was things like the comparison to Node (which I don't use) and the comment about how well async had worked for you in browser js --- which implicitly somewhat demerited serverside async --- that made me think you might have been reaching for something more ambitious with this post.
Even if there's prior art I wouldn't have the money to fight something like this. So there goes a week of work on a faster gzip.
The article never states these are the only two options. I don't know why that conclusion is being drawn. But everyone has a right to their opinion so I can't stop people from making their own assumptions :)
Thanks for the note. Will get the popup fixed soon.
When there is no author listed the author is Pamela Jones. She's the creator and editor of the site. A quick visit to their "about us" page, wikipedia, google, etc. would have told you that. So yeah... FUD.
I would say that it was in 1969, although I wrote my first program in 1964 or 1965.

When I was a soldier in the USArmy I spent the latter part of my enlistment as an assembler programmer on a UNIVAC 1005 computer (4K memory, 80 column cards, ...). At some time during that experience I decided that when I got out of the Army (in 1971) I would go to school on the GI Bill and study computer science. That's exactly what I did.

I have been programming professionally since I graduated from UMASS, Amherst in 1974. If I have my way I will never stop programming.
Ah, but did that strategy work?
Sorry about that :)

I explicitly referenced a chat server (lots of concurrent, mostly-idle requests) as a case where I'd personally use an async solution.

There are certainly middle-ground cases where the question is muddier (and more religious, likely), and I just wanted to set the record straight that Rails itself is not really in the middle. I'm glad that you agree :)
heres the way to do it incrementally in a way that plays nice with having more text than you have ram, programmatically:

first split the file into chunks that will comfortably fit in ram, depending on the encoding of the file and the language's default encoding, allow maybe ~2x blow up in memory size, though experimenting is more accurate than guessing.

Then sort each of these files in place.

then have a program then opens all these smaller sorted files, and does an incremental line by line merge that compares them over all these files, with the case of two lines being equal to drop one, and write the lines that are unique to the result file, and then tada!

i actually first dealt with this problem on a programming interview, and I quite liked how instructive an example of out of core programming it was.
Thanks for the clarification. Looking at the discussion here itself is a validation for the article at some level. It is a simple article presenting conclusions from a series of interviews with reasonably smart people.

The conclusions are being over-analyzed which is the characteristic of very smart people. HN is a community of such smart people and I am not at all surprised that it is being over-analyzed here :)

Cheers.
The Apple Stores seem to have been doing well even before the October launch of the iPod. (See http://www.nytimes.com/2001/07/12/technology/to-cash-in-on-a... from July: "But Apple estimates that the stores will break even by the end of this year.") However, it would also have been difficult to predict that Apple would redesign the computer retail outlet so effectively.
Forget the IRS -- just legalize it, period. People have the natural right to produce, trade, and ingest any substances they choose -- even to the point of injuring or killing themselves. I don't support legalization for your pragmatic reason of enabling certain people to dip into other people's business. I support it because it's the right thing to do.
>We find this principle to be self evident, that all internet traffic is to be treated as equal.
That is it. No complex case law, no little print, no arcane law language.

What about botnets? worms? DOS attacks?
I don't think you can do that with Javascript or Node.js. When you have a callback, you lose all stack above it.

See, I wouldn't even call that "evented code" in the way that people are using the term, regardless of what it says on the tin, precisely because you aren't losing the stack frame here and can still catch exceptions and such. Evented to my mind is something like Node.js is when you have to chop up your code manually. At least, I've never seen anybody demo Node.js code that isn't chopped up manually and I am at a loss as to what features of Javascript would let you translate that Ruby snippet directly without losing something fundamental about the stack.

Under the hood, everything's event-based (with optional preemptive multitasking), there's just varying levels of compiler optimization that affects how much you have to do manually and how much you have to worry about it. The inner event loop of Erlang and the inner event loop of Node.js and in fact the inner event loop of just about anything nowadays looks pretty much the same.

That's not the way in which I say evented code blows up. If you can write like that, it doesn't blow up, because you don't have to sit there and basically manually implement your own stack handling if you want anything like that sort sane exception handling, it all just works.

Since this is a terminology issue there is, as always, grey areas, but since I mostly use the term evented in the context of the Node.js hype I tend to use it that way. I've been doing stuff like your snippet for a while too and it hasn't blown up on me either, which is why I'm so down on the style of coding Node.js entails, which does.

The point of my snippet is not that that is a brilliant choice intrinsically, the point is that you don't have the choice and end up implementing anything like that manually.
Thanks for the comments. The "C'est la vie" comment was specifically about another comment which focussed on things totally outside the article - like newsletter sign up etc.

I will definitely think about your comment and discuss it with my mentors. There are people who I take advise when it comes to these aspects ( blogging, writing ).

Thanks for the advice in any case.
Exactly, it's what got Twitter famous in the first place. I applaud their perseverence, it takes a good amount of will to stick to your guns and insist that you have made the right choice when everybody else is telling you otherwise.
The popup was not a gatekeeper and you can easily switch that off without signing up to the newsletter.

Having said that, I have made a note of the feedback on the popup and will take action to fix that.

Thanks.
Thanks for the great feedback here. Noted it and will act on it. Unfortunately I can't do that until Monday as the person who can fix it won't be available until then :(
I agree with you. Learning to understand the spoken language is the most difficult aspect. Pimsleur helps with this. It gives you an early view through that window, so you can see what it's like to understand the spoken language, and prepares you for understanding the language in the wild.

I think the choice of whether to use a grammar or not depends on the student. If you're a beginning language learner, then it may be best to put it off. If you understand the concepts of declensions and conjugations (and the different tenses, moods, etc. typically encountered), then a grammar can be a quick way to get the lay of the land.

One of the first things I do is to learn the personal pronouns, articles, and conjunctions (short work). Then I'll look at "to be" and "to have" (at least for the Indo-European language family). That way, when I start listening, I've got some scaffolding upon which to start building my understanding. This is one of the few areas where learning a language as an adult has an advantage over the immersion of a child--you can use your cognitive capabilities to take a short cut.
Point noted and thank you.
an in-memory set won't work. indexes don't have to be in memory all the time to provide log N lookup, I mean just think about how b-trees work.

...and this is a problem most databases have addressed.
"It's a hardware problem" is a programmer problem
The results are mixed. But their execution must be separated from the need that prompted it.
You left out a few things that might be helpful:

1) What kind of work are you doing? Web sites? Mobile Apps?

2) What does that $1000 get you? Full time or part time, and how much of that work is completely independent?

Also, if you ask me, having too much work is a good problem. Still a problem, but frankly too much work is better than not enough. That said, you're leaving money on the table, so if you think that hiring someone for $1000 month will get you more than that, it's probably not a bad idea. Being a CS student myself, I'd say an extra $1000 a month is probably worth being intermittently employed if you're worried about occasionally not having work, but thats my personal opinion.
Nice try, another Max identity :P
I'm pretty sure they mmap the file. J and K are both designed for doing an operation over massive collections. You'll have to read it off the disk one way or the other, though.
The most important thing to do when learning a language is to practice the activity you intend to use the language for; it would be difficult to become a good speaker without spending a lot of time generating speech.
How about ex-employees?? ;)

edit: As a more serious answer, it needs to be someone who can offer something back to people who paid to go. People interested\ practising new ideas such as Lean Startup, open source software etc could be valuable to the conference but likely be able to justify the cost.
What browser are you using? I checked it with Safari, Firefox and Chrome on a Mac and the tweetboard plugin was working fine. Please let me know.
This is a worthwhile point to chew on. While I'm not sure how comfortable I am with the new Google developments, they said something I sympathized with in their blog post this week:

"...we urge you to take your views directly to your Senators and Representatives in Washington."

(http://googlepublicpolicy.blogspot.com/2010/08/facts-about-o...)

I felt like they were saying, "Help us out here folks. It was hard enough to get to this watered down policy."

Again, I'm not defending their end proposal, but we do need to spend equal energy presenting our case our representatives as we to Google (when it comes to policy).
Of the fonts that are widely compatible on the web, I like Georgia and I especially like Palatino - it's way under-rated. Both are serif fonts.
It misses the big and obvious one: Grants and loans cause price increases. This is pretty much well accepted by economists, but a simple example:

Imagine Warren Buffet announces that he'll pay anyone who buys a used car $5000. What will happen to the price of used cars? It will go up.

Imagine Warren Buffet announces that he'll lend anyone who wants to buy a used car $5000. What will happen to the price of used cars? Again, it will go up.

There are lots of reasons for it, but a lot of 18 year olds just don't understand what the loan application they signed for $40,000 for the upcoming year's tuition really means, since they've never earned or spent $40k before. Unfortunately, student loan debt is pretty much the only kind that can't be discharged by bankruptcy, so students are stuck after getting it. And college prices keep going up.
You've lost me. Nothing in this code depends on having a single consistent stack from main() to handle_next_request().
That sounds an awful lot like merge sort.
First amendment...

"All user requested internet traffic is to be treated as equal"
Hi Tom,

Yes, I think its a viable business model. But I worry you're jumping the gun a bit bringing someone on fulltime.

In general, I think a good progression for freelancers looking to expand capacity is this:

1) timeshift to increase your own capacity (can you schedule customers, or is it always now-or-never?)

2) hire a contractor

3) hire an employee

If you can increase your own capacity, do that first. If you have to bring someone on, do it on a contract basis to limit risk. Eventually it might make sense to convert that contractor to an employee, or bring someone else on full time.

I would also put up a website and focus on getting business through your own brand, outside of RentACoder. RAC is great, but its never good to be dependent on one revenue source.

Best of luck!
Since PC retailing gross margins are normally 10% or less, Apple would have to sell $12 million a year per store to pay for the space...

Yeeeah, I think I see the author's problem.
or VOIP, ER imaging data, realtime video...

Also, Google has its own fiber which carries only Google packets. Not exactly net neutral there. And Google's control over site ranking in search results affects traffic prioritization on just as large and deterministic a scale as AT&T's hypothetical packet ranking.

The issue is way more complicated than people realize.
Mixed feelings about this.

Opensource good M'kay

But what if somebody gets a number in the wrong place and their call drops every other call in the cell?
So makers have to suddenly start hardening their cell controllers against bad packets, the cost is passed onto users by some networks, others just crash whenever anyone with an XYZ brand phone starts a call.
Im not so sure. there is a clear difference here. With SCO the majority opinion was that SCO are full of it and will loose. I don't think many people stopped using Linux as a result of the suit.

In contrast I can clearly envision a vendor deciding against building an Android based phone in fear of future royalty payments etc.
Here are a few of my solid guesses.

1. A destination site that is closely tied to a mobile hardware device. (Apple, Google and MS have the closest chance with this). +1 if company has TV expansion to get the rest of the population.

2. Implosion. Internal conflict most probably from investors/shareholders vs. leaders.

3. Site-wide security breach that affected more than 30% of users and had serious and press-juicy consequences. The issue should persist for more than a week.

4. Zuckerberg's death or serious illness. (non-issue if a strong leader emerges)

5. Talent migration. This is inevitable as there will be fewer and fewer challenges left to excite sharp minds (3-5 years)
Those, too. They are problems to be dealt with at other layers of the OSI stack, the ones above "Transport."
I think of that component as a very good area for a startup, which is why I'm part of such a team. I don't think it's unrealistic for one person to use Twitter, Flickr and YouTube for their social networking, while another person uses Facebook and LinkedIn; both should eventually be able to share with each other through a service that specializes in bringing everyone together.
Yes "implementation" is hard work and that part adds to the complexity of solving one's problems. You cannot stop at advice but have to follow through with following that advice :)
You're joking right? That is the whole point of Twitter!
Yes but that sort of means something, abstraction.

When new things come out or new ideas emerge people just 'hack' them and viscerally create. Hey I need this form, bust it out. Hey I need this renderer, bust it out.

But later as things are more known you might abstract away and say let's take a step back and look at the architecture of this whole thing rather than bust it out in a prototypical fashion (usually because the problem is complex or stuff is broken and a maintenance nightmare with steep technical debt). You might even architect the plan for what prototypes you would make to help solve the problems.

So true things being architected are happening more frequently as a buzz but as systems mature that is usually what happens via abstraction to see the full picture.

Maybe the difference is a 'hack' is something I am doing right now until it works, almost a prototype. Then something 'architected' is what you would do when you think about it for a week or two before starting. Lots of software development for instance starts with hacks/prototypes then architects how to use those to go to production.

Both sides are representations of the poles of creating, of course you can go way beyond either side and eat some spaghetti hacks or go to space with some architecture astronauts.
That's awesome, and exactly what I was looking for. Thanks!

I found that the postgres gem, the most immediately important for me, isn't listed. Do I need to be the gem author/maintainer to register a gem, or can I just add it?
http://www.youtube.com/watch?v=9046oXrm7f8 seems to be the answer. See also http://www.wired.com/gadgets/mac/commentary/cultofmac/2006/1... . You can also see how the Digital Hub idea evidently influenced the layout of the Apple Store http://lowendmac.com/orchard/08th/roots-of-the-apple-store.h... : the stands devoted to a particular kind of task, with appropriate gadgets attached to a Mac.
> It is hard to foster good friendships without face contact. Don't matter what the resolution of your Skype video, it is just not the same.

I haven't entirely found this to be the case, though it's different. I'd say my closest friends are about halfway split between people I mainly talk to online and people I mainly talk to face-to-face. With a handful of people I do both frequently, but with some people one or the other feels more acquaintancey--- there are people I'm good friends with IRL who I only exchange matter-of-fact type of information with online (locations, phone numbers, times of events, etc.), and people I'm good friends with online where hanging out IRL feels really weird and acquaintancey (get a beer and talk about the weather or something).

Textual communication with someone who's also fluent in it feels to me like speaking another language; has a different set of strengths/weaknesses, cadences, emotional cues, etc. than spoken English does. The fluency is important, though: maintaining a text-chat-based friendship with people who didn't grow up on BBSs or something similar is much harder in my experience.
Seems like there is a great business opportunity in here somewhere. Something like SSL certs but for identifying brands being sold online. I understand the basics of encryption and digital signatures but not enough to see immediately how this could be done reliably. Maybe the retailer would register with the manufacturer and receive a temporary or at least regularly updated private key to use in dynamically requesting a "badge" of legitimacy to fetch and display on the page. This might require browser support to be truly effective, as with https changing the appearance of the address bar. Someone should jump on this. I can see it being an indispensable web feature as more brands suffer counterfeiting online. Of course, it's already a problem offline in many ways but at least online one could be reasonably proactive in mitigating it. $2500 a pop in legal fees to shut down an illegitimate counterfeiting competitor is exorbitant and the problem could be solved more cheaply and efficiently.

EDIT: spelling (typed this on my phone)
If you have over 1000 friends I'm not surprised Facebook is difficult for you to use. 1000 friends is a frighteningly large auditorium of people. Facebook is far more usable at or under about 100 friends.
Ask HN: Is there a centralized list of angel/superangel investors?
I know there are things like the open angel forum but is there a list or website we can use to get info about angel investors looking for companies to invest in?
In answer to the title: Yes, it is. Every country on the planet that has legalized one or other drug has seen only positive results from it (Portugal, Switzerland, The Netherlands, to name a few). The "war on drugs" has never, ever sported any success or any result in combatting this supposed "problem"; a problem that a ban itself creates - the very second a government bans a specific substance it loses all control over it, and non-governmental bodies (cartels) will instantly gain control over all accessibility of the substance in question - completely beyond any government's reach - and drug-related crime arises from this very point in a twofold manner: the cartels' fight over dominance, and the actual legal tag attached to anyone handling said substance. The only way to get rid of the problem is to LEGALIZE the substance, REGULATE IT, and thus regain control. The last time the USA were taught this lesson was during the prohibition, when it took them 14 years to realize how stupid their mistake was. The current lesson has been going on for over 80 years, costed thousands of thousands of lives, and billion after billion of tax payers' money. How much longer will it take?
Apple's secret to ongoing growth and success is introducing a major new product category every few years. Six months takes nothing out of that--the long term visionary work Steve Jobs does can be missed for six months without much impact. Six years and Apple would be in decline.
Hmm, I've never actually seen a "chinese trade site". I am guessing this is what many people use to make money on ebay or shopify account. Do you have more info about chinese trade sites? A blog you could recommend? Or any info at all would be interesting.
Friendster and Myspace were at least an order of magnitude below Facebook in terms of popularity. Myspace never extended very far beyond bands and sixteen year olds, and Friendster didn't even get as far as Myspace.