skysight-inc/HackerNews huggingface dataset:
If you have to seek into the list, of course it's going to suck, that's not a good application for a list. Your test would blow just as bad in C. I'm not sure that says anything interesting about lists vs arrays in ruby in particular.

I am using the same data structure, I guess it would be a little smaller without the next attr. Still seems fair. Building an array of objects is going to require allocating them. I build hand rolled linked lists by directly linking the objects of interest. Calling the class Link may have been a misnomer, it could have been called AnyClass.

It's easy to insert at the tail of an array (I'm actually inserting at the tail of the list, btw), but popping from the front means having to shift everything down. That's what makes the FIFO case interesting. If we're going to prove that ruby is too slow for linked lists to be viable, we need to be testing a scenario where linked lists generally are viable.
HTC says it has a solution ready to answer Apple patent violations
Apture had great distribution thanks to a very simple pitch to publishers:

"When somebody is reading an article and wants more info on a word / topic you lose them to Google - with Apture keep them on your site!"

As a result they received huge support from major destination sites like NYT, Time Magazine, etc.

Funny that Google wound up buying them and negating the major value they delivered to publishers.

I wonder if they do a rev-share on the advertising it generates when it becomes a Chrome feature, probably not.
The Next Japan-Sized Tsunami Could Be Predicted By Computers
India has 1B people and a GDP per capita of about $1400/year, making it a mathematical impossibility that the bottom billion earns $1/day.

The minimum wage in India is 115rs/day, or 11.5rs/hour with a 10 hour workday, so it wouldn't even be legal to pay 5rs/hour (an order of magnitude less than the 50rs/hour algoshift postulated).

Assuming the machine operators earn a median Indian wage, assuming 8 hour days, 6 days/week, 52 weeks/year, their wage will be 28rs/hour.
Ah ha. Thank you.
Plantronics Headset-Plants Additional Power In Your Hand
Pantronics is a large-scale leader in the headset manufacturing. Plantronics headset devices sets up the conversation with one button access, providing high quality noise and reverberation cancellation technology and Voice Assist give power to consumers and enterprise users to use simple voice commands to be more productive yet safer while driving.
The first time I tried to use Foursquare, a couple years back, it did nothing for me, because I don't (usually) want to serendipitously meet up with people - if I'm with you, it's because we've planned it in advance. After a few months, I deleted my account.

A couple of months ago, I started using Foursquare again, because I wanted to understand their coupons / offers integration. So far I've been pleasantly surprised.

I still don't want to have unplanned meetups with friends who randomly happen to be near me, but I'm enjoying the savings and freebies I've been getting from places I happen to go to, which happens a lot more than I expected - often enough that I pull out my phone and check when I go somewhere.

So, yeah, I do use Foursquare, and I don't see that changing as long as it keeps saving me money.
The one where less than 99% of software is free/open source and where proprietary software is still considered a viable option unfortunately.
Good point about the transient nature of HN and reddit. They're really not suited to be a permanent home for the kinds of lists that people want to create on Stack Overflow. All three sites have the kind of community focus that can be used to create the lists, but they really need to be moved to Wikipedia for proper care and feeding once created.
I don't understand why is there such a strong emphasis on these kind of interview questions. I think showing a piece of nontrivial code which the candidate have created in the past tells a lot more about the candidate.

For example this tells more about me than the interview questions I usually got: http://codeclamp.com/ccui.js , because it tells about how I think long-term, how I solve relatively hard and relatively complex problems, not how I survive a quick interview (solving relatively easy algorithmical problems but under very high time pressure.). (By the way, if you have an interesting well paying job for me, I might be interested...)
Raganwald: as much as I enjoy your writing, this condenses to a sentence. The Apple Summarizer actually did a good job:

"And if you value making JavaScript easier to read by virtue of getting everyone to solve the same problems the same way with the same Design Patterns, CoffeeScript is a good tool for getting everyone else to write good JavaScript."

Does this really deserve a full article and a bait-and-switchy headline?
So a (rather successful) VC pimps his investment. Interesting, but not really "predictions" so much as promotions.
An idea on SaaS pricing
Thanks, that puts a smile on my face.
Don't Break the Internet - Stanford Law Review
Survey on Benefits of Social Media for Small Businesses
Ask HN: US health insurance
I live in the US. I've been working in corporate America for the last few years, so I currently have health insurance. I was just hired by a Canadian company who does not have a group insurance plan (since they don't need one). I'm not relocating, so I need health insurance.

Any advice? I can Google "usa individual health insurance", but it'd be nice to know which Google result to click on.
Likely google thought they would make up the expense in increased adsense revenues from the publishers that use Apture post shut-down, but 12 hours is a terribly short window for a shut-down to be effective.

I wonder how often they'll be able to buy the 'next Apture' until they figure out that they're going to have to live with it, after all if it only takes 12 hours to clone then this seems like a winning business model with a guaranteed exit.
Don't see how the relevance or presence of XAML/WPF affects the use of the rest of the framework and the BCL, and I would be shocked to hear about your backwards compatibility issues between running compiled assemblies on different CLR versions. Also, I think you mean .NET 4.5 in Windows 8 - .NET 4.0 was released over a year and a half ago, and runs most legacy applications perfectly well.
The author explained why the people making the traditional arguments do in fact illustrate how accurate his observation is. It's true though that articles won't reach guys are so defensive or clueless on this subject that they're not responding rationally.
Spreadtrum releases platforms for $40 smartphones:

http://www.eetimes.com/electronics-news/4231253/Spreadtrum-r...
US only? Lame.
As for why Chrome has so many installs, certainly part of the answer is marketing. Google has been cross-promoting it from many Google properties.
I agree that there are asocial people in this profession, but no more than in any other profession

I think this is clearly false. The sciences attract the type of personality that is capable of intense focus which seems to be paired with some difficulties in social interaction (Asperger's lite?).

While I'm well socially adjusted now, I am introverted by nature and had to work at fixing social deficiencies my friends never exhibited. When I look at peers in my field I see either people like me who had to work at being socially well-adjusted or people who are still socially stunted because they never took the time to work on it. I have met very very few programmer-social-butterflies.

I believe this also explains why there are relatively few women in our field: this type of personality is not as common in women.

[That being said, I think 'Anti-Social' is more of an insult than a description of a personality trait. And his presentation looks condescending.]
I only get the past 1 week of posts, so for me it's just like loading my Facebook page (but with less info and a poorer ui): http://citricsquid.screensnarp.com/dx5xbb.png

is that broken or intentional? username citricsquid.
The isinstance() criticism is in principle outdated after PEP 3119 [1] but in practice it is indeed mis(/over)-used more often than not.

Compiling strings is usually a code smell but at least in the case of namedtuple I'm pretty sure it is justified for at least one reason: performance. It's certainly possible to be implemented in more idiomatic python but the result would probably be less efficient compared to, say, dicts or regular objects.

[1] http://www.python.org/dev/peps/pep-3119/#abcs-vs-duck-typing
> That stuff is quite recent.

Any sensible, rational "stuff" is recent, anywhere in the world. Until very recently, no country or culture were good places to be.
devongovett/jensnockert: what was your experience with using CoffeeScript for such low level code? Did you need to consciously avoid certain CoffeeScript features that could negatively impact performance?
You could use the same math to show why cars are a terrible solution to transportation. And yet, we've got millions upon millions of cars, and relatively few trains and buses (at least on my continent). People don't decide how to live their lives by sitting down with a calculator and figuring out the most efficient method to serve the entire population of their country.

As the article pointed out, the biggest problem in this case is not technical. It's social.

Now that you've shown that the big machines are more efficient overall, how do you get there from here? I would even say that if you know from the start that you want a bunch of $500K machines, then bootstrapping -- what he's doing now -- is in fact the easiest way. Google has some massive datacenters but they didn't start by spending $50M on hardware on day 1.
Internet Censoring Countries The MPAA Wants The US To Be
Math Monday: What to Make from Binder Clips?
> Now this is interesting. What triggers that reaction? Is it asking for the particular documents, or is it the request for meaningful information?

It's sort of like a woman who asks you what car you drive right off the bat, on the first date. It indicates she is only in it for the money. And that she also lacks the social intelligence necessary to gain information without revealing that she's only in it for the money.

For a startup to succeed its people need to be a bit irrational. A pure profit maximizing strategy for a good developer is just to do something boring at Google. You aren't joining a startup to do median case profit maximization, you're doing it to (a) do something interesting for a change and (b) have a shot at a big payday.

Now, there's a certain undercurrent here at HN that says "F you, pay me". OK, but this is not the type of personality that is likely to build something great. They are the first ones to bail when things get rough, the first ones to trash their former (or current) employers, the first ones to lay blame.

There is a role for highly skilled mercenaries, just as there is a role for really beautiful golddiggers. But they should gravitate to Google/really rich men, as that's where they'll find a mutually satisfactory exchange.
There are plenty of ways for a foreigner to lobby in the US:

http://en.wikipedia.org/wiki/Lobbying_in_the_United_States#F...

http://en.wikipedia.org/wiki/Foreign_Agents_Registration_Act
You should also mention which state you live in, as options can be different. For example, MA has a single-payer system and you're eligible for group coverage even without an employer. In some states like NY even alone you can join a "freelancers union" of sorts that may help with getting group coverage. In CA, you can apply for individual coverage with something like Kaiser.
I consistently write long essays and I lack the patience to edit them to manageable length. More importantly, I lack the moral fibre to discard perfectly good points. Any fool can chop filler out of an essay. It takes an author of sterling character to discard perfectly good ideas in the interest of making what remains an even better essay.
And I lack that character. Having written words about an idea I like, I find it very difficult to let go of them, and my writing suffers for it.

http://raganwald.posterous.com/why-i-downvote-tldr-comments-...
Immediately posting a tweet without my say-so? For shame. An abuse of trust in this day in age and a reason I hate Twitter/Facebook universal sign-ins. Access revoked. Goodbye.
That part about them hand-illustrating in 3D was a joke. They show one guy working on the red version and one on the blue, side by side. There's no way they could do that precisely enough to actually produce a 3D image by hand.
I found myself nodding along with this until the bit about the array module. The array module is very well suited to doing real work. Maybe it seems arcane if you're coming from a web dev background, but given the space inefficiency of Python's lists, the array module is awfully useful in a lot of situations.
> A fraction of an industrial machine makes zero napkins.

Well, that assumes that this is the only individual in India that could be interested in the market segment. There are plenty of people in India for whom USD $500K is not a lot of money, particularly if a solid case can be made for the investment.

He could have invested four years trying to raise money to buy a number of industrial grade machines rather than doing what he did.

Here's another interesting data point. According to this site (http://www.euronuclear.org/info/encyclopedia/n/nuclear-power...) the average nuclear power plant in India produces 200MW of power. Deploying enough machines to provide napkins to the TAM would consume around 6% of the power output of a single nuclear power plant. An operation based around industrial machines would require about 4%. It's interesting when you can measure things in terms of the percentage utilization of a nuclear power plant.

I looked through the various responses to my post. Lots of good points. Of course, the infrastructure in India is something I cannot have a good grasp of from my vantage point in suburban Los Angeles. When faced with something like this I always fall back to one of my favorite Mark Twain sayings: "A man holding a cat by the tail learns something he can learn in no other way". This inventor held that cat by the tail. Hard to judge from the outside. I'll have to leave it at that.
Apture provided a horrible mechanism that breaks browsers and violates common "web ui standards" and created gross privacy leaks. At one point, as implemented on the NYTimes site, I showed that every single time a user selected a portion of the text at an NYTimes, apture enabled post, the contents of the selection were sent to apture servers.

I was more than happy to see them go.

It's a shame that CloudFlare promises to bring them back, I am hopeful they will do this in a manner that is not so outrageous or harsh on the user.
Most of this I agree with, with a few comments/caveats:

> Easy Stuff First

The unfortunate part about this particular example is that subprocess's interface isn't really that well-designed, and so people resort to os.system simply because it is less complicated than subprocess.

> Ducks In A Row

I don't think isinstance is really that bad, but checking based on something's exact type is definitely wrong.

> Toys are for Children

One of the problems of a batteries-included stdlib is that you have to support it just about forever. Though I would like to note that for basic async programming Tornado is surprisingly good, and less complex than Twisted.

> Foreign Concepts

Apparently this is especially useful for scientific and mathematical computing. I can't see how it's especially dangerous since just about everyone will use list instead.
90% in 20 hours - amazing! Maybe someone good at math can eatimate how many months it will take them to do the other 10%...
The most naive possible C implementation takes 2.5 seconds to run this same test. I just tried it.

The point of a list is "insert and delete from the middle", so I don't know how to respond to the idea that actually inserting and deleting from the middle of the list is a bad benchmark.

It's difficult to respond to your last point about FIFOs for a different reason. Popping 1000 times from a 1,000,000 Array is so fast that I'd have to write code to benchmark it. And Ruby doesn't even optimize for that case; in real code, I'd use a ring buffer so that pops are just pointer adds. Ruby is, to the best of my knowledge, actually copying every single time. Copies are just way way way faster than you seem to expect them to be.
My female friends (and girlfriend) are all okay with saying they need to pee. However, they will never say something like "I need to change my tampon". If they do, it will be directed at 1 person in hushed tones and because they're out or something.

Maybe yours are different though.
I think that essay would be even better than this one. Thanks!
How's the deployment story for Erlang? One attractive feature of Go is that it produces self-contained* binaries that can be easily deployed to your production hardware. No other setup required.

(*Go's net package links against libc to get around domain resolution issues on various broken systems. This can be disabled if you want a truly standalone binary.)
Discover how far you can push a browser
12 Things You Should Stop Doing in 2012
It’s the end of the year and already I am seeing the usual blog posts that either reflect on the year that was, or are pondering the year to come. I thought about writing another post covering all of the things that didn’t happen to me this past year but since I’ve already done that before I figured I needed to do something different. So I decided on this post instead. You’re welcome.

Here are the 12 things you should stop doing in 2012.
We plan to launch Go 1 early next year.
Here's a visual response:
http://d24w6bsrhbeh9d.cloudfront.net/photo/31723_460s.jpg
This is great guys, love the simplicity.
Amazon, please don’t hijack the web on Kindle Fire
Mostly avoided the regular for loops, replacing them with `for ... by 1`, to make sure the compiler knows in which direction to iterate.

Otherwise it is pretty similar to javascript, most coffeescript constructs map pretty simply down to javascript, so optimization tips for one language mostly applies to the other.
What do you expect from someone who can't be bothered to change away from the default Drupal theme.
Stop making excuses
Google X’s wearable technology isn’t an iPod Nano, but rather a heads up display
This article really indicates to me the fatuousness of this sorts of problem/solution interview approach.

I agree with timr in that a more more intelligent approach is to throw a problem at the candidate, then drill down into their thinking about the problem.

It's a bit silly if you're hiring based on regurgitation of algorithms in my opinion.
The movie making industry is around 400,000, with another 120,000 working in movie theatres[1]. The entertainment industry is much larger though.

Also, SOPA is supported by the pharmaceutical and retail industries, which are large employers as well.

The software industry probably employs around 2 million (1.7 million in 2007) [2].

[1] http://www.techdirt.com/articles/20111213/18060117071/actual...

[2] http://www.bsa.org/country/Public%20Policy/~/media/Files/Pol...
They don't seem to be using GMonkey at all. The source for their plugin is at https://b4g.baydin.com/site_media/bookmarklet/b4g_bookmarkle...
eval() is commonly understood to be among the most evil commands you can invoke when programming, and you'd better have a damn good reason for why you're using it, and why something else isn't appropriate. This is hardly esoteric knowledge.

The first rule of application programming is "don't trust user input". eval() requires that the eval'd string be trusted to avoid security holes. The two are mutually exclusive.

In the NodeJS case, this is probably a case of misinformation. If people are teaching the use of unchecked eval, then that's a pretty huge problem. I'd be very interested to see examples in the wild of this happening, though, as it seems like such an obvious mistake that most anyone trying to teach would know to avoid it.
Overall positive, but as with any programming language, you have to be careful sometimes. For example, the for loop in CoffeeScript can be slow if you aren't careful:

for i in [0...10]
doSomething()

is slower than

for i in [0...10] by 1
doSomething()

because of the way it is compiled, so we always include the `by 1` as an optimization.

Another one is that if you have a function and the last thing in that function is a loop of some kind, CoffeeScript will try to return an array from that function collecting the results of the loop. So we explicitly put a return statement at the end of the function to avoid this and the performance penalties.

There are probably a few more to be careful of, but overall performance characteristics are similar to JS. I'm sure Jens has some thoughts too, but overall I think it was a positive experience.
I disagree that subprocess is complicated. Replacing the os.system() is really simple: http://docs.python.org/library/subprocess.html#replacing-os-...

I think people are just used to system(), particularly if they come from C.
galaxy nexus is penta-band, which is why it works on tmo.
A better link would have been http://openindiana.org/pipermail/openindiana-discuss/2011-De... (OpenSolaris mailing list thread) or even http://news.softpedia.com/news/Oracle-Solaris-11-Kernel-Sour... , which is at least a somewhat-researched article, instead of the current awful blog post, which contains both baseless speculation and no original or useful information.
or Total Cost of Ownership... I guess I'm hopelessly "enterprisey".
How to escape police in a high-speed chase: The top 10 Quora questions of 2011
Your bad experiences aren't universal. If the movie is specifically shot for 3D then it shouldn't be blurry, the limitations of the technology (and our eyes) is well known and accounted for. As for it being too dim, you might have problems with your theater not operating the light at the required brightness level (the bulbs are expensive will last much longer if they are dimmed a bit).
The Evolution of Social Commerce
Apple Scores Small Patent Victory Against HTC
Saying that a fundamental different approach is needed to improve software security is radically different than saying we are "a few tutorials and open letters from secure web applications." My rant was the former.
There was a checkbox (automatically pre-checked) that actually triggered that Tweet. Not saying it's any better, but I did see the box. (picture here: http://elsewhe.re/Cklw)
Visual password hashing for your browser
I thought you said you came from one where free software is radioactive.
Launching Today: Australian-based Startup LiveScene
It is worth mentioning that Apture was an annoying product and I for one am glad that they "shuttered" it. As for the acquisition it was probably for talent or IP or both.
US phone plans are still crap compared to what's available in EU. We pay a lot for little service, and are locked out of using the latest phones on most networks unless we're willing to sign up for ludicrous plans that's really hard to get out of.

I've been happy with Virgin Mobile, I'm not willing to pay more than 35 a month, even though the service might be choppy at best.
The bottom line is: manage hype, and don't buy into your own. One of the most interesting takeaways I got from hearing Eric Ries speak a few weeks ago, is how toxic hype can be to startups not just in the press, but also among investors, friends, family, etc. As entrepreneurs we face myriad challenges and problems to be overcome between vision and product execution, and these massive expectations that we build up can be a huge barrier when it comes time to make tough decisions and revisit product strategy, especially when (not if) things don't go as well as we would like the first time we deliver products into customers' hands.