skysight-inc/HackerNews huggingface dataset:
Even before this law was passed, I can give you citations for American citizens who have actually been deported. I can't see how this law will make deportation any less likely. Here are some of the first few results:

* http://www.care2.com/causes/human-rights/blog/mentally-disab...

* http://www.syracuse.com/news/index.ssf/2010/07/report_hundre...

You may notice a common trend among those wrongly deported: they're most often mentally disabled and non-white. It makes the news if and when their family discovers what happened to them. You don't have a right to an attorney if accused of immigration violations (even if you are a US citizen).

I don't believe that a native-born US citizen can be stripped of their citizenship via any means. However, there are ways for naturalized citizens (those born elsewhere who successfully apply for US citizenship) to be stripped of that citizenship after the fact. This usually happens if they lie on their application (and that is the reason they ask questions like "Are you a terrorist?" on that application). There's a discussion of how that works here:

http://www.answerbag.com/q_view/376038
Maybe I should have clarified as economic freedom, outscoring Australia and New Zealand. For actual civil liberties, you are right, the government is somewhat Chinese, somewhat corporate, and somewhat people controlled.

Source: http://asiancorrespondent.com/hong-kong-blog/freest-econonom...

For the 16th straight year Hong Kong has ranked top of the ladder as the freest economy in the world, according to the Index of Economic Freedom by the Heritage Foundation. [...]

This lofty ranking is generally attributed to the efficient processing of business applications, low tax rate and disciplined fiscal management by the government.

1. Starting a business in Hong Kong takes only six days while the rest of the world's average is 35 days
2. Hong Kong's weighted average tariff rate is zero per cent in 2008
3. Individuals enjoy a sliding scale tax rate between 2 and 17 percent
4. Maximum tax rate for businesses is pegged at just 16.5 percent
5. Import duties for beer and wine were removed in 2008
6. Tax revenue as a percentage of GDP stood at 14.2 percent
7. Inflation was generally low, averaging 3.5 percent between 2006 and 2008
8. There are no limits and no screening on foreign ownership when setting up foreign firm (except broadcasting)
9. There are no requirements on current transfers, access to foreign exchange and movement of profits.
> but the recursive structures in human languages generally don't get more than a couple levels deep - the linguistic stack seems to get smashed pretty easily.

Sentences yes (figure 7 chunk limit), semantic associations tokened by words, no.
Interesting. The thing with my previous job is that it was very much a consulting job too, with which consulting was used to bootstrap its own products. It didn't have that 'Silicon Valley' feel (is there even such a notion?). It wasn't funded. Extremely laid back. Non-existent teamwork (you're pretty much left to your own devices). 80% of what I learned, I learned on my own. No mentors to look up to. Still I learned enough in that it led me to these job offers (and tons of interviews), but it left gaping holes in my knowledge-base that most other startups want (I'm quickly remedying that though).

Company 1's environment looks to be the standard Silicon Valley startup I always envisioned it to be, but still it's too early to tell if it will or won't end up being a dud.

Still, you have some valid points. I will certainly take them into account when making my decision. Thanks.
8GB Pen Camera Recorder, Cheap Pen Camera Recorder 8GB Black
8GB Pen Camera Recorder - Hd Video and Sound, Clever and Hidden Design, A Worthy of the Cheap Pen Camera Recorder 8GB.
Bag of the Day: Chloé ‘Heloise’ Leather Hobo
Opera Mini browser for Symbian-smartphones Released
They aren't learning fast enough. I've had every Apple product (~10?) that I've ever owned replaced at least once due to hardware issues. Some 3 times.
Things to consider:

1) If you drop out (to work on a business), nobody's making you jump through hoops every day any more. It can take about a year to adjust to this. You'll probably be doing nothing useful for a while.

