skysight-inc/HackerNews huggingface dataset:
I just spent a big chunk of my life getting a PhD, so you don't really need to lecture me on the economics of graduate education. I'm under no illusions that grad school is anything like professional school. Also, I know that you're making the argument that grad student research leads to gains in long-term GDP and new industries and blah, blah, blah. Yes. I get it.

What you're missing -- the important part of my argument -- is that these gains are hypothetical and long-term. In the short term, we're paying real, present-value dollars for foreign students to get their degrees. If we then throw them out after they graduate, we are also throwing away the bulk of their productivity. We train them, then we cast them aside.

Your comments about "indentured servitude" are a straw man, and I'm not going to address them here. Also, I don't necessarily support the way that universities use foreign students to conduct research at below-market rates (it's a big part of why I no longer work in the field in which I was trained). My argument is narrow: if we're going to pay for these folks to get trained here, it makes no sense to kick them out of the country when they're done.
I'm assuming that you have first-hand experience with a) the police system or b) the criminal courts and legal system this cop is referring to. Bonus points for living in the inner-city and being familiar with drug trafficking.

That would give us a lot more context into why you think what the cops were doing was wrong, and, maybe more importantly, what your solution is to improving the problem (if there is one, which, of course, you know all about).

As Prometheus said in the comments below, it's obviously sometimes a wise decision to allow those to have an objective look at a situation -- not those who are looking at the issue from two inches in front of their face -- figure out how the system will operate.

I would submit, however, that that model is very reminiscent of the "Twitter can't scale" debate, where everybody and their grandmother is offering gratuitous advice on how the team on the ground should scale their project when they don't even know how it's built, with what toolset, and what the core problems are.
I thought it was humorous. Sometimes you have to express your raw feelings with crude words :)
If you're careful and you're not extending Fixnum, you can use Object#extend to keep your monkeypatching constrained.

I'm a bit skeptical about the severity of this problem, though. It's the same problem faced by C programmers for the past 30 years, and it hasn't really retarded library development. If anything, the Ruby problem is far simpler, since you can choose one of many different namespaces to add your global symbols to.
"simplicity is a guide to truth" is not a summary of Occam's Razor. It says that _all things being equal_ the simplest explanation is generally the best. If you have an elegant solution that doesn't account for everything, there's a problem[1]. That problem is either in the theory or in the data, but until that problem is resolved, you're not helping advance much of anything.

So, for instance, we can still (I am told by credible astrophysicists) posit a geocentric cosmology if we're willing to adapt a rather complex system. But rather than think this is true, we have an alternative hypothesis that accounts for the same data without introducing a plethora of adjustments.

But of course, gravity _alone_ doesn't count for the data, hence Einstein.

Gravity is a "simpler" explanation, but it doesn't _account_ for our observations, so it get axed.

Scientists doing philosophy without training is almost always a very scary thing to witness.

[1] Re: we don't make curves that fit every data point: those curves are not -predictive- (i.e. you can perfectly account for -known- data, but you blow when you try to predict -future- data) and hence don't provide a reliable account of phenomenon. So they're rejected on that basis.
People subject to the internal incentives of a part of the system aren't the best people to make objective judgments for the whole system.

And the alternative is ... "I'm the President, so I know what to do with schools(NCLB)" ?

Actually, you pretty much hit the nail on the head -- ask any soldier who's been involved boots on the ground in the American battlefronts in the middle east, and I betcha alot of them have a better idea of what's going on than your average news commentator or politician.

You may not like the analogy, but this very argument is the thesis of most Pres. Bush administration policy -- refusing the advice of those with what you call "internal incentives," which I'm loosely interpreting to mean -- on the ground with first-hand experience.
1. Create a great new market.

2. Wait for a Giant to come in to play.

3. Kick Giant's ass.

4. Sell yourself to Giant or Giant's competitor.

Hasn't that happened quite a few times in various ways?
and your comment as well?
If there are problems with the laws, then fix the laws.

You obviously have not had many dealings with the legal system in the United States or elsewhere. Having experiences with it both here and in third world countries, I can tell you that "empowering" a police officer to be judge, jury & executioner is just begging for corruption.

The system we have in the US is amazing. Certainly some people make it through the system without being punished as severely as they should, but that's the price you pay for having freedom.

There is no accountability when there isn't a paper trail; there is no way to appeal a faulty judgement. Just because a cop thinks someone is guilty does not make them guilty.
You can only really get the lowhanging fruit that way. There are so many different methods of optimization that you have to know where to start. You have to have a good model of the underlying system. Otherwise you won't understand why boxed integers are inherently slow. Or why an array of tuples can be much slower than a tuple of arrays.

Modern languages completely abstract from fundamental things like indirection. Consequently, it becomes almost impossible to accurately estimate the performance of algorithms in high level programming languages.

