skysight-inc/HackerNews huggingface dataset:
From my point of view the whole H-1B process is a mess.

What it boils down to is that companies are given the opportunity to hire foreigners who are used to much lower salaries under conditions where said foreigners will have lower job mobility. This means that companies have every incentive to hire people more cheaply than they can hire locals. But in order to do so they have to put up a pretense of having tried to hire an American and have to swear up and down that they can't find an American to hire.

In short we're putting pressure on companies to lie and everyone knows it. However it is difficult to demonstrate whether any given company has, and it is very much not in their interest to let accusations of it stand. Is there any wonder that we get conflict over this?

What I would prefer instead is a simple market based solution. Any company wishing to hire a foreigner can upon posting a bond for that foreigner. (To cover expenses if that foreigner poses a problem.) The foreigner has no obligation to their employer - if the foreigner wishes to leave a week after arriving for a better job they are free to, but the original company still is liable for the bond.

Under that system companies have no obligation to claim that they looked for a local. However they have a clear incentive not to hire foreigners. Any company that hires a foreigner regardless is demonstrating by their action that either this foreigner is exceptionally valuable (and therefore is a good addition to the USA economy) or else that there really is a lack of available locals to do this job.
My guess is that this article is a precursor to doing just that. I expect an announcement from Jeff pretty soon about a new markdown project on Github. I don't agree with his point of view in this article, however it does sound like he knows the project pretty well and would be suited to getting it rolling again.
Yeah, but they picked such an honest, respectable-looking font.
The Collapse of Professional Journalism, Cont'd
The bit where it understands what you want and gives you one single helpful answer instead of dozens of pages of links to forum posts, each of which contain a clone of the same unanswered question as all the others, followed by some Google adverts.
Fair enough. I was expressing teenage angst, in part, because I knew things were going wrong. The angst might have been there even if society had been in a better state. It certainly was better than it is now.
Pointless graph. Ignores the way people look for info on their language. PHP is well documented so PHP users just go to php.net and know the docs will be there. I like the feel of Python and Ruby more than PHP but you don't have to look at Google Trends to know that PHP is far, far more popular than Python and Ruby combined.
Improvements to SQLCipher - Cross-Platform SQLite Encryption
In 1999, I was 13 and thought Y2K was a computer virus.
The graphs change a lot searching for "PHP array" VS "Python array" VS "Ruby array":

http://www.google.com/insights/search/#cat=31&q=python%2...

Possibly comparing a search that is about what a real user could type into the search engine is more accurate, and filters out other stuff like all the search for "Python" as animal.

Edit: btw using "hash" instead of "array" changes the results a lot: http://www.google.com/insights/search/#cat=31&q=python%2...
Math and structure in music: the Circle of Fifths
I agree. This is frustrating in many markup formats. A carriage return should turn into a br tag and two carriage returns should start a new paragraph. Simple, intuitive, where's the problem??

IMO any situation where that behaviour is undesirable is an edge case and should require more effort to work around.
The technical term is "Security Theater" coined by Bruce Schneier for his book Beyond Fear.
http://en.wikipedia.org/wiki/Security_theater
A Hands on Post From and About Google’s Chrome OS
The quiet American
Most large and dense server rooms are quite noisy. Ear protection can make them much more bearable to work in for long periods of time.
Agreed! It was a pleasure to read in the original issue of the New Yorker.
Reproductive biology: Girls on top
I checked out http://guestworkerfraud.com/ which is still accessible. I would not have any problem if it were just against H1B or "guest workers", but reading through the first few posts it seems racist. For example "So much for "high-thinking Indians" - not only are they all frauds, they are all introlerant on top of it."
Wikileaks time (once they go back to operations). This would be a good time to donate something.

Disclaimer: I do not particularly have an opinion for or against H-1B, but airing of dirty laundry(aka free speech) should be supported.
http://www.google.com/insights/search/#cat=31&q=python%2... - in Python "arrays" are called lists...
There was this guy... Graham I think his name was, who did something like this, but in Lisp. It worked out pretty well for him, I think.
I'm getting really sick of these articles about how stupid airline security is. This type of complaining is in the same vein as end-users bitching about how the IT department locks down their computers and forces them to change their passwords. We're not the experts here, and more importantly, we're not the one who have to clean up the mess after a terrorist attack.

The fact is that we have had a history of ignoring early warning signs, and that when we have taken action, we have been succesful. Terrorists make mistakes, and when we ignore them (like the Bojinka plot), it has directly led to disaster (9/11). On the other hand, since lugagge scanning has improved, we rarely see bombings like Lockerby or Air India any longer.

I think the end-user vs. IT department analogy is one anyone who agreed with this article should ponder on. When a low-level employee causes a security breach, he's not the one who has to deal with the effects. The experts have to come in and fix the problem, andm management has to bear the responsibility.