2) Doing real things in the real world is much, much harder than it looks. If you don't have visible achievements that make you employable, don't drop out.
It is so easy to rent a Linux server these days that I suspect the only reason someone is "required" to run it on a Windows server is because, well, they don't have a good reason, just corporate-bureaucratic IT bullshit.
> This problem is not limited to the private prison business. In California, for example, the prison guard union is similarly motivated by profits to increase incarceration rates.

I happen to think that you're both right. I'd rather not see union-owned or for-profit private prisons due and I'm not convinced that we really have to choose one or the other.
I wouldn't go so far to say as there is anything wrong in closures itself, as much as a special case with regard to how it plays out in combination with the way the iterator pattern is integrated into the language itself.

I agree that in the example provided it does seem counter-intuitive at first, but v is clearly a variable tied to the the loop and there is nothing that explicitly tells us if it is scoped outside the loop or to the code-block within the loop.

If anything, I'd say it's the implementation of the iterator pattern which is broken, not the closures themselves (which I've had zero issues with).
Mainframes were disrupted by midrange computers, and then midrange computers were disrupted by microcomputers (x86 PCs). This is not to say that mainframes and midrange computers vanished from the market, but the two technologies have been relegated to comparatively small niches. For instance, IBM now has about a 90% share of the mainframe market, but mainframe sales account for just a fraction of IBM's total revenues and profits. Broadly speaking, IBM sustained and grew its revenues and profits by expanding beyond mainframes; first to PCs, and then to services.

The issue for Microsoft is that PCs follow mainframes and midrange computers, and are disrupted by some next generation technology; the next generation technology appears to be a combination of thin devices and cloud services. PCs will persist, but could become a comparatively small niche market over time. As the PC market shrinks in size, the traditional Windows and Office products will yield declining revenues and profits for Microsoft. In order to sustain its revenues and profits over time, Microsoft will need to transition to the next technology (thin devices and cloud services) or to another set of markets (e.g., services). This is difficult, but feasible, as shown by the IBM example.
I very much agree with this. Especially if you use similar C library interfacing styles, you can reuse or abstract out the glue parts easily.

About playing on both sides of the efficiency/expressiveness spectrum, the important thing is to be sure to do real benchmarks so you only drop down into C when it pays off.

Sometimes, the reasons are not just efficiency -- you may already have C code that does the right thing.
Mozilla: No 'kill switch' for Firesheep add-on
I agree, and I see the misnomer. I'm not a libertarian, so duly apologized if I did use the term incorrectly. But what I meant to say is Hong Kong's economy is very free.

http://asiancorrespondent.com/hong-kong-blog/freest-econonom...
Why should I take credit for people I don't agree with? Do you think it fair if I lump you together with people you don't like because they are in roughly the same part of the political spectrum as yourself?

Politics makes people rude and irrational.
This is exactly the kind of cultish triumphalism that put me off Common Lisp. The inability of many lispers to see lisp, like all languages, as a collection of design tradeoffs instead of the one true way just clashed too sharply with reality for my tastes.

It's certainly true that lisp has been an important testbed for many concepts that have later made their way into the programming mainstream, but I suspect that many of the traits that make a good research language may actually be undesirable in a production language.
This is a great idea. I don't have anything really to contribute to Facebook photos conversation but I commend you for reaching out the community like this.
Get Your Asus Drivers Download Done With Comfort and Ease
Hardware drivers are a significant part of your computer system and they need to be updated from time to time so that the system works in a fine orderly manner and the occuring errors are eliminated completely.
Closures close over variables, not over values; the behavior in C# is correct in this regard.
If you really want to cut spending, then you would want to cut spending in almost all areas.

If majority of voters want to cut government spending in more than 50% of areas, then spending would be cut.

In the list you provided I'd say everything should be cut.
Say, 10%/year cut until spending is at least 50% lower.

My personal preference would be not to cut interstate highway system too much, but everything else deserves at least 50% cut in the next 10 years.
As someone who already has a screen session setup, with bindings and a status bar, and auto-creating screens, is there anything tmux brings to the table?
I'm neutral on getting a white iPhone but I would love to see an iPhone model that:

* had a Back button in Mobile Safari that consistently redisplayed a cached version of the previous web page, by default. use a portion of the flash space if needed for this cache

* had a way to temporarily disable device auto-rotate -- the bane of users who are moving or fidgeting or laying down

* Photo collection synching -- why is the only way I can get them off by selecting up to 4 at a time and emailing them to myself? They're just files. Copy them to your host desktop just like all those other files they've been synching for years.

...the color white? purty, but, not a substantive improvement like the above would be.
I think there is quite a big difference, fundamentally, between BDD and TDD (though they are not mutually exclusive and do overlap).

Let's try a quick example of a google maps type app: locating where you are and where you want to be.

From BDD perspective, you get a mockup of the screen (could even be some non visual process) and this represents the behavior you want of the product: the behavioral requirements. From this mockup we can pull out all the behavior on that screen (or within that system).

Feature:
In order to see if I am where I want to be
As a traveler
I need to know my location.

Scenario: At My Location
Given I want to be at Lon XXXX Lat YYYY
And I am at Log XXXX Lat YYYY
Then I should see "You are There"

Scenario: Not there Yet
Given I want to be at Lon XXXX Lat YYYY
And I am at Log XXXX Lat YYYY2
Then I should see "You have 4 meters to go".

From this behavior we can then build out the system which inevitably leads to fine grained software specific behavior which should be tested using TDD such as:

it should "calculate the distance between two points correct"

In the case of BDD, we don't worry about how the two points are calculated nor if it is even done correctly (we don't need full fringe test coverage in BDD). We are able to assume that the underlying calculations will be correct. We do need to make sure that the behavior of the system as a whole is working correctly. In this case, we are assuming if the calculation is incorrect we will not see "You are There" on the screen. Why was it incorrect? Doesn't matter. That specific behavior, the calculation, was driven by Tests.