Waiting for people with experience optimizing prolog programs to disagree with me...
It's back up - or maybe it's just your part of the Internet that's having trouble.

use http://downforeveryoneorjustme.com/ if you want to check whether it's a local problem.
This would be more interesting if any of their principles defied conventional wisdom. As it is, it's no different from those "honesty, compassion, efficiency" company mission statements. Also, as I read it, I keep picturing the Google Mail inbox browse.
I fail to see how reparations for Apartied in South Africa and affirmative action in Malaysia have to do with foreign workers in America.

We are in a world-economy, this is part of the deal. I understand that I'm arguing for working 1) with people I can't understand, and 2) for less money. It's just how the game works.

edit: I despise doing The Wrong Thing (tm) because it looks good politically. Maybe that makes me a bad politician, but I work in software development, not politics. Let the politicians worry about politics.
That would be strange indeed - when you can just make up a new account instead.
No slight meant.

"If there are problems with the laws, then fix the laws."

This, of course, is much easier said than done. If we're not listening to the cops to tell us how and what laws are broken, how will they be fixed?

Accountability, is certainly a pressing issue ... but as you've been to third world countries, than you obviously know that a paper trail doesn't assure accountability or lack of corruption -- in fact, it is just that much harder to refute if there is a corrupt paper trail.

The examples given, were a perp caught in the act of beating his wife, known drug dealers, and a drunk driver ... not such ambiguous crimes.

I think we can agree there is a certain balance -- obviously the protectors and defenders need to be held to an accountable standard, but the cops brought up pertinent issues, and I just don't think you adequately addressed them with your comments.
You will be able to pull it off if you learn well under pressure. Java is consistent so it's easy to learn the basics quickly. There are some things that are good to know upfront, like j2d2's comments. I'll also add:

6) It's easy to be verbose in Java and verbosity can quickly tie you into a certain design. Either plan for more learning/design time early or spend that time learning Eclipse (fwiw, I personally don't enjoy using Eclipse, but many people do and it does make refactoring a lot easier).

7) Choosing between similar datatypes can have unexpected impacts. This is re-wording of j2d2's #3. See also:
http://www.google.com/search?q=java+vector+vs+arraylist

re: Struts 2 specifically, I like it. It's a reasonable and well-designed Java framework. I've used WebWork (which became the codebase for Struts 2) and Struts 2 for several successful projects. (Success in terms of delivering on time and the hand-off to internal developers).
I think we do have a pretty good idea how the legal system is built and what it's toolset is.

More importantly, what a police officer is allowed to do has a much bigger effect on my life (and yours) than how Twitter handles their scaling problems.
I don't know if you're being sarcastic, but there must have been something about the way I wrote my original comment that was particularly obtuse, since I seem to be attracting quite the backlash....
Perhaps we have to sort out if merely posting off-topic links is bad - or only upmodding.

From a practical point of view I tend to favor the first.
The civil libertarian in me shudders. The economist in me wonders if this could be made efficient and on-balance fair.

Could beat cops be given a budget of arbitrary punishment, enough to deliver on-the-spot 'justice' but not so much that any irreparable/irreversible damage is done?

Can there be a expedited appeals process and community or expert review to provide accountability and keep things from descending into a 'Training Day'-like scenario?

Would technology like public video of all cop interactions make such a system less prone to abuse?

It's the arbitrary informality of the process as described that scares me; delegating some snap judgment/punishment powers could be rights-preserving and welfare-promoting, with the right incentives and checks in place.
true, but the logic follows that it's not always the person from the outside looking in who has the best ability to address the problem.
Fear and loathing on the merger trail
> When we pay for foreign students to earn advanced degrees, only to kick them out of the country once they've graduated, we're cutting off our nose to spite our face.

