skysight-inc/HackerNews huggingface dataset:
CoffeeScript's approach toward top-level variables is quite elegant and simple. When you declare a variable at top-level scope, it is equally available to all code within that file for both reading and writing, with no strange "nonlocal" or ":=" syntax to complicate manners.

Once you understand the reach of CoffeeScript's top-level variables, it is easy to write bug-free code. Since you know that top-level variables have wide scope, you simply need to be judicious about putting variables at top-level scope. If a variable is not needed at top level scope, don't put it there.
Spammer scum. This one keeps reposting.
because none of those languages can be compiled and run instantly with any web browser, anywhere on the planet. you can write some javascript and run it right now, without even opening text editor. javascript:alert('hello world') in your address bar. It's that simple. Alerting hello world is not much of a first program, but i'm just illustrating how dead simple it is to get someone to write a line of javascript and see results.

Most beginners these days aren't really interested in your 'robust and scalable applications'. That is not where beginners need to start. At least if they start with javascript, they can see some value in continuing to learn programming. If that brings them to 'robust and scalable applications' then they'll migrate away from javascript if need be. But to say that javascript is far down on the list of first languages is just an asinine reaction that shows you don't really comprehend the problem of getting people to learn to program.
Way to miss the issue. I was not suggesting ":=" for global variables at all. I was suggesting ":=" as a replacement for the nonlocal keyword that Python 3 has to solve the issue I was demonstrating.
Hey Emmet, we're one of the companies interested in continuing IndexTank's platform.

If you want to hear more, just ping me at emil@helpjuice.com
There is a saying that goes, "Everytime you point your finger at someone, 4 fingers are pointing back at you!" So, here I sat writing about how this particular writer needed more positive mental process so that he would not look at the world so gloomy, thus this was my perception.

Then, there is another saying that goes "There is a principle which is a bar against all information, which is proof against all arguments and which can not fail to keep a man in everlasting ignorance-that principle is contempt prior to investigation." So my apology again, as I finally went on the website in question and it was exactly the opposite that I had conjured up in my mind, of being sour and pessimistic. I have been drawn to this topic so needed to learn something here. I thank you for your patience and the opportunity to speak my mind.

I am also not a developer though desperately trying to learn a little as I keep paying hundreds and thousands of dollars on a Drupal site I can barely understand. I need at least back office proficiency. Speak up if anyone knows the best practice of narrowing down good Drupal "teachers." The author here is obviously highly intelligent and well read, so if I had simply practiced a little zen mind and offered out an empty cup perhaps a little knowledge could have been poured my way. Great post here--
Suicide is permanent solution to a _temporary problem_.

This isn't always the case, even if it seems that way to outside observers, though I definitely agree that it usually is and that suicide should never ever be taken lightly. Most problems are temporary and seem a lot worse at the time than they really are.

I hope those people can get help.

Agreed.
Needing two exchanges instead of one is a disadvantage in the short term, but a big advantage in the long run, because the receiver of money can whatever exchange they prefer, rather than they expect to be most popular with their audience. In essence, Bitcoin is an open protocol for electronically transferring wealth.
I'm surprised they didn't bundle a webserver into the thermostat and let you connect directly to that (or maybe they did that as well?).
I'm sure it has some plus in terms of hiring. Not that I'm implying he's doing it for that.
See also: how to make sure that someone who had a horrible work environment never, ever, finds a better one.
I'm a dev. I carry an iPhone 4 and a Galaxy S.

I hate the Galaxy S.

Disproven by counterexample.
I think your expectations aren't properly calibrated, Dropbox's track record is stellar relative to the rest of the industry.
Ask HN: Whats your leisure activity away from the keyboard that keeps you sane?
Maybe III like it too. My current addictions are hiking and pack-rafting(for an overview search on youtube).
Almost everything comes with installer these days, yet some refused to install better, secure browsers since they already have IE by default.