Personally, and for efficiency, it is really important to use both in a project and not look at BDD as "TDD done right."

Just my two cents.
I was in a very similar situation about a year ago. I ended up choosing "Company #2" - the larger company with strong benefits and big-name clients.

I primarily chose that option because I actually love the idea of developing ten or twelve smaller projects in a year, as opposed to one core product. You appear to have a similar choice and there's no "wrong" answer - it's different for everyone.

I actually quit my job at "Company #2" last month and since then, I've done some very enjoyable contract and freelance work for several of my old clients. Just to play a little devils advocate to those who say salary doesn't matter as a young person with minimal expenses: had I not taken the larger salary with the better benefits, I probably wouldn't have been able to go out on my own as quickly as I did. Just something to consider.

Overall, it seems like you have two fantastic opportunities to choose from, and I think you said it best - you'll learn a lot at either company. Your choice is largely a matter of personal logistic preferences: small team vs. large, startup vs. established, multiple products vs. core product, etc.

Good luck!
So You Want a PhD in Political Science
Ask HN: Suggestions for learning a new framework/platform for a .net developer
I'm a programmer with fair amount of familiarity in ASP.NET, WinForms and WPF development in C#. I'm looking forward to learn a new language/web framework after reading lots of posts here in HN where users tell their experience in developing weekend apps in platforms i'm not familiar with.

So suggest a new language/web framework for me.

Requirements :
1) Should be hostable on a linux server (main reason why i want to learn a new framework).
2) Languages/platforms similar to C# and .NET will be appreciated. (need not be very similar. just not a radical difference in how i code)
The low number of trademarks on their legal page, the up to date privacy policy, and the complete transparency about how the data is stored has me completely convinced that this is a legitimate operation. </sarcasm>
What if remaining IE 6 market share is web designers testing for IE 6?
Writing those tests feels like proofing mathematical theorems