Similarly, in the event of an airline catasrophe, it's the emergency services who have to pick through the wreckage andook for bodies; the airlines and their employees who suffer financially. Pilots and flight attendants who know they are at highest risk, due to the ime the spend in the air. And leaders of countries, who can have their entire presidency redefined in a single day.

I'd rather hear their opinions than those of a professional troll lime Hitchens.
Under TDD you write tests not after you've changed code, but before you have written any code at all. Under TDD, all tests initially fail, as there is no code yet to allow the test case to succeed. You then write the code necessary to allow the tests to succeed. This is why tests in TDD are commonly referred to as a 'spec.' They serve as the actual specification for what to write next.

My take on it is that this is useful when implementing a well-known spec, like a communications protocol. It is less useful in an iterative design where the assumptions of the spec may not hold true at all later.
"Second system effect" is a term from The Mythical Man-Month - the post I replied to links to the Wikipedia entry. It doesn't imply that Quake was id's second game, or that DNF was 3D realm's second game.
A bond, hmmm, well if the bond automatically went into the bank account of the local immigration attorney, this idea might stand a chance.
I'm all for the first 2 proposed changes. They would very welcome by almost everyone. But that 3rd idea.... oh boy.

> It should be a standard configurable option in every Markdown implementation that you can switch on or off depending on the intended audience.

I hope Atwood never actually tries this. Markdown should not have any configurable options. Any attempts to augment Markdown like this should be clearly labeled as such. One way or the other the spec should make a single choice and stick to it. If someone wants something different they should create something different and use it, rather than confuse people who use "Markdown" on several sites and have to remember which options each has. ... yuck!
Selenium 2 (the Google "Webdriver" stuff) works quite well and isn't specific to Java in any significant way. If you can bring up your UI with a bunch of mocks/stubs under it, Selenium is a great way to do automated regression testing of your web UI.

On your API design comments:

My issue with TDD is that it's implicitly big-design-up-front. I used to think I understood a problem before I stated coding, but I don't anymore. So, anything I design in the beginning ends up being modified (if not scrapped entirely). There's no better way for me to understand a problem than by trying to solve it.

Also, for important enough APIs (public stuff, widely used in a codebase, or whatever), the design of the API is dependent on the problem being solved. Let's say you are building an API for a yet-to-be-developed photo storage SaaS. For any solution of significant sophistication, can you really think through all the issues that have API design implications before attempting to create the service itself? Is it better to stream back the bits of a photo found via a tag search or should a "ticket" in the form of a GUID be provided instead? I don't know, but I'll have a better idea once I spend some time solving the problem.
If the demonstration programs contain problems (ie, the tests aren't good enough and the implementations contain unexpected performance and overflow problems, as I discussed), then why should I expected the practices to scale up to more complicated problems?

SOLID applies to OOD, and an essay I don't plan to write is why I consider OOD to be the wrong solution for most cases. In any case, my point is that TDD adds very little to the process of developing good software.

I mentioned several times that TDD provides weak tests and is insufficient to guide the development process. With examples. I did not criticize unit tests and I said that that's what I use in my own work.

The 100% coverage reference I gave comes from Kent Beck. I'm surprised that he's considered a TDD n00b.

You are more than welcome to reply in more detail.
I don't know if you are adequately addressing issue number 1. He is talking more about the rule of law and a court ordering the data to be disclosed versus what you are talking about which is the technical issue of one person gaining access to another persons files via technology. One would imagine that seeing as this is a backup solution for total/partial failures, one would need to be able to bootstrap a machine from this information. If all the required information to recreate a machine was on the machine that failed then this backup solution would be an expensive waste of time. By that logic there must be a centralized repository of information at the server side thus they could in theory be forced to divulge the information on the server if there was a court order. I am not a lawyer though.
"Climate change" isn't putting any pressure on civilization, at least not yet. Only the politicians and bureaucrats who want to use it to increase their power are putting pressure on civilization. (And researchers, sucking up to the gov't teat, who want to increase their grants).
The difficulty of programming isn't from having to type too much, it's from solving problems.
I am surprised another similar site hasn't been mentioned so far: kideos.com (our kids love it), similar concept.

Tthe difference is, it doesn't have as much user participation(screening is done mostly/fully by site owners).
I do wonder how they are faring under this threat/opportunity.
I welcome the disagreement, but please don't use insults like "This is stupid". This is Hacker News, and we prefer thoughtful dialogue. May I suggest: http://ycombinator.com/newsguidelines.html
>And 100% coverage is for sissies

Depends on your project and the cost of failure. I once worked on a system that would automatically instruct semi-truck drivers to move their vehicles hundreds of miles. I spend over a week building tests for transactionality/concurrency edge cases to make sure that two trucks could not be instructed to go to the same place in error. Worth it? Yup. Should you test all possible behaviors of a utility script that, if broken, can just be re-run? Probably not.
zealotry is the hallmark of the TDD community