Right, I agree with you, and I understand your argument (though I don't agree with it per se) that the return is questionable. I was just asking about your claim of "a huge number of foreign grad students and post-docs are being paid off", especially grads in high-tech industry (which is the focus of the article)
I could be wrong, but I don' think the "indentured servitude" bit is a straw man. Employers really do have the power to have someone deported via not letting them work. Deportation isn't something companies should have control over.

But, overall, I think everyone in this tree is arguing the same basic thing; it's a bad idea to throw workers out of the country.
Its a theorectical average salary. You've got a very large chance of earning nothing or almost nothing and a very small change of being a zillionaire. You get one or more attempts at getting a good outcome. The average outcome would be approximately 100,000 pounds.
Agree, this book gives good understanding about Java (platform and language.
Part of the problem is Ruby's hackish module system. When you include a module, you are taking everything, whether you like it or not.

I have created a library to help manage includes, and make them more like imports in other languages that have real modules. (You can selectively include methods from a module)
http://github.com/gregwebs/module-import/

blog post
http://blog.thoughtfolder.com/2008-03-11-real-modules-for-ru...

If this used some of your ruby parsing magic to analyze dependencies, it would be a lot better.
The structure of everything needs to be changed for that to work though. That kind of power centralized in a small group is just begging for abuse, unless there's someone trustworthy to prevent it.
I was implying that Yahoo mail sucks, regardless of the outages.
We're building a general purpose micropayments engine.

That is what we want to hear about. :)
No sarcasm. I'm not sure what it was for other people, but I decided I disagreed with you before I got to that critical last sentence in your root post.
If you've already used Drupal why don't you take a look at Drigg. I haven't used it yet but it looks pretty good to me. If you aren't a hacker I think that will be the only way to achieve what you want while still having the flexibility for your site to do other things.
I happen to have some hands-on experience in this field since I have done a lot of techno raves, and have a certain familiarity with the associated drug dealing at these events. I never endorsed or liked it but it was pretty obvious what was going on. I would often get involved as a third party between the police and the dealers to try and barter when things got a bit rough.

The problem is, paradoxically, that police officers are incredibly good at picking the good guys from the bad. I have seen cops walk in at raves and instantly spot the dealer. This gives them a tendency to see a black and white scenario where either you're the good guy or you're the bad guy - and if they have picked you out as the bad guy there's nothing you can do about it. Since they are right 90% of the time their faith in their ability is reinforced.

It's the last 10% that's the problem. I have seen innocent people being beaten up by police because they are presumed to be the bad guys because of their attitude, the way they dress or however the police sniff them out. These 10% are why we have courts to do the judging based on evidence, and not officers based on their back-bone reactions on whether you are in the good guy or bad guy category.
> after serious scalability and trolling problems arose, they reverted to regular slashcode.

That's very pertinent because reddit haven't released code to reduce spam:

From the article: There are a few portions of the code that we're keeping to ourselves, mostly related to anti-cheating/spam protection.

Anyone deploying their own instance of the reddit code will have to develop their own protection against spam, trolling and rigged voting.
Google currently enjoys a huge infrastructure advantage but it's not one that couldn't be taken away by technical change unless they were to corner the market in the production of new storage and network bandwidth.
Now when anyone tries to tell me the mounted gun turrets I have along my 20' wall are unnecessary I'll just point 'em at this article.
>There are a few portions of the code that we're keeping to ourselves, mostly related to anti-cheating/spam protection.

I can understand why they want to keep these hidden but on the other hand these would be some of the juiciest bits. Oh well. I hope one day people can come up with an algorithms that doesn't rely on 'security by obscurity' to deal with spam/cheating - I know I've tried.
Those 10% every fight back (in the courts, I mean)?
I totally don't see how this is a win. The monkeypatch problem is that multiple people are competing for the same names on Fixnum, String, Array, Hash, and Object. To solve that problem, your code would need to allow a Fixnum to support Numeric#to_asn1 in my code, but pretend not to have it everywhere else.
That's from Ender's Game.
Ah. Must've buried the lede. :-)
My usual response to concerns about competitors is "then we shall hack in the shade".
It's a straw man, because true or not, it's irrelevant to my argument (and possibly a mis-characterization of the same). I'm not suggesting that the US should enforce immigration policy that treats people like slaves; only that we should allow people to stay when we've paid for their education.

I do think we all agree...I'm just really puzzled why my comment has been received with such hostility, when we're all saying variants of the same thing!
Resource to get funded for you tech or biomedical startup
Also, corank.com
A friend of mine told me this was a Google interview question. Anyways, I'd recommend taking a look at this:

The Frisbee server uses a custom multicast protocol to distribute highly-compressed disk images to consenting clients. The Frisbee client is a multi-threaded marvel that receives, decompresses, and smacks data down on your hard drive, really, really fast. Frisbee can be used to install complete disk images or single partition images.

- http://www.cs.utah.edu/flux/papers/frisbee-usenix03

- http://www.emulab.net/software.php3
Not that I'm aware of. But a few have been given monetary compensation for unlawful arrest. (Standard pay of around $200 if the police can't give a good reason after they've arrested you)

The reason for this is probably:

1) I live in a pretty peaceful country where people (generally) trust the police.

2) These people are 18 years old and basically just want to get the party on. Most of them have never talked to a lawyer, and probably couldn't be bothered to do so if they can avoid it.
Learning the basics of the Java language is indeed pretty easy. The syntax is fairly consistent (assuming you ignore generics and annotations to start with) and the core class libraries are useful (if a bit eclectic).

Regardless, the original poster didn't ask about learning "Hello, World!" He asked about ways to learn both the Java language and the Struts stack on a tight schedule in order to deliver a project to a paying client.