Uh, not really. Have you ever written tests for functions in math? It's a pain in the ass once you get past 5 variables. This is why we have proofs in the first place, to prove that something is true for each and every case without having to run through every test...
The benefit of an ORM (apart from database independence) is that it lets you use the database as an object, something more natural to the particular programming language than raw SQL queries.

While on smaller scale projects ORMs might seem like an overkill, once you're dealing with a more complex setup (not neccessarily complex on the database level, but on the application level), you will want something that makes the database easily accessible in a consistent way.

Consistency is another key point. If you write raw SQL, there will be different queries that do similar things all over the place, unless you collect them into a wrapper class of some sort. At which point, you laid the foundations of your DIY ORM.

It is less efficient than hand-optimised SQL in most cases, but on the up side, ORMs often make the application development easier and faster, which, in my opinion, is a good trade off.

To name an example... Lets say I have a table of Authors, and another with Books, and I want to retrieve a list of books by a particular author, and display that in a template.

Without an ORM, I'd write the SQL, stuff the results into some variable the template can then process, and display it. With an ORM, I the query and stuffing into a variable part is done by the ORM. I get back a result object with clearly defined properties, which is easy to display.

In SQL, I'd do a 'SELECT * FROM Books WHERE author_id = (SELECT id FROM Authors WHERE name = "Famous Guy")', and stuff the results into a simple table, on which the template can iterate over.

In - say - Django ORM, that'd be:

books_by_author = Book.objects.filter (author__name = 'Famous Guy')

Simpler, isn't it?

And once you want to add pagination, displaying 10 results per page, you will have to tweak your SQL to add LIMIT support. With - again, with Django - a good ORM, which does lazy evaluation, you can just do:

books = Books.objects.filter (author__name = 'Famous Guy')[0:10]

Or something similar, and it will Do The Right Thing.

This is why I love ORMs, they already implemented all the neat tricks I want.
I met nedwin and kiwidrew at the last one I think. There must have been at least 30 people. I'll look him up. Thanks again.
I know about it the vulnerability and I still login to facebook in public places. It's like the locks on our front doors.. you don't break into everyone's house just to prove they aren't very good do you? I know you could just smash my windows, but you don't, and I appreciate it. It's facebook that needs to fix the bug, not me.

Maybe send the first message, but don't be obnoxious on purpose. I dunno.
I imagine some people, having seen spyware popups one too many times, just thought they were infected again.

"You're in Toronto, your IP is 99.12.34.56, your ISP is Rogers, you're using Windows XP! Thieves can steal your info! Download our antivirus now!"
Even though I never fully got the hang of F#, I must agree on this one. I like C# as a language, but too many magic keywords just starts smelling wrong.

Having a compiler do work for you and simplify your code is nice and you wont see me complain about this feature in particular.

On the other hand, I've made enough monadic extension classes (NullSafety, Object-transactions, etc) and extension methods to cover up for short-comings as I've seen them in my projects, and it always bugs me how this effectively forces me to clutter up my syntax.

Consider the following code

var x = GetSomeObject() // can be null
.SubProperty // can also be null
.Indexer[index]; // can also be null

This code can cause NullReferenceExceptions all over, so to do it safely, you need to add a bunch of if (object == null) checks.

With my NullSafe-extensions, the expression looks like this:

var x = GetSomeObject().AsNullSafe()
.Do((x) => x.SubProperty)
.Do((x) => x.Indexer[index])
.Value; // can be null or default

Within the C# type-system, there is no way to get around this clutter and massive use of lambdas. Granted, it looks better than the corresponding code with manual null-checks for every step, but with lambda expression comes the cost of not being able to debug & correct code at runtime.
This really needs to be on CNN and such for people to actually think about it. And realistically it looks like we all need to start using SSL - people aren't going to change their browsing habits.
ah. ok. That totally make since. I guess my concern in holding up HK or Singapore as shining examples of economic freedom and efficiency are that both of them come with pretty terrible cases of second class citizenry as a direct byproduct of their economic freedoms. (I know this is not at all the point you were trying to make)