Yes.
While S3 storage is fairly cheap, bandwidth still isn't. I did some math for a video clip I'm working on. And 1.000.000 views (a lot, but not unfeasible for a popular music vid. Some rank 5+ million) still costs a few thousand $... Hard to make that back on ads.
Yes, but are the claims true? Have studies failed to show stopping smoking doesn't help you live longer?

And the Japanese _are_ fairly heavy smokers yet have very long lives.

That's not to say I don't thinking smoking is really bad for you. It's an addictive drug, reduces lung capacity and I've known people being treated for emphysema in their 30's etc. But the article makes some interesting claims about how politically charged the issue around smoking is, real science is getting squelched, people ask earnest questions and have their sanity questioned.

Don't know if any of it's true, but with the Global Warming "science" we've been seeing lately, it wouldn't surprise me if the risk of cigarettes has been way oversold.
It's not just the societal commentators that are calling our airline security a load of bull. Notable experts are saying the same thing: http://www.schneier.com/essays-airline.html
Thanks amix, not in Ruby so the final link could be this:

http://www.google.com/insights/search/#cat=31&q=python%2...
Even better, because Thailand apparently deported a few thousand, this site advocates the deportation of all Indian-Americans.

It's basically a hate site. I'm not sure if there are grounds for it to be taken down, but otherwise most of the posts sound like rants by some unemployed goof.
http://www.google.com/insights/search/#cat=31&q=python%2... -- In python, "hashes" are called dictionaries
Not so fast...

Some of the people criticizing the TSA (like Bruce Schneier) are absolutely experts on security.

You're also right, the analogy of IT vs the users is a valid one. In this case, the IT department has told the users that they are no longer allowed to browse the web between the hours of 3:30 and 3:38 because it was during this time that somebody downloaded and installed a virus.

Instead of actually addressing the root of the problem (our users can download and install viruses), the IT department has put a band-aid over it so that they can say that it has been fixed.
"as he has decades more experience than myself"

Decades? I doubt that.

And no, you're not being too harsh. In fact, I think you might be too kind.
Except:

A. I don't think anyone has seen a reason to believe that the TSA really are experts. For example, everyone I know has some experience in accidentally carrying contraband onto an airplane, and has seen countless ways to do so intentionally based on gaping holes in the processes.

B. We don't live in a Platonic republic, governed by experts. Our government is of, by, and for the people. Even in instances when we the people have decided to delegate some authority to an expert, it's still inherently the responsibility of that expert to prove to us that they're doing the right thing. TSA has failed dismally at that.
It's government looking out for "your interests." That said...

It is not as risky to go into business as it is to loan someone else money to go into business. You lose so much control, and people often gamble with retirement money because of a personal connection. When it goes well, all celebrate. However, it can tear family and friendships apart if it doesn't.

The government assumes that if you have the money to lose, you are also wise enough to avoid such issues, as well as those of fraud, etc, and that you won't lose your shirt because of it.

(People did lose a lot of money with higher risk investments in the market crash, leading to the 1933 reforms.)
A much better way are the points based systems found in Australia, Canada, and the UK. The details vary but it works like this: the government creates a system where each candidate is scored against. The final score needs to be higher than a threshold for the candidate to be granted a work permit and residency visa.

The government decides what to score based on its idea of what's a useful addition to the economy. In the UK these include the highest degree earned, the last 12 months' earnings (weighted by country of earnings), English proficiency, etc.

It also can add bonus points to professions it wants to attract - say nurses or doctors. The UK used to give automatic full points to an MBA holder under the HSMP visa scheme! PhDs didn't get this red carpet.
He found an easily movable good (silver stemware), located in an reasonably accessible part of most every house (downstairs, usually in the dining room), using a crime whose punishment has lessened in severity b/c of its decline in perpetrators (cat burglary) & that he had mastered (stayed in great shape, was meticulous, taunted cops, etc).

Kind of hacked the system if you ask me. Of course he still got caught...
Very impressive how smooth it is (fairly current MBP here, granted), and I suspect much more CPU friendly than a Flash variant might be.
Check out http://lab.arc90.com/experiments/readability/

This is the first article that I've actually used Readability on, and it worked wonderfully.
I don't think the analogy holds. As Bruce Schneier has pointed out in recent days, it is not that we're complaining about locking down systems in ways that make sense.

I've started to call the bizarre new TSA rules "magical thinking": if we somehow protect against the specific tactic of the previous terrorist, we make ourselves safe from the next terrorist. http://www.schneier.com/blog/archives/2009/12/me_and_the_chr...

Only two things have made flying safer [since 9/11]: the reinforcement of cockpit doors, and the fact that passengers know now to resist hijackers.

