skysight-inc/HackerNews huggingface dataset:
No, no, no, no. Did I mention no? I inherited a Javascript application that was maybe 1500 lines of code. Every function was 3-5 lines. Most were like this:

process_foos = function(my_list) {
for (i=0; i<my_list.lengh; i++) {
process_foo(my_list[i]);
}
}
process_foo = function(foo) {
foo.some_method();
}

And foo.some_method (in another file) was similar. What it meant was it was impossible to get a view of what was going on in the system. It took months to accomplish an understanding that should have taken weeks.

I really think the original authors heard your advice and decided comprehension didn't matter, only function length.

Function should accomplish a task. Sometimes (very rarely) a task may be two hundred lines; usually, it is much shorter. Sometimes three lines, but often 15-20.
NFL Fan's on Facebook
I don't know whether there is a shortage of engineers in the US, but I know that your argument that there isn't is invalid, because 90% of the country could be starving and you could still say that there is no shortage of food, after all anyone willing to pay the market price can get it.

Those benefitting from higher wages are not the people of the United Stated who defend the borders, just the small fraction of the people who happen to be software engineers. All the rest of the people of the US are hurt by this, since they have to pay more for the goods and services to which the software engineers contributed.
As Art Values Rise, So Do Concerns About Market’s Oversight
No. I'm basing it on this database:

http://www.cvedetails.com/vulnerability-list/vendor_id-12043...

http://www.cvedetails.com/vulnerability-list/vendor_id-10199...

Django has 16 vulnerabilities of the DoS, XSS, and CSRF variety.

Rails has 37. In addition to DoS, XSS, and CSRF, it has SQL injection and code execution.

That we keep seeing similar vulnerabilities suggests the problem is systemic.

Giving them praise for not sweeping these under the rug is giving someone praise for not being a sociopath.
Just in case the xkcd that crntaylor posted doesn't explain the situation well enough:

Let's assume that there's 10,000 total job postings in your graph. If the "rock star" trend grew from just 1 posting to just 70 postings, that would represent a 7000% growth over the period, even though "rock star" would still represent just .007 of the total market.

Growth graphs answer a very specific kind of question, and it's rarely the question that people mean to ask.

Or, put another way: click the "Absolute" link next to "Scale", under "engineer, programming, engineering, rock star Job Trends".
Ask HN: What does the AdBrite shut down mean for online advertising?
I have to confess that I don't know too many of the independent ad sales companies (such as AdBrite). I'm curious to hear from others what you think AdBrite's failure means across the board. How does it affect Google Adwords (or does it)? How this affect Microsoft's advertising/Bing/whateveritis/Yahoo? I'm not quite sure why AdBrite wasn't able to make a better run at it but I'd love to hear more about this story and it's consequences.
>> ... extremely suspicious ... I suspect ...<<

Please - less FUD and more looking at program source code (which is 2 clicks from the URL you were given).
Also interesting is how close the Newfoundland accent has stayed to the rural Irish one.

www.youtube.com/watch?v=zqLuIXwsLDw
Stanford researchers break million-core supercomputer barrier
Part of the problem is that we mostly don't know how good managers do what they do (and they don't either).

Their knowledge is tacit. And we have to make a tacit judgement when hiring -- which means that memes about gender necessarily exert an unquantifiable influence.
I'm to understand that the accent used in the area around Omaha, Nebraska is most likely to be perceived as "accentless" by most Americans, so the standard broadcast English accent for American TV is closest to Nebraskan.
What are you doing to get better?
Hi, I'm with PayPal. Comments are my own. :-)

Yes, I could've imagined a better way to start the week.

We had some errors on our API's being returned in the morning (7-10am GMT) followed by prolonged issues with Instant Payment Notification messages not getting sent out to merchants.

Things are looking up again and Instant Payment Notification messages are currently going out. We're now working on reducing the backlog of messages.

This is expected to take the next 24 hours before we're fully caught up.

A few more updates are available at https://www.x.com/content/update-5-issue-receiving-instant-p...

Let me know if you, or anyone affected by these issues, have any questions and I'll do my best to answer them.