Go to any apartment in central in HK and you will find a 5 by 5 foot room serving as maid quarters. Then go out in central on a Sunday afternoon and you will see the streets packed with Malaysian and Philippine maids. Then go look at the stats on the number of Chinese businessmen kidnapped in Malaysia and the Philippines every year and tell me there isn't a problem. (http://en.wikipedia.org/wiki/World_on_Fire)

This problem doesn't exist anywhere in mainland China or Taiwan. And ultimately it is hard not to view it as an ugly byproduct of economic liberalism in these particular cultures.
Well, as others have pointed out, there is a difference between 'make a donation and we will send you something' to 'we are selling laptop stands - click here to buy now!'. There is no reason you cant just go straight for the latter.

Thanks for asking about my business. I sell tools for grafting trees via http://www.grafting-tool.com/ . It’s a very small business, that I setup in my free time - the website sits there and takes orders, and every week I spend an hour or so posting tools and answering e-mails.

At the moment I'm actually kind of stuck at a local maximum, of 1 or 2 orders a week. There are a million things I could do to improve the business, but with so few customers it’s hard to know what is actually making a difference. It’s impossible to do things like A/B testing to figure out what is working and what is not. Case in point - I tried cutting my prices in half, and the number of orders actually seemed to drop! However it’s impossible to know if I was just having a bad week, or it actually made a difference.
Innovation in Asian countries is a huge problem. Part of this is Confucian values. I was educated for two years in Taiwan (my dad's company forced us to move, I was the white-washed Asian). Those brutal memories: I had to stay after school and take remedial work in the Chinese brush because I was barely literate, and every time my stroke was wrong the teacher would slam the brush against my fingers. We had to memorize poetry from Tang dynasty. If you missed even one character, you would miss the entire thing. No sissy partial credit.

When I tutored international students from Asia, the largest hurdle was to get them out of this box thinking. They wanted to be told how to write an essay, and they were asking me which side to take because they wanted to agree with the teacher. I said that was your job, that is what the teacher is testing you.

Except, when I read drafts of the essay, it read like a poorly plagiarized text of the history book. I said, you have no argument. You need to take a side. They blamed language difficulties, and I said, even if this were written in Chinese, you have no argument.

The main thing is that Asian countries value system and structure, and view that we stand on shoulders of giants. The problem, though, is they're highly trained and would out beat most US students on the SATs. Platonic systems have spurred a lot of innovation, but again, in the US, our foundations are weak: any moron can think he is genius in the States. The US education system is an interesting beast--it spurs innovation around college, but weak foundations during middle school years

For many industries, good foundations are keys to success. For software, though, you need to be able to be free thinking. Maybe this explains why China copies a lot of our software!
I am so in!
I think Windows 7 is pretty good, but I think the record adoption rate of it has quite a bit to do with how bad Vista was (and its terrible reputation); it created a void that needed to be filled, by anything that wasn't as terrible as Vista. Remember, Windows XP is really old.
There is, however, a somewhat deeper concern. Namely that providing the tools that makes misdeeds easier makes a person accountable to a degree.

Under law? I mean, I know there's a similar law where I live (Greece) for prostitution, and it's equally ridiculous. Tools, the objects the article is so adamant to categorize Firesheep under (and rightly so), are lifeless, inanimate assistants to whatever purposes a human puts their mind on.

I think it's downright ridiculous to blame a tool, or a tool maker for that matter, for the actions of its users.
If you walked by someone's house and their car was sitting in their driveway with all the doors wide open and a box of personal documents in the back seat, you'd probably knock on their door. If the car was still there after an hour, you'd probably knock again. I sent only two messages, and they were short and to the point.

(edit) What I mean here, is that to know that someone's door is unlocked, you have to check each house. To pick a lock, you need some rudimentary skill. Firesheep (and the underlying vulnerability) is wide open and requires 0 skill to operate.