As to the current 'articles about how stupid airline security is' I'll quote again:

And what sort of magical thinking is behind the rumored TSA rule about keeping passengers seated during the last hour of flight? Do we really think the terrorist won't think of blowing up their improvised explosive devices during the first hour of flight?

Only one carry on? No electronics for the first hour of flight? I wish that, just once, some terrorist would try something that you can only foil by upgrading the passengers to first class and giving them free drinks.

http://www.schneier.com/blog/archives/2009/12/separating_exp...

Joel Johnson at Gizmodo has a good argument about all of this: http://gizmodo.com/5435675/president-obama-its-time-to-fire-...
How about just crawling through and grabbing all the polls instead of manually adding them?
It's the job of the DB package to perform as specified. The problem is that one can write code that works correctly under the wrong assumptions of DB behavior. Here's an example I've experienced:

We were building (to be purposefully vague) an auction system where an auction could end at any point in time. Bids flowed in via a queue. It didn't really matter within reason which order the bids were processed, but we had to make sure that a bid which caused an auction to end was processed in isolation from other bids that depended on the auction still being open. Our code relied upon the DB's locking behaviors (SELECT FOR UPDATE) to ensure that the code processing a particular bid laid claim to the state (auction status, etc) used for its work. All fine and good except that we didn't quite understand how Oracle implemented locking at various isolation levels. So, some code which would have worked against, say, DBUnit, failed under Oracle. This wasn't a failure of the DB, but we wouldn't have caught this problem unless we ran an integration test.
Unless of course you build many businesses, so that any single one of them is not a single point of failure.
The difficulty of writing HTML is mostly having to type too much. Writing HTML isn't programming.
One of the primary benefits I get from HN is the pro and con discussion of technology, especially if it's something I might want to use. If there are good reasons not use a technology, then I would rather hear about them before I rediscover them from my own experience.
Luckily it's not an either/or.

There's a nice balance in there where the free market weeds out most problems, the government mops up mistakes that get by and regulation prevents those mistakes from growing into systemic risks.

The only real problem we just suffered, was that certain institutions were allowed to become integral parts of our financial system and were allowed to play fast and loose with their own solvency.

If those banks weren't absurdly leveraged, the housing bubble would have just been another recession.

Lesser problems were the risk ratings that were tantamount to fraud and the short-sighted financial focus of your average corporate entity which lead to the over-leveraging.

But I'm comfortable conceding that ground to caveat emptor and letting the SEC sweep up the most egregious trouble-makers a day late, as usual. Because I honestly have no idea how you could actually _fix_ those problems without breaking something far more important.
I learned from this that Cuba is creating a secret army of rubyless programmers that it will at some point unleash upon the world.
The sad reality is that we've more or less given our government emergency powers to issue such ludicrous directives to the airlines and for what? Some semblance of security? I guess Ma and Pa Kettle feel more safe on the airlines on their one round-trip flight they take every two years to see the grand kiddies but for those of us who fly more than that, it's a pain in ass and we're smart enough to realize where the holes are in security. I've heard plenty of instances of people bringing things that they didn't expect they could through security by mistake.

Our representatives in government aren't going to revoke these powers any time soon unless we ask them to.
http://www.google.com/insights/search/#cat=31&q=python%2...

"foo developer"

Look at how Java is in decline. Also, check the map to see where most queries for Java and PHP come from.
To me, the fundamental benefit of TDD is that it proves that the code is in the state I think it's in before I make a change, and it proves that the change I made did what I expect.

I think this is the sort of statement that makes some of us foam at the mouth and gesticulate wildly at well-intentioned TDD proponents. TDD doesn't prove anything of the sort. It proves that the code passed your tests before you made the change and passed them after - which is a very, very different thing from proving the change you made did what you expect.

I'm not aware of any other technique that does that.

Because there isn't one, in the non-trivial case but there are many that try to help - from static typing to design-by-contract and of course a zillion other testing methodologies. In fact, chances are very good that what you do is not strictly unit testing. And that's fine and good. TDD didn't invent testing.

http://blogs.msdn.com/cashto/archive/2009/03/31/it-s-ok-not-...

Another rather irritating thing is the insistence that TDD is a design methodology. If you haven't yet, read the informative case of an XP adherent trying to write a sudoku solver with TDD. Here's a blog post that links to all the relevant articles - the XP'ers attempt, Peter Norvig's solution and a reference to Coders at Work where Norvig talks about it a bit.

http://ravimohan.blogspot.com/2007/04/learning-from-sudoku-s...

Long story short, if you don't know how to solve a problem and reason about a problem TDD won't help you. Neither will Design Patterns, UML or any particular fashionable technique, of course.
Not that I'm disagreeing with you but I wonder what the TSA could do to address the root of the problem?
Weird, Safari crashes once I click a poll and see the graph :|