Barrier of entry is a problem.
why the world won't end on December 21, 2012
Klout, Facebook, LinkedIn, etc... sociopathic MBAs just see these as tools to justify their bonuses. Anything that can be done will be done, because there are a lot of empty suits running around trying to find a way to justify their paycheck.
See also, the awesome Amasci site discussion of this:

http://amasci.com/wing/airfoil.html

http://amasci.com/wing/rotbal.html

http://amasci.com/wing/whyhard.html

edit:
Another interesting fact is that the flawed description of how airplanes fly is so pervasive that Albert Einstein once proposed how to improve the airfoil based on his understanding of it and it was a huge flop.

See the end of this article:

http://www.mathpages.com/home/kmath258/kmath258.htm
I've had pretty good luck setting up openfire which is a java based server. It was fairly easy to configure as I remember and this was on a system I did not have root on and I'm not much of a java guy.

On the other hand we didn't end up using the server very heavily so it wasn't thoroughly tested.
That doesn't make sense to me. "Had" past-tense implied completing the duration of the degree in the manner described without receiving the slightest reprimand.
It just goes to show that all advice and success stories are purely situational. It should reinforce the message that it's necessary to actually test whether adding a payment option (or anything else) really improves the situation or not.
"The Norwegian employee pays a lot of tax, but actually a lot of that money goes to services that directly save money for you (the employer). For example, you don't need to pay for the employee's health insurance, dental care or pension plan, since these are covered by the state."

You can get a great plan in the US for around $500-$600/month (an okay plan is considerably less). 30-40%+ more of my income is considerably more than this.

"By the same logic, no sane VC would invest in a Silicon Valley startup because engineers there are 3-4x more expensive than most other tech hubs."

They are more expensive because they are the best talent around.

"That's nonsense. By European standards, the startup scene is great at least in Sweden and Finland."

Compared to what? The statup scene in Michigan is great compared to that of Iowa or Kansas.
I would expect 'hello' + 1 to throw an exception. I would similarly expect '5' - 3 to throw an exception. Why? Because you can't add a string to an integer, and nor can you subtract an integer from a string. Doing anything else is arbitrary and unpredictable, IMO, leading to subtle type errors. You want to find type errors early as possible, rather than letting bogus values flow through the program.

I think Javascript is broken here, and Python has it right.
That depends.

In some countries, there are "Exact Sciences" (basically Math and all the derivatives like statistics and computing) and "Natural Sciences" (like physics, chemistry and biology).

But it's all semantics, the important thing (and the thing most people seem to agree upon) is that the status of CS as Science depends of the status of Mathematics as Science.
EU approval is only conditional. US SEC and China are still pending. Cannot comment on the chances of it going through.

I work at HGST.
Woody Allen
It won't be required, but I'll strongly encourage people to join me in volunteering with CodeNow, a program teaching dev skills to high school kids.

Check out http://codenow.org/ and scroll way down for the video of me trying to eat a jar of jelly.
I struggle to think of a situation where you are in a condo (and can replace the thermostat) but not have your own IP address.
Two types of schools that I have seen in the U.S., diploma mills, and failure mills. I went to school in a fail as many as you can school. Almost every class I walked into was 50-70% fail by design. I learned a lot, mainly studying on my own. The focus on research vs. teaching was just as strong.
JavaScript was my first language. I made web applications using Netscape Enterprise Server which had server side javascript, and I worked on a signed javascript kiosk application that ran in Netscape and had javascript menus that would side off the screen.
I think the calendar/rush is a bigger problem than the will/funding. I will do my best, for future iterations, to invite the world.
Why isn't this form of "dividing the market" illegal under anti-trust statutes?
I agree with this wholeheartedly--Scheme use an extremely simple scoping model that is nonetheless more expressive than Python (before 3, I guess) and CoffeeScript's. In fact, I only really completely understood JavaScript's model--and realized that, even if a little awkward, it was fundamentally elegant--after writing a Scheme interpreter.
You have to guarantee 100% effective vaccines with 100% distribution.

This is false. A vaccine can effectively stop a virus with far fewer than 100% actually receiving the vaccination.

First, depending on the type of vaccine, the immunity may be communicated to other people through contact. Other people in the household, work, school, etc. are contaminated with the attenuated virus (in such a vaccination, as with the Salk polio virus).

Second, with a sufficient portion of the population immune, they act as firebreaks interfering with the transmission of the virus through the population. This is called "Herd Immunity" [1]. According to the linked article, for example, smallpox is effectively stopped with 83%-85% of the community vaccinated.

[1] http://en.wikipedia.org/wiki/Herd_immunity
@mitsuhiko Not gonna happen ;) Forbidding shadowing altogether is a huge win, and a huge conceptual simplification.

How arrogant! You'd think he'd step back for a second and consider the suggestion, but it sounds like he's on autopilot.
Great news but I'm still willing to pay for someone to manage the operational side of this :) Know of any solutions? I'm aware of websolr but their configuration process wasn't as simple as IndexTank
These restrictions remind of ITAR. Building a rocket for a hobby? Never talk to foreigners about it, lest they make nuclear rockets. If that doesn't faze you, remember that USA almost stopped ecommerce because of ITAR banning export of cryptography that was once declare a munition. Because they didn't want foreigners to have access to encryption research.

What will happen is that honest people will follow the government and suffer from lack of potential discoveries while foreigners have their own avian flu virus studies, including 'mutations' that the US Government can be unprepared for.
I've often thought that a lot of software development as it is practiced in business is more like a traditional "trade" than not. It's about knowing how to use tools to build things.
This is the method the government uses when investigating jobs requiring a security clearance.

FYI.
Here's a story about someone doing exactly that, not to buy airline tickets, but to wreak other havoc with "Michael Jackson"'s credit card: http://www.zug.com/pranks/mj/
s/alaramed/alarmed/ in the article title
Maybe he secretly owns it and collects affiliate fees. I wouldn't put that past him.
This is pretty standard practice in the valley, particularly if you are being hired in anything more than an entry level position.

Nobody is going to be paid $140K+/year, and be trusted with access to the source code tree, intellectual property, and possible exposure to customers on the basis of 3-5 45 minute interviews and a few (supplied by the candidate) reference checks.

You are going to be hired if (A) we already know you or (B) someone we know can vouch for you that you've done good work for other companies.

Trying to hire on any other basis is just playing a crap shoot.

It's what I like to tell my employees - "None of you are working for this company. You are all working for the _next_ company - and every decision and action you take here, will reflect on whether your next employer will want to hire you."
Nope, I get it, you were suggesting ":=" as a replacement for the "nonlocal" keyword in Python. I'm not sure how my comments demonstrate any lack of reading comprehension. All I said about ":=" and "nonlocal" is that they are overly complicated once you accept that top-level variables can have wide scope.

Obviously, plenty of folks managed to write bug-free code in Python before "nonlocal" was invented. I'm not saying it's a bad idea, but you can avoid bugs without it.
Hopefully in 30 years, 'programming' will be speaking to your computer as if it were your contractor - and so 'programming literacy' is just 'literacy'.
You can't be a software engineer for long without working in some shitty environments filled with TPS reports, dysfunctional management, and clueless executives. It's especially discouraging when you're formerly thriving company starts devolving into this said mess, usually when it fails to manage its growth appropriately ("production went down! no more production logins for anyone except our horribly understaffed sysadmin staff!") or when its core product starts showing its age ("we're going to pivot! to high growth markets! best in class! jack dorsey! jack dorsey!")

Not all of us handle this well, and I don't know about everyone else, but I have at least one job in my past
that I left with some burned bridges. The idea of interviewing for a job and having my potential new employer calling the Bill Lumbergh-equivalent whom I eventually lost my shit about and publicly chewed out for being a moron, for an opinion about me, literally puts me in a cold sweat.

So this article would worry me, but I've seen it in practice a few times, since the Los Angeles tech scene is small enough that a lot of people have at least one stint at a small set of companies (e.g. Yahoo, MySpace, PriceGrabber, Citygrid, etc). Usually it's not quite so deliberate as the article paints of stalking mutual connections on LinkedIn. The typical scenario is someone on another engineering team asking, "hey I'm interviewing X, did you work with him when you were at Y company?" and I'll say, "yeah, he was really badass" or some equivalent. Even if I don't have a great opinion of him, it's usually something like, "Well I think he got let go when they did layoffs in 2009, but his manager was a dick so who knows."

Software engineering one of the few meritocracies left. If your quality of your work is good and you're respected by your peers, then Bill Lumbergh's opinion of you probably doesn't matter. And if it does, it's probably not a place you want to work at anyway.
That "someone walking in" is pre-screened by HR in many places, and won't even get invited if they don't meet the basic criteria (educational background and experience).
Researchers Warn of New Windows 7 Vulnerability
Newton's Telecom Dictionary
>Outsourcing clinical trials to other countries (usually India or SE Asia) is one of the biggest advances in drug development in the past 20 years.

Not really what I'd call an advancement. It's being done because it's cheaper, the health and safety regulations are practically non-existent, and if something goes wrong then the subjects have very little recourse.
> Obviously, plenty of folks managed to write bug-free code in Python before "nonlocal" was invented.

Python has the inverse behavior of CoffeeScript. So that was never an issue.
Microsoft pulling out of Consumer Electronics Show after 2012 event
I'd like to see how this compares to lucene/solr. With solr its easy to index 100's of millions of docs, but its a pain to write a custom scorer.
Manufacturing costs?
Kind of a side note to the posting, but I just have to say: Please make your usage of parens consistent. If you aren't going to use them, don't use them everywhere.

Here is an example of what I'm talking about:

if isAir cx, cy, cz + 1 then addPlane('near', block)

Should be:

if isAir cx, cy, cz + 1 then addPlane 'near', block

Personally, I use them everywhere because I like having the stronger visual clue that this is a method I'm calling. I think making them optional in CS was a bad idea.

if isAir(cx, cy, cz + 1) then addPlane('near', block)

imho, so much more readable.
Sounds like it's grounds for mistrial because the judges are giving incorrect legal advice, unless the appeal process judges don't like it too.

Why can't the judges ask politicians repeal the relevant laws instead of causing mistrials?
the pros and cons of jailbreaking
Galaxy Nexus Running Google Wallet Without A Hack
It sounds like he had 140 characters to succinctly say what he wanted to say.
Ask HN: At what karma can you vote down and create polls?
I know it used to be 100 to vote down, but that has clearly changed.
At what karma can you vote down and at what karma can you create polls?
Not allowing parens would mess up the usage of anonymous functions.
> I've always felt that order theory, like category theory, lacks reasonably strong theorems. Perhaps that's because the corresponding objects simply don't have enough structure to be interesting of themselves. However, I've known several people who were raving on about how great especially categories are.

I think that, from the point of view of computer science, these ideas are not primarily useful as theories, but as languages: ways to think and talk about things.

For example, any decent programmer has some kind of concept in his head that corresponds to the mathematical idea of a function, another for the special case of a function with a finite domain, and yet another for the special-special case of a finite sequence. They know implementations for these, time-space trade-offs & whatnot. That doesn't mean they need to study any subject with a name like "Theory of Functions". It does mean that familiarity with mathematical concepts like "function" and "domain" is going to be useful in the programming field.

Similarly, it would be good to be able to toss around concepts like "lattice" and "Cartesian product" and "monoid". But I'm not sure how much of the theory a programmer really needs to know.

By the way, I don't agree with your assessment of order theory and its lack of theorems. Check out -- for example -- Dilworth's Theorem and the generalizations by Greene and Kleitman, for some terribly strong statements about partial orders. OTOH I have no idea what connection these might have to computing. (And as far as I know, you are quite correct about category theory.)

> Summaries like this would gain tremendously if they were augmented with some useful examples of where taking the partial order / lattice perspective of the world actually helps you in understanding what is going on.

Definitely.
s/protest/attempt to prevent/
"Also note that computers are generally better at displaying images crisply at dimensions that are powers of two"

Do you mean multiples of 2 or powers of 2?
Western Union (Business Services) employee here.

I disagree with the author on many levels:

1. Government regulations. Wire transfer industry is a HIGHLY regulated industry. There is no way BitCoin will be able to operate without complying with AML (AntiMoney Laundering) and AntiTerrorist regulations. Many names/countries/organizations are on OFAC list. Thus, the minute you transfer a wire to Mohammad or to someone in Iran it raises a flag and you will spend days if not weeks investigating. Note: I didn't even mentioned all the licences that you need to obtain.

2. FX transfers. Author mentioned transferring bitcoin to India and getting rupees. It's not that easy. Foreign Exchange transfers depend on day of transfer. Thus, waiting or talking to a qualified trader may save you money. This takes time and people. Not sure how bitcoin (1 currency) can solve the process that requires 2 currencies.

3. There are MANY other services that provide better and faster solutions to transfer funds internationally. We were one of them and got acquired by Western Union :)

Finally, bitcoin is a currency. Western Union is a service. That brings us to the major flaw of the article. Western Union facilitates the transfer, while bitcoin is just a medium. WU already uses medium to "transfer" the wires. It's called SWIFT.
Most of this is common sense data privacy. The problem for Facebook is that users aren't the customers, they're the product, so all these actions essentially increase their supplier cost with no appreciable gain for FB.
19 year old chiming in. Willing to take a break from getting a degree for a great experience like this. Now to convince my parents...
Why corrugated packaging is popular
Hackers & Painters, Paul Graham

Read it recently, now consider it required reading for hackers
I've recently ordered two additional family member credit cards (two different card processors / companies) and both of them required a SSN# for the additional member. Can anyone claim first-hand knowledge of their credit card company not requiring a SSN# for an additional cardholder?
That describes almost every engineering job, which is not a trade. Trades build, engineers/architect design which the trades then build.

Software can't be separated like that because the software is the design and implementation.
Not sure I understand you or maybe you don't understand me. I was talking about using parens for method/functional calls, not getting rid of them from CS.
How to Build and Sell a Product While You Still Have a Fulltime Job
You totally could; that would be "good" JavaScript. No problem with that.

Some of us like a cleaner, poetic syntax with significant whitespace and a few useful macros; we like CoffeeScript.
One of the listed changes is "Work with the DPC to identify an acceptable retention period of data from inactive or deactivated accounts". Another is "Continue devoting engineering resources towards improving the system that irrevocably deletes user accounts and data within 40 days of receipt of a deletion request".

Both of these have due dates of July 2012.
If you think about it most languages have sacrificed a lot simply to give mathematical operators their "traditional" ASCII meanings. Had character assignments been based on frequency of need or just convenience, you'd surely have seen things like minus-signs in variable names more often.

I would love to see a UTF-8 or other Unicode keyboard so that it's very fast to enter "real" symbols (partially programmable too). Why for instance does my numeric keypad need another "/" or an asterisk...it could now have "÷" and "×" instead.

In the next few years, given more common Unicode support in keyboards and companion programs (text editors and terminals already do a decent job), it would be interesting to see a language evolve to require actual symbols for known operators. Then you really would have to type "6 × 5 ÷ 3", not the ASCII hack "6 * 5 / 3". It would also allow very interesting hyper-operators (as seen in old environments such as the Mac's MPW Shell, and now Perl 6). Wait...don't let Larry Wall see this or we'll have a "$≠" variable or something in Perl 7. ;)
Track SOPA as Congress votes on the issue
I didn't claim that C was the best language for learning how to program.

John Resig's article above is about "teaching Computer Science" rather than teaching students how to program. These are very different things.

That's why I recommended C - because it is very much a language that will teach the theory about how computers work.

I agree that there are other languages better suited for learning how to program.