That's a tall order, and one I don't think most people can pull off without expert mentoring. There's just too much material to absorb, and having so many unknowns going in to a project will make cost estimation very difficult indeed.

The original poster might be able to reasonably offer a discounted billing rate and/or more relaxed delivery schedule in order to manage expectations, but I personally haven't encountered many people doing hired-gun J2EE consulting on the cheap.
It was tried before and while they meant well the results were horrific.

Sure, but the trains ran on time.
Well, the alternative you suggested is not the only alternative. As you point out, it's a rather bad one.

Perhaps a better one is to study similar situations, talk to all members of a system and get feedback, and then make a decision based on the feedback of all involved.

To use your example, asking soldiers what they want to do will result in one set of answers. Asking generals another. Politicians another (politicians certainly are incentivised/biased in this situation). Civilians in the affected regions another.

But to come up with the most objective judgment for the system as a whole, you should get people who are not in the system, but have access to all information available on it, including the desires of all involved.
I happen to have a small bit of perspective on the situation. My mother grew up on the wrong side of the tracks and much of my extended family is still there. I spent part of my childhood in the environment, and there was a crack house across the street from my home for a small part of it. My cousin was in a gang. (This is in a major drug corridor in the southwest.)

There's a large difference between a community member as a judge and a cop who doesn't even live in the area and views those who do with contempt. This colors their judgement, and the punishment often has more to do with the perception of the "defendant" than the actual crime.

Is the justice system often worthless? Yes. Are the cops any better? Not really, and I'd find them much worse.

Fundamentally, the problem is that Johnny can't get a job because he can't do basic math or read. Jobs within their reach aren't enough to pay bills, and those who can get the jobs that pay the bills leave the community, sometimes even their own families. (Those who can are often expected to provide for those who can't, which gets really tiring.)

The role models are poor. Those who are raised in the inner city often speak with an accent that isn't accepted by those in business. And these things encourage those to get into markets that are less inhabited by convention --- grey markets and crime.

Which the police don't understand -- they just see a thug.

The solution is that the police should live in the neighborhood in which they're assigned, they should be from or previously lived in similar neighborhoods, and the judges that see cases should be similarly informed.
> If you read this book you will know Java.

Correction: if you read, understand, and write code based on that book you may legitimately claim to know Java.

Reading books about programming languages teaches you about as much about programming as reading sheet music does about composing. It's a key prerequisite, but not the same thing.
Microsoft Reveals Its Post-Yahoo Plan To Kill Google
The power of naive questions.
In Java, at least, you'll probably have exceeded the total character count of the 10th-place entry by the time you've opened stdin and parsed the first line of input.

Even the single-character type sigils in Perl tend to make solutions longer than the Ruby or Python equivalents, much less full StudlyCaps signatures.
Remote Code Execution Vulnerability found in Firefox 3.0
If I ever meet you I will KICK YOUR ASS!!!!!!
"Such" language? How do you mean? Is the particular F U C K constellation of letters somehow objectively worse than, say, F U D G E or F R E A K? He made a "wrong choice"? You understood his point, yes? He got it across efficiently, yes? Seems to me he expressed himself perfectly fluently.
The most essential features and text are placed in the easiest-to-find locations. Unnecessary clicks, typing, steps, and other actions are eliminated.

Then why does the "Advanced Search" button on the Advanced Search page fall below the fold on 800 x 600 screens? Ugh.
Official launch of the Top 100 Australian Web 2.0 Applications
This is not a solution to the problem, but it picks away at it. The goal of this is to prevent unnecessary namespace pollution. So if in your code you say

class Object
import MethodChain, :tap
end

You will never import MethodChain#chain or any other methods into Object, and you will never have to worry about re-writing those methods.
Unlike an EC2 instance, though, these are going to be running on expensive, single-vendor hardware, and won't be able to take advantage of much higher-density blade configurations to decrease space, power, and cooling requirements. There's also the matter of a non-trivial per-image OS license cost from Apple.

In other words, expect to pay a premium even over what you would for a normal full-time VPS, and don't count on hourly billing.
C'mon, dude. You wrote "You're just wrong if you think that the US doesn't pay for the graduate education of foreign nationals". Of course the thread got a little testy.

And I stand by my claim that these research-oriented grad students contribute more than they cost even in the short term. They teach classes, write code, and sign away rights to patents the moment they start their programs. These contributions pale in comparison to the long-term gains you mentioned, and the opportunity cost of losing a researcher who would have stayed in the US is very real, but it's pretty easy to produce enough to justify a research stipend even without considering those long term gains
I judge my skill level as a programmer by looking at the things I use then asking myself, "could I have created this?". Any time the answer is "no", I take that as a red flag and find some spare time to learn how it works or create a prototype implementation.

Knowledge is not a zero-sum game. Learning more in one area does not make you worse in another. In fact, I believe it's usually an advantage.