-Robert
google can obviously afford to pay much more for talent. one reason they don't is to avoid attracting mercenaries. they seek engineers who love working at google and building great software and products -- not people motivated primarily by compensation. they are happy to let those people build careers on wall street if money matters more to them. as a clarification, many people have legitimate reasons for prizing money (e.g., paying off debts, supporting family) above else, but these are not the people google wants. the definition of elite here extends beyond intellect.
You are shooting your own feet with these links you know. According to your data Django had -ZERO- sql injections & code execution repots, now compare that to RoR which had 6 sql injections & 3 code execution reports since 2009. Even if you went by just the numbers RoR had way more vulnerabilities, now if you also take in consideration the kind of vulnerabilities i can tell you i feel way safer on django than RoR.

How many times did you have to stay up late at night to patch your framework ?
What you described is one type of subsidy. It's not the only type.

From that wikipedia article you linked: "In standard supply and demand curve diagrams, a subsidy will shift either the demand curve up or the supply curve down. A subsidy that increases the production will tend to result in a lower price, while a subsidy that increases demand will tend to result in an increase in price."

Defense R&D increases the demand for engineers and thereby raises their "price". I don't know if it has a significant effect though.
Doc writing is a canary for how well an organization puts its money where its mouth is. Not only is documentation sometimes outright neglected, it's most often taken into an "uncanny valley" of plausibly looking like decent doc, but still sucking when actual programmers use it.

If an organization is really serious about documentation, they will not only devote resources to writing it, they will also devote serious attention to a mechanism for figuring out where it needs improvement.

Come to think of it, this would be a decent metric for figuring out which big software companies to invest in, especially if you can detect the "uncanny valley" docs efficiently. (Not only equity, but in use of their SDK/APIs.) For small software companies, there may not be enough people to write docs at first.
Professor Gerald Sussman of MIT put together this great video on an electrical engineer's view of a mechanical watch:

http://video.mit.edu/watch/an-electrical-engineering-view-of...
Not sure why you are implying that only the unemployed can fill jobs.

There is plenty of tech talent in the San Francisco area (shocking! I know) and people are free to switch jobs. If Stripe offered competitive-enough compensation, they should be able to attract them.
I don't know whether you're just unnecessarily petty or if you genuinely failed to understand, but I'll assume that I wasn't clear enough.

I never advocated confrontation - not by a long shot. I said that being direct may sometimes be necessary. I thought it was pretty clear that the only advice I gave is to contact a professional.
Believe it or not, this explanation of the dynamics is relevant to Econ 101, in that it employs a number of fallacies directly addressed in a first year intro class.

Let's start with whether non-engineers should subsidize the salaries of engineers through implementing protectionist policies at their own expense in terms of more expensive products? This isn't an obvious answer. Presumably, protecting the salaries of engineers through strict immigration policies also protects the salaries of doctors, factory workers, accountants, taxi drivers, bankers, lawyers, teachers, agricultural field workers. In other words, doesn't it protect the salaries of everyone, across the board?

Does the cost of excluding foreign trained engineers end up being paid back to everyone when their salaries get subsidized as well?

What do people do with their salaries? They buy services and stuff, and the vast majority of the costs can be traced ultimately to expenditures on labor. In fact, it is counter intuitive, but greater capital efficiency in terms of automation and software for example (developed by engineers) makes the non-labor inputs relatively cheaper in comparison to the labor inputs, and explains why real income and measures of quality of life have surged over the past 50 and 100 years.

How do we know that it isn't just an act of faith to believe greater competition for wages doesn't hurt people more in terms of lower salaries than it helps them in terms of decreased costs? That's a comparatively simple answer—people are only hired if the opportunity cost of not hiring them is greater than the cost of their entire compensation package. In other words, if you make $100k in your job, someone who managed not to go out of business is under the impression that not having you would make them lose out on more than $100k of revenue.

Economic growth comes from a greater number of transactions, where the surplus value from what the work is worth is greater than what the effort is worth. Growth does not come from constraints on supply. The immigrant who is paid $80k for work worth $120k takes out $80k, but contributes $120k of work. The original worker, took out $100k, and contributed the same $120k. The aggregate economy is $20k richer, and it is spread out to everyone, because consumption and production balance out.
Bug #1 in the Xbox database: Playstation is not dead yet.
The Apple Trichotomy
10 Creative Techniques Using CSS3 Box Shadow
VIM quick reference card [pdf]
I think I have a tough time as both a software developer and a consumer getting behind "the world should be built on free software."

I will gladly pay for the best fit for me, it's how resources are transacted in an economy. You pay for the things that are valuable to you, and you should pay at the rate at which they are valuable.

Why should software be singled out as free? I agree that I benefit from open source and I try to contribute when I can but it still stands that I don't mind paying for a lot of software that is classified as open source.

Every time I read about open source software, I always feel like I'm missing some piece of the puzzle.
Very cool! Didn't know about this feature and I can't wait to try it out.

Also, just so you know, you have a couple of mistakes in your markdown, namely that code spans only require one backtick on each side.
(yet).
>>One is left to speculate as to why

There is no need for speculation, since we already know the answer: fast-food is both affordable and calorie-dense, which is why lower-income people consume it and become overweight.

Ever noticed how many fast-food restaurants there are in lower-income neighborhoods?
It is an interesting acquisition - clearly, Twitter has a lot of use for the product internally, and they were probably one of, if not the biggest, client (in terms of raw data collected). There is something to be said for mitigating the risk that your third party suppliers disappear from under your feet.

I don't know what Crashlytics enterprise pricing structure is like, but if it's anything like other similar services they'll probably be on twelve month agreements with their clients, which would be complex to untie. I doubt the service will go anywhere for paying clients for a little while. If you're relying on a free third-party service in your apps you always have a recovery plan should something get bought, retired, or just plain go wrong.
One things conspicuously missing from the post is the idea that companies will set up foreign offices to hire the workers there if they can't hire them here. Maybe that idea died along with the whole outsourcing push of the mid-00s.
"Acer's Chromebook already accounts for 5 to 10 percent of Acer's US shipments"
Loading tabular data in Python
FSF Europe: Free Your Android
I think you missed the "Nice as it is to ...," which suggests it's not sarcasm.
Sometimes things don't pan out as well as all parties hope, and it flows downhill.

I'd much rather see a company close up because they know they are no longer sustainable than to try and extend beyond where they can pay the people that are supporting them. (http://www.destiny.gg/n/own3d-tv-a-beginners-guide-to-being-...)
The year was 2004. Windows Vista and iPhone were 3 years away, iPod mini was 1 year away.

Also, Chromebook is not that bad, is it? Chrome OS is almost fully free (I am not sure about the details and the difference between Chromium OS and Chrome OS though). Much better than Windows XP back then.
I second this assessment. I've come to know Dave through friends and theres a lot to learn from a down to earth hombre like him and it's reflected by what I know of the rest of his team.
Lulz :) I mean ruby nailed it, right?
If people don't think about the implications of their choices, then that's not the fault of rants, and anything you might suggest to change the situation can all be done while ranting. As Weizenbaum said in an interview I listened to a while ago (I tried to find it in written form but no luck so far), computers and all technology can be used to make people more free, or less so. That however requires awareness, which is the opposite of marketing and euphemisms. If not even the people who (supposedly) know what is going on speak up, the people who have little clue regarding these matters have simply no chance. And that people are lazy does not excuse any of it, anyway... a lot of horrible (or "just" banal and sad stuff) happened and happens because people are lazy, lazyness is quite the invisible killer that way.
Thank you for the book suggestion, I found the free ebook version at Smashwords:
http://www.smashwords.com/books/view/13476

I'll be reading it when I have the free-time to do so.
In my experience, all women that could advance and take a senior/executive/managerial positions declined to do so,because the increased responsibilities that would come with their new position were too much, especially since most of them were young and had a child within the last 5-6 years. It was the case for 100% women I know, both my friends and in my family.
Top 5 Pragmatic TDD mistakes
I received this email a few minutes back. It is sad to see this happening and that too on such short notice. Used to use it along with Adsense, and it was the only good alternative.

I am certainly going to miss the feature where they automatically swapped their ad-code to any competitors if theirs din't cross the minimum CPC threshold.

If I recall correctly, the CEO/Founder of Adbrite is a member of HN. Maybe he can shed some light.
> N900. Too bad, it didn't pick up on the market.

Wrong pick on the OS name, I guess :P.
> Would it ever be possible to have a self-updating framework?

The problem is, with Rails, you'd never know when the self-updater would update you to a release that broke backwards compat and broke your app.
Data Privacy Day: the massive hypocrisy of Facebook, AT&T celebrating it.
Hang in there. New work will arrive soon :)
The nth term of the fibbonochi sequance can be written in the form (A^n-B^n)/sqrt(5) [1], where A=(1+sqrt(5)/2) and B=(1-sqrt(5)/2)

Lets say that A` and B` are approximations of A and B, that are within E of the actual answer, that is to say |A`-A|<E and |B`-B|<E.

The total error can be found by:

|(A^n-B^n)/sqrt(5) - (A`^n-B`^n)/sqrt(5)|

If we can make this error be less than 1/2, we can simply round to the nearest integer and have the correct answer.

|(A^n-B^n)/sqrt(5) - (A`^n-B`^n)/sqrt(5)| < 1/2

|(A^n - A`^n + B`^n - B^n)| < sqrt(5)/2

Notice that: |(A^n - A`^n + B`^n - B^n)| <= |(A^n - A`^n| + |B`^n - B^n)|

If both of those absolute values are less than sqrt(5)/4, than their sum would be less than sqrt(5)/2, satisfying the inequality. Because 1<sqrt(5/4), I will make them be less than 1. Without loss of generality, I will consider only one of the absolute values.

|A`^n - A^n| < 1

Assuming the maximum error:

|(A+E)^n - A^n| < 1

Notice that the first term when you expand the binomial is A^n, so the n-1 remaining terms are our error. Every coefficient is less than 2^n. The greatest that A factor can be is A^(n-1)<A^n. And the greatest that the E factor can be is E^1. Therefore all (n-1) factors are less than (2^n)(A^n)E.

The sum of these error term is therefore less than (n-1)(2^n)(A^n)E. So:

(n-1)(2^n)(A^n)E < 1

Because A<2, A^n<2^n we can say:
(n-1)2(2^n)E < 1

E < 1/(2(n-1)(2^n))

If our value for A is accurate for d+1 (binary) digits passed the decimal point, E<=2^(-d).

2^(-d) < 1/(2(n-1)(2^n))

2^d > 2(n-1)(2^n)

d>lg(2)+lg(n-1)+lg(2^n)

d>1+lg(n-1)+n

d>2n

I made a lot of simplifications in this analysis, so you can probably get away with fewer terms. It is interesting to note that Fibonacci numbers grow exponentially, so the number of digits needed simply to right the answer grows linearly, so the extra digits do not decrease the algorithmic efficiency.

[1]http://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_ex...
Google+ Surpasses Twitter
Good job !!! Super clean UI ! Thumbs up, this is Masterpiece !
[Youtube Capture](https://itunes.apple.com/us/app/youtube-capture/id576941441?...) for iOS is a pretty remarkable tool for quickly capturing and sharing video as well. I think it's far superior to Vine, especially because it leverages the powerful YT platform while still including FB and Twitter.

I would assume that the same filters from YT in the Browser are coming to the app as well, making it a far more compelling "Instagram for Video".
> another piece of paper that's the only proof you have that this transaction ever took place.

This one of the good points of cash. Data mining is just creepy.

[1] http://consumerist.com/2012/02/17/target-figures-out-teen-gi...
I started doing freelance work when I just turned 17 and learned just the opposite thing:

“It's up to you to tell the story.”

I was able to turn my age into advantage, and the contrast between my obviously teenage avatar and a convincing portfolio helped me distinguish myself from most other freelancers.

It was the same with my first job: I just approached a guy after he gave a lecture and asked him questions he found interesting. He was a CTO of an outsourcing company, and I asked if they were looking for C# programmers. I sent a very pompous resumé and got hired despite its silliness—it made them curious enough to land me an interview where I was able to show I'm a normal guy.

If you're seriously different from the rest, you can turn this into an advantage as long as you stress this point and make it an integral part of your story—not something you hide. People appreciate honesty and some humour too, and that's especially true in freelancing.

Exposing your vulnerability (yes I'm young, yes I'm a minority, etc) while showcasing your great work makes you look humane and more likely to be a great person to work with. You'll attract better customers—I experienced this myself. People you'll enjoy working for.

Your work speaks for yourself in either case, but in the end it's how you market your work that determines if the one evaluating you feels excitement (“This guy's so young but his work kicks ass, he must be a real prodigy”) or doubt (“This work is great but he's so young so we shouldn't hire him”).

Of course getting a lot of signed positive reviews is important, and pricing can be tricky too.
Here's the fix: https://github.com/rails/rails/pull/8853/files#L1L35

Happy hacking!
I submitted this in order to comment on it.

The standard economic analysis would say that Apple's "profit share" simply represents opportunity, and is bait for competition. The guy with the biggest share of the profits attracts the most vociferous competitors. Unless there are barriers to entry, of course.

Apple under Jobs' leadership was very good at creating new profit centres, staying one step ahead of this competition. But that kind of innovation - creating new markets, essentially - is seldom a sustainable competitive advantage. And frankly I don't think they'll be able to sustain it for much longer, without Jobs.

There certainly isn't any new kind of company strategy here. The idea of "maximizing profit share" isn't something that can be picked up and willed into action. Good execution in a growing market - or creating a market - should maximize profit share, but markets mature. Reliably creating new markets is much harder than creating new products; and eventually, the competition will create products that reduce that profit share.
Crashlytics has literally changed the game with regards to crash reporting. Their UI and customer service has been wonderful (unlike most other mobile service providers...) and I really hope they continue to offer their services to devs.
Obligatory:

http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines
> There is no reason to pay the development tax of C for everything else. Not when you can build it in Perl, get it working, and then find the hotspots and convert those to C.

Certainly not with fewer than 20 million req/day.
Hmm, I'm curious of the story behind this vulnerabilty NOT existing in 3.1 and 3.2. How the heck did it get fixed in 3.1 and 3.2, but still exist in 3.0 and 2.3? It was accidentally fixed in 3.1? It was on purpose fixed in 3.1, but it didn't occur to the fixer to backport to 3.0 and 2.3? Eh?
Like the iPod mini/nano/shuffle?
AdBrite was a great network. Their payout rates were by far the best of any network I've tried.

Full-page ads were a killer revenue source, I would get 4x the amount I would have gotten on Adsense.
Stop treating your phone like a pocket watch
This seems like an odd straw-man of an argument.

Premise: "Car companies have been toying with driverless cars for years, so the idea that Google will produce driverless cars end-to-end is without merit"

What I can't understand is who thinks Google is going to be building these cars. Has anyone claimed that, even the referenced Forbes article? I don't think so. As others suspect, Google wants to offer the brains to these car companies, and tie them into the world of other Google services (Android phones, browser integration, ad injection, media streaming, etc).

Look at it another way: Microsoft supplies much of the tech to Ford, Hyundai, and others for their in-car "infotainment" systems, that doesn't mean when they started the CAR.NET initiative in the '90s they were trying to take on Ford and GM.
Well, there's also an issue of trust that I think is being overlooked.

We now need to ask ourselves, "Can we trust the Ruby community, and can we trust software written in Ruby?"

Before these recent exploits, there were a lot of us who would have already answered "no" to both parts of that question. Now there may be many more people who answer them the same way.

The warning signs have been there for a long time. The general attitude of the Ruby community is one of these warning signs. The smugness, the emphasis on "best practices" (which usually aren't very good, in reality) and the drama and semi-religious worship surrounding certain members of the community (DHH, Zed, and _why) are what I'm talking about. This kind of attitude promotes an environment where bugs can happen in the first place, then go undetected, and in many cases also go unpatched once discovered.

At this point, I think it's necessary to scrutinize the Ruby community and their software much more closely than has been done in the past. The complacency of the past is not acceptable any longer, given what has happened recently.