skysight-inc/HackerNews huggingface dataset:
Algorithms live much longer than 20 years and often require more than 5 years to bring to market. As a practical matter it takes about a decade for a new computer science concept to be fully integrated into software practice.

I've been involved in quite a bit of hardcore algorithm R&D. In no case where material advancements were made was it possible to really bring it to market in five years from inception. Computer science has the same inertia for how things are done as any other industry. Altering the way things are done and getting uptake requires a surprising amount of time no matter how good the advancement. Which roughly matches most other patentable subject matters.

I'm not saying algorithm patents need to be 20 years but most software engineers have no idea how long it actually takes to commercialize material algorithm advancements. It looks a lot more like industrial patents than most programmers seem to assume. And many algorithm patents have millions of dollars in R&D invested in them; I have been involved in several such examples.
This is cool.

A minor critique: to click 'Next' repeatedly requires you to move the mouse again and again to wherever it's repositioned. If you move it to the side, you can avoid this and let people read through as fast as they can click (i.e. much faster).
From the comments:
"From Qt came KDE, KDE produced KHTML which became WebKit which I can now use to render Qt. Full circle indeed!"
Nothing really changed. If you cannot see how Heroku fucked you as a customer, then they actually did not fuck you; Otherwise, just do it yourself.
I upvote pretty much anything that shows code.
Dear Spotify, is your desktop app Log In confusing?
Depending on what side of Hanlon's razor you fall, the only conclusion I get from this is that they are either incompetent or dishonest. I have a very hard time believing that this issue remained unknown to them for years.

As for the post, it's pretty much just documentation. I didn't see any apology. And the only promise of a better tomorrow is a vague "Working to better support concurrent-request Rails apps on Cedar".
Indeed, great post. I'm really interested in seeing perspectives of those who've used both though, hopefully those mysterious people exist ;)
What are the top 5 reasons for you to use Ember over another MVMM?
Wow... that is beyond weird. From what I've read I always thought Singapore was quite the corrupt-free police state.
Well, this is no more than a showcase. On my fairly modern computer with powerful graphics card it is unbearably slow even in Chrome, while remember, Qt used to run on embedded devices with no hardware acceleration whatsoever . Everyone and her granma is excited about web technologies, but this is not the future I want.

Native Client approach is a lot more promising, despite not being welcomed well in the industry.
I thought that was interesting. Also, I'm not sure why we need a specific law on the books to prevent people from being summarily executed by the government without due process. It's substantially disturbing that it might be necessary though.
Right, thanks! Corrected.
Software patents should not exist. Implementation is everything, ideas are easy.

Copyright covers everything important.
Guerrilla surveillance camera destruction hits the U.S.
Ask HN: Indian Railways - Is Analytics the way forward?
B612 is relying entirely on private funds.
Take a look at source code examples of Angular and Ember Todo apps: http://addyosmani.github.com/todomvc/

Some interesting facts about Todo apps:

Angular.js: 10 requests, 41.94kb transferred.

Ember.js: 17 requests, 334.12kb transferred.
tl;dr Don't run your single-threaded Rails app (read: the vast majority of Rails apps) on Heroku. Neither the Cedar or Bamboo stacks are optimized for them at this point.

It's incredible to me how the performance of their stack has degraded so far for what is probably the most common use case for their platform.
You also get an automated buffer system for the data, due to the OS.
It isn't a police state. And in recent years, it has been shown that it isn't corruption-free either.
it might be more of a canvas issue than anything. emscripten gets some good results most of the time (something like 10x speed down compared to g++ -O3).

Canvas (and webGL notably) support is there, but its super flaky and hard to make fast.
As a long time NetAdmin for a small WISP I understand where they are coming from. Even with monitoring and health checks, there are a lot of unknowns on the network. Sometimes I don't know there's a problem until a customer calls to complain. And even when they do complain, it can be tough to identify a root cause even with all the data we collect.

We try to do our best to be proactive, but sometimes you don't even know to look for something until it's a problem. Heroku has quite a few more moving parts than our modest network with a large percentage of that in the form of code written by thousands of other people. As long as Heroku is learning lessons from their failures, which I believe is the case, they are doing a good job.
It sounds like they have one routing cluster for all of Heroku. If this is the case, and large routing clusters are the problem's root cause, they should just shard the cluster.

I.e., give their bigger customers like RapGenius (who said they pay Heroku $20k/month and whose HN post spurred this debate) their own dedicated routing cluster with 2-5 nodes. Once a single customer exceeds that size, they're probably paying Heroku enough that Heroku can afford to devote an engineer to working specifically with them to implement large-scale architecture choices like running the app's DB on a cluster, etc.

Pile several smaller customers on a shared routing cluster to cut costs and keep the cluster utilization high, but once the cluster gets to be a certain size (reaches a fixed number of backend dynos or metrics get bad enough), start putting customers on a new cluster.

It should be fairly trivial to use DNS or router rules to dynamically move existing customers from one routing cluster to another.
@friendly_chap: No surprise considering how shit Java is.

You must be a shitty developer for hating on Java. Didn't you read thru the article about how useful and awesome Java is. The worlds top websites, mobile apps heavily run on Java and JVM.
I also didn't see any mention of refunds for all of the extra dynos that were needed due to the degrading performance of their service - or all the extra support hours where they told everyone 'not our problem!'.
> ... they are either incompetent or dishonest ...

Exactly. If they didn't know, they should have. If they did know, well, ...
Alchester Stables? What to look for in a Horse Bed linens
For a number of horse proprietors, the idea of possessing stables inside their residence is no opportunity and horse Alchester stables tend to be the alternative offered.
http://www.state.gov/j/drl/rls/hrrpt/2007/100537.htm

You get caned if you overstay your 90 days.
And at which point in history 10x speed down has become acceptable? In certain industries people are trying to squeeze the last bit of performance out of their code, fine tuning cache usage, SSE and whatnot. I just don't see it as an innovation in technologies, quite the opposite in fact.
From the perspective of someone who might be looking at Heroku as a host in the future, this is a bit scary. Their response appears to be mostly apologetic in that they're sorry that it happened - but does nothing to address the issue. It's more of a "we screwed up, oh well" than anything else.

They would have warranted a better response if they said they were actively looking into how to improve the routing system, but by the looks of things they're going to sit by and hope developers switch practices so they don't have to solve their problem.
I'm not able to follow parts of the post.
Our routing cluster remained small for most of Bamboo’s history, which masked this inefficiency.

If you went from 1 router to 2, 50% of routers can't optimally route a request. If you went from 2 to 3, you would have 66% which can't route. 3 to 4, 75%.

Once you get to say 10 routers, you are already at 90% sub-optimal routing. So are they saying, the had only 1 or 2 routers earlier?
Hierarchical Load Balance for Large-Scale Network Simulation
To achieve scalable performance, MaSSF uses a distributed simulation engine running on a cluster. Given a virtual network topology and a set of cluster nodes, MaSSF partitions the virtual network into multiple blocks, assigns the blocks to cluster nodes, and simulates in parallel, as shown in Figure 1. Every cluster node runs a discrete event simulation engine and exchanges events with other cluster nodes. To maintain accurate simulation, cluster nodes must synchronize periodically.
This is still not ideal. Even if you're running unicorn, you're still susceptible to queueing spikes due to random load balancing. The concurrency just gives you a small buffer and/or some smoothing on 95th percentile responses. Right?

At least there's a commitment to update the reporting tools... getting bad data in New Relic was (IMHO) the worst -- even worse than out-of-date docs.
I have enormous confidence in the capabilities of the team working on Ember. jQuery, Sproutcore, Rails core team members. If you're a Rails developer, the existence of active_model_serializers as a quasi-standard for how JSON is shuttled between tiers suggests that Ember has taken a position of strong thought leadership on a lot of things that other frameworks just don't have the reach to do.

Also, the recent Peepcode screencast on Ember is brilliant.
Doesn't this mean the camera was pointed toward the driver and not the road?
Why not? Binaries are so much better for a platform like the Mac (basically just 32 bit and 64 bit Intel architectures at this point, with fairly homogenous OS versions across the installed base). Why on earth make everybody waste their local machine cycles compiling something that should end up the same for everyone anyway?

Fink was only out of date because they weren't keeping it up-to-date (perhaps their builds weren't automated? That's pure speculation, I have no idea). Debian manages to keep things more or less up-to-date with more packages (and architectures) than Fink ever had.

Incidentally, if you put your Homebrew in /usr/local then it will often install using the "pour" technique which is pure binary distribution.

I loved Fink until it started languishing, and I love homebrew now: its "everything in git" philosophy and very-open-to-pull-request attitude of the maintainer make me optimistic that it won't slow down and become irrelevant like Fink did. I think that's the real difference between the projects.
That sounds great, but in practice I believe it is difficult and wastes time. You cannot be as good a filter as someone who does it for a living. Division of labor is the foundation of civilization. I don't try to fly my own 737, diagnose my own diseases, or try to filter propaganda and fact check issues I have no context for or experience with. I haven't the time, and it would be better spent, but if I did, I would most likely be constantly manipulated without my being aware of it.
We're talking about Harvard. Home of the Berkman Center and a shitload of politically connected lawyers. I'm sure he cold have coordinated with counsel to make sure he was protected.
If by interesting you mean totally misleading, then sure!

The Ember.js version included is unminified, and the number of files reflect several small files rather than one big file. The goal of TodoMVC is to compare code style.

But sure, we'll submit a pull request to TodoMVC to use the minified version of Ember.
If you count laptop plus tablet sales and measure by profit share, it's not remotely close: Apple obliterates its competitors by that measure.
Really, then what exactly would you call it? You are essentially subject to all manner of ridiculous punishment for what would be considered minor or non-offenses in most free countries. Most of their elections are uncontested. You can dress it up because their streets are clean and safe, but it's still facism.
Mindfulness In Plain English
Extreme portability is often worth 10x slowdown.
In this whole sad, sorry tale, the problem is that the Heroku support engineers clearly knew, and communicated to the customer, that the unexpected/unreported lag was caused by the random queuing. They knew what the problem was for three years; it was only when a big customer went very public that they adopted the right tone and action plan.

I imagine there's great discomfort inside Heroku these days because somewhere between the line engineers who knew about this issue, and the CEO, the fact that customers were complaining was swallowed up.
And? How does that have any bearing on the story at hand whatsoever?

As an entrepreneur who has seriously considered moving to singapore in the past I am much more interested in what can happen when you do obey their (quite reasonable) laws.
> You are essentially subject to all manner of ridiculous punishment for what would be considered minor or non-offenses in most free countries

Like vandalism and petty theft. And just look at how successful those "free countries" have been in addressing those categories of crime!

What you call "ridiculous" is simply what you have been conditioned to think, no more. Elsewhere in the world it might be called "effective".
The problem, as documented by the customer who went public with this issue, is that their request distribution scheme went from intelligent (i.e., load-based) to random, and a random distribution of requests is almost guaranteed to cause significant queuing for some non-trivial number of requests unless one has an absurd amount of extra capacity in place already, with ruinous financial aspects.
Because many people using HN are learning English as a second language, one should avoid dispensing bad writing advice.

The apostrophe is for possessives and contractions. Pluralization is neither.

Wrong: Greatest Hits of the 90's / The 90's' Greatest Hits / 1990's' Greatest Hits

Right: Greatest Hits of the 90s / The 90s' Greatest Hits / 1990's Greatest Hits

It's easy if you think of the difference between the plural and possessive "s" using the unabbreviated word:

Television's favorite stars are always on our televisions.

TV's favorite stars are always on our TVs.

Any style guide that writes that sentence a different way is simply wrong.
Well, this certainly calls into question their competence. They're a PaaS company that doesn't understand or measure their load balancing performance.

If you are a PaaS company, and you only have 5 metrics you can record, then 99% percentile latency across all apps should be one of them.

On another note: why is Rails single-threaded??? That seems unbelievable. So if you have a 2 second database query, your Rails process does nothing else for that 2 seconds? I mean people complain about the GIL in Python, which actually has reasons behind it, but this is just crazy.
http://rapgenius.com/Jesper-joergensen-routing-performance-u...

Just put it up on Rap Genius – create an account to help explain this post to the Heroku users it affects!
Doubtful. Where would they even start to calculate the so-called refunds?

Actually, I'm more than a little worried that their parent company (SalesForce) will see this episode as the showstopper for Heroku and just yank the plug.

Heroku's got some smart people over there and they really screwed the pooch but they're smart enough to come up with a better solution than 'we will rewrite our docs.'
There's another large issue with queueing requests on the dyno: when the app restarts, all the requests currently queued up on that dyno get dropped and the client receives a 503.
Developer starfuckers.

I'm not saying YC is without value, I think for certain people it's fantastic. Not everyone knows how to build a business out of the box. But the obsession with certain types of getting into YC is purely so they can be in the club and get rich and get onto TechCrunch.
Until your customer blogs about it on Monday morning :)
On another note: why is Rails single-threaded??? That seems unbelievable. So if you have a 2 second database query, your Rails process does nothing else for that 2 seconds?

---------------------

Thats not what happens, Rails does not block on IO, it will switch to another thread/process another request while it waits for IO to complete in the first request.

http://yehudakatz.com/2010/08/14/threads-in-ruby-enough-alre...
Found the grammatical error "it's own." Immediately assumed author was uneducated and closed the tab.
Fascism is very effective.

It's about values and freedom. If you don't care about that, safety is easy.
It sure may be, but JavaScript can't be "extremely" more portable than, say, C++, since all JavaScript engines with majority market share to date are implemented in C++.

Also its portability is not an inherent property of JS, it is because of the history.
Interesting. I will admit I was going shamelessly for a laugh there.
Toto & Heroku
I didn't see any apology. And the only promise of a better tomorrow is a vague "Working to better support concurrent-request Rails apps on Cedar".

-------

They apologized in another earlier post. https://blog.heroku.com/archives/2013/2/15/bamboo_routing_pe...

"We failed to explain how our product works. We failed to help our customers scale. We failed our community at large. I want to personally apologize, and commit to resolving this issue"
Some replies to parent dispute the 'police state' moniker. Decide for yourself:

(Source: http://www.hrw.org/world-report/2013/country-chapters/singap... . Points below are all direct quotes)

* Singapore's Internal Security Act (ISA) and Criminal Law (Temporary Provisions) Act permit the authorities to arrest and detain suspects for virtually unlimited periods of time without charge or judicial review.

* The Misuse of Drugs Act permits the authorities to confine suspected drug users in "rehabilitation" centers for up to three years without trial.

* Outdoor gatherings of five or more persons still require police permits. The city-state's Speakers Corner -- where people may demonstrate, perform, and hold exhibitions -- remains the only outdoor space where uncensored speech is allowed in the country.

* The Singaporean government and senior government officials have frequently brought charges of "scandalizing the court," criminal and civil defamation, and sedition to silence and even bankrupt its critics.

* Singapore's 208,000 foreign domestic workers are still excluded from the Employment Act and key labor protections, such as limits on daily work hours.

* Human rights defenders in Singapore risk being fined, imprisoned, bankrupted, and banned from traveling outside the country without government approval.
Maybe it's because I'm on a mobile device or I'm from France but I'm told I can't read the article unless I register on ft.com.

Does anybody have a link that might work better ?
When comparing to other portable systems (python, for example), it's "pretty good".

Plus all the messy porting of C libs to different platforms go away (you just need one SDL-to-canvas wrapper instead of 5 different implementations). It allows for a concentration of effort.
Very ironically, when I was reading your story, the first thing that came to my mind was a Knight rider episode (No Big Thing) as there was also a somewhat similar trick pulled in that episode... http://www.imdb.com/title/tt0620860/

http://www.angelfire.com/mn/nn/Knightrider.html (No Big Thing)
Why on earth would I want to use this?!
Corporal punishment of petty crimes == fascism. Is that your thesis?

I believe you to be quite misinformed in your understanding of fascism, freedom, and everything else. As far as I can see, the only "freedom" on offer in the society you hint at is the freedom to not be punished effectively for your crimes.

Please, Americans: if you have to mention the word "freedom" in your argument then you are probably talking shit. Think about it.
I do not think it possible to have a corrupt-free police state.
See reply here, which this branch of the thread seems to have missed: https://news.ycombinator.com/item?id=5229384
Regarding privacy:

"The bill stipulates that drones operated by the government must obtain a warrant before they can “collect information that can identify individuals in a private area.” In public areas, the government has to post notice that it will be collecting information in that location."

With cameras, infra-red, mics, and x-ray, they're a real threat to privacy. They could even be armed with mobile and wifi tapping technology.
Getting chills while reading the article. Another reason why ZTE and Huawei shouldn't be allowed near US telecom infrastructure. Sure not proven guilty in court but the association is too weird.
MR tech here. I once had a minor accident with an angle grinder (well, I've had a few, but this one had side effects) and got several minuscule steel fragments in a finger. I didn't know this had happened, except that once at work (edit: I work on 3T scanners) I could feel them in my finger. They were slightly sore, and very annoying. A few x-rays later I managed to localise them and with the help of a colleague, dug them out with a needle. I never did find them, but we got them out.
I have scanned quite a few people with various sorts of shrapnel in them. Only once was it a problem for the patient (moderate pain) but we don't take the scary ones in - intraocular metallic fragments, one deep in a neck etc.
http://pastebin.com/s2th4i04

I know this is poor, please check this out on the real site when you can.
This story is all over my FB wall. Rest assured there are many concerned Singaporeans listening, and it'll be harder to ignore this case now that the FT has brought it to the world's attention. I'd like to hear the IME and police's side of the story, though - hopefully a higher body will conduct a proper investigation to settle the facts and determine motives.

We rarely get serious cases of cover-ups being exposed, so if this is the real deal, it'll be a very interesting one, especially if it concerns foreign governments.
I think we all know if you're in asia stay as legal as possible. I'm just saying don't make an exception for Singapore.
Because they charge for services and are (as far as I know) profitable.
Maybe I'm being dense, but it doesn't make sense to me: if Broder's only goal was to write a negative review, and he didn't know about data being collected from his car, why take the trip at all? And if he did know about Tesla collecting data from his car, why would he do the things Musk claims he did? He's not stupid.

That, and the fact that he has a fairly plausible explanation for each of Musk's claims, would put the burden of proof on Tesla. (I also get lost in parking lots; it doesn't prove he was trying to kill the car.)
ACID transactionality.

Thank you, drive through.
Looks like the peepcode screencast is paid:

https://peepcode.com/products/emberjs

I suppose you'll say it's well worth the money? Anyone else bought/watched this screencast?
And $75k ish of helium - which is getting pricier by the day, and can at times be impossible to source. And the riskiest time in terms of quenches, is during ramping. Our last quench re-occurred just as they finished ramping it. We were down for 3 weeks ish and the cost excluding helium was huge.
I think that is what they're saying: for a long time Bamboo only had very few routers. One simple HTTP router can move a lot of requests!

(Maybe other topologies also hid the problem for a while, such as apps having traffic that still tended to come through one router even though coming from any was possible.)
Rails 3 is single threaded by default, but it can be made multi-threaded with config.threadsafe!. Rails 4 is multi-threaded by default.
All taken.
Businesses don't take sides in politics. They contribute to whomever will make their lives easier in the government and currently has the power to do so.
Please expand on this. It's quite a bold statement to make without giving at least basic details about what non-trivial issues you are referring to.