Person carrying bacteria resistant to antibiotics of last resort found in U.S. - <AUTHOR> https://www.washingtonpost.com/news/to-your-health/wp/2016/05/26/the-superbug-that-doctors-have-been-dreading-just-reached-the-u-s/ <comment><USER2> Relevant story: As a kid, one of my friends would frequently get strep throat. So his mom would give him amoxicillin until he appeared better... and then save the rest of the bottle for the next time he'd (invariably) get strep throat.

And that's how antibiotic resistance happens.

<comment><USER3> Erm. Strep throat is pretty severe, and also actually a bacterial infection. That's not a great example of antibiotic overuse.

Better example is doctors writing prescriptions for common cold infections that are viral anyway so they can appease patients by "doing something."

<comment><USER4> Primary care doc here. I agree that strep is "severe" as in "makes you uncomfortable with a fever, sore throat, enlarged tonsils, etc" but the infection generally resolves without antibiotics, if given proper time. The main rationale for treating strep pharyngitis (aside from appeasing patients) is prevention of rheumatic fever, a rare but devastating heart condition that occurs as a sequelae of untreated strep throat. Given the rareness of RF in the developed world, there are those in the infectious disease and primary care communities who think it is an excellent example of antibiotic overuse.

<comment><USER5> I had untreated strep when I was a kid, because the strep screen came back negative. Turns out it was group C, which didn't show up on the strep screen, but also didn't resolve itself. Some months later it got much worse. Somebody finally did a culture, figured it out, and gave me antibiotics (which cleared it up). Fast forward to age 29, when I had to have open heart surgery to get a mechanical mitral valve, for which I have to be on warfarin for the rest of my life (which comes packaged with increased risk of stroke and hemorrhage for the rest of my life) along with a beta blocker ('bystolic', aka nebivolol) because something happened to mess up my heart rate regulation during the surgery. I'd call strep pretty serious.

<comment><USER4> I'm very sorry to hear about your medical situation. I agree that RF and RHD are very serious ... my comment was only to say that treatment of a (frequently) self-resolving condition with 10 days of strong antibiotics has been an ongoing topic of debate due to the likely contribution to antibiotic resistance among other concerns. Here's a representative editorial from a few years ago:

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1949249/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1949249/)

Your condition is the reason that I find myself prescribing courses of amox even when chances of chronic strep colonization are much more likely than true acute infection. It's a real diagnostic quandary.

</comment></comment></comment></comment></comment><comment><USER6> The cover story for this past week's Economist was about antibiotic resistance: [http://www.economist.com/news/briefing/21699115-evolution- pa...](http://www.economist.com/news/briefing/21699115-evolution-pathogens- making-many-medical-problems-worse-time-take-drug-resistance)

And from that story, it talked about Colistin (the drug this patient's E. coli is resistant to): "Some of the antibiotics farmers use are those that doctors hold in reserve for the most difficult cases. Colistin is not much used in people because it can damage their kidneys, but it is a vital last line of defence against Acinetobacter, Pseudomonas aeruginosa, Klebsiella and Enterobacter, two of which are specifically mentioned on the CDC watch list. Last year bacteria with plasmids bearing colistin-resistant genes were discovered, to general horror, in hospital patients in China. Agricultural use of colistin is thought to be the culprit."

Considering the same article says that "In America 70% of [antibiotics] sold end up in beasts and fowl" it seems that an easy thing to do would be to stop giving antibiotics to animals

<comment><USER7> It would be easy, if the agricultural industry was concerned about antibiotic resistance. Unfortunately, like most markets, externalities like that are hard to price in. If Farmer Bob takes the high road and stops using so many antibiotics, he'll lose some stock and get outcompeted by Farmer Bill. If the turkey farmers band together heroically and agree to reduce their use of antibiotics, uninformed consumers will choose chicken instead. And there's not enough governmental desire for them to regulate it - and local government would be outcompeted by imported goods that use antibiotics.

<comment><USER8> Well, that sounds like an excellent case for tariffs.

<comment><USER9> It sounds like an excellent case for legislation to outright ban the use of human-safe antibiotics on animals.

Working antibiotics are among humanity's most precious and most limited natural resources. In a century they'll be gone, with devastating impact on routine medical care. We're living in the one glorious sliver of humanity's history that we have access to antibiotics, and we're squandering them to make meat a few cents/pound cheaper. It's criminally irresponsible toward future generations.

<comment><USER10> But meat is flourishing. Antibiotics are meat's way of making more meat. Call it the "selfish meat" theory.

</comment></comment></comment></comment></comment><comment><USER11> TL;DR

Modern medicine is over! Get to the zombie apocalypse shelter!

Not really though; everything scary in this article is either wrong, exaggerated or both. Ars Technica explains it expertly:

[http://arstechnica.com/science/2016/05/everybody-be-cool- a-n...](http://arstechnica.com/science/2016/05/everybody-be-cool-a-nightmare- superbug-has-not-heralded-the-apocalypse-yet/)

<comment><USER12> Yes, but although the arstechnica article points out a lot of problems with the original article's claims about this specific bacteria and points out the fear mongering about this specific case, even the ars article admits that the overlying problem of antibiotic resistance is still a bigger issue: "For now, the case serves mostly to highlight the ongoing crisis of rising antibiotic resistance and furthers the need for better stewardship of old antibiotics and development of new ones."

<comment><USER13> Agreed, but the level of research in novel antibiotics is really quite limited, mostly due to a lack of return on investment.

This actually means there is almost certainly a lot of unexplored potential, but getting drug makers interested is quite difficult (though in the last 5 years the field has been 10x more popular).

Most antibiotics on the market are just penicillin variants (well, β-lactam variants), mostly because that was one of the first things to blow onto a petri dish, was non-toxic, easy to manufacture, small molecular weight, and it happened to work quite broadly. Most bacteria share β-lactamase encoding plasmids with each other, so resistance is conferred within years (I think the original penicillin made it 4 years). Honestly we have done very little outside of this space.

β-lactamase inhibitors (basically blocking the method of resistance with a separate drug) have a lot of potential, as do many other combination therapy techniques. There are also many other non-β-lactam templates we could play around with.

With modern sequencing, you can actually identify the exact resistance mechanism of each strain you encounter. If we move to rapid diagnostic sequencing, we can tailor the treatment to avoid any existing resistance for the specific infection.

</comment></comment></comment><comment><USER14> Look, this is scary and a big problem, but can we please stop talking about the "end of the road" for antibiotics?

The worry here isn't that antibiotics will suddenly become useless and whenever anyone gets a bacterial infection they'll have no hope. The worry is that there will be a number of prevalent bacterial illnesses which can't be treated with antibiotics.

Currently antibiotics work for an overwhelming majority of bacterial illnesses, that's not going to change overnight. What will change is the idea that bacterial illnesses are trifles because they can be cured every time by antibiotics. A few diseases will emerge, more and more over time, that have much worse consequences than we are used to thinking about right now, but the rest will be the same.

I don't mean to underplay the threat, but if we keep pushing this rhetoric, people will discredit the threat when it turns out that 50 years later we're still using antibiotics for most illnesses that people actually get (because antibiotic-resistant strains are effectively quarantined). People will compare it with the "we're going to run out of oil" scare.

<comment><USER15> We shouldn't forget that antibiotic resistant bacteria become that way by giving up a metabolic pathway. Calling them 'superbugs' is actually misleading, because the resistant bacteria are usually less efficient.

If you remove the exposure to the antibiotic, they will revert back to the wild strain pretty quickly.

If we just stopped using antibiotics in agriculture, especially to promote growth, this could actually be possible.

<comment><USER16> The scary situation will be when they evolve resistance without a reduction in fitness.

<comment><USER17> How often does that happen?

</comment></comment></comment></comment><comment><USER18> The article doesn't touch on it, but the obvious followup question from the laymen is why can't we develop new antibiotics? I was curious and according to Wikipedia we haven't developed a new class of antibiotics in 30+ years. Can someone with knowledge on the subject explain why we seemingly can't discover/develop new forms of antibiotics to combat these resistant bugs?

<comment><USER19> From what I have read, the problem is that antibiotic development is not profitable. If a new antibiotic gets developed then it will be out on the shelf as a last-resort antibiotic, preventing the developing company from extracting a lot of revenue. And it is more profitable to develop drugs for chronic diseases. So pharmaceutic companies don't bother with antibiotics.

<comment><USER20> ...displaying a great example of why the free market is not the best way to handle healthcare and medical research. The availability of treatment has everything to do with profit, and little to do with need.

<comment><USER21> Given the heavy involvement of the state in funding and directing care and research, I don't think anyone would describe healthcare and medical research as a free market.

<comment><USER22> Yeah but that's more because of lobbying and politics than logical, economic approaches to problems. It's not like when I go to the doctor everyone's incentives are aligned. The insurance company is still actively working against me, just now it's really complicated how they do it due to regulation so only they can play the game and I just have to take their decision until it's worth getting lawyers involved.

</comment></comment></comment></comment></comment><comment><USER23> > Health officials said the case in Pennsylvania, by itself, is not cause for > panic. The strain found in the woman is treatable with some other > antibiotics.

Thanks for completely ignoring that advice with a headline and three paragraphs of misleading information designed specifically to cause panic.

</comment><comment><USER24> The are three solutions needed here :

1\. Stricter regulation of antibiotics, particularly in farming.

2\. Better government funding of antibiotic discovery.

3\. Stricter regulation of antibiotic use. No solo-drugs, all antibiotics used in stacks of 3 or more. Better monitoring of complete antibiotic use cycles.

Biologic resistance can be managed, HIV is more than enough evidence of it working. We have to get serious about it, the age of reckless antibiotic use needs to end, now.

<comment> semi-extrinsic I'm going to go out on a limb here, and say antibiotics overuse in third world countries is a big part of the problem, and the hardest one to fix.

This is purely from anecdotes, but I've heard from several friends who were exchange students from Pakistan/China/India that we have such a ridiculous system here, that back home they can just buy random antibiotics from the pharmacy whenever they catch a cold.

<comment><USER4> That's definitely been my experience. A few years ago, I went to a pharmacy in Thailand with what was clearly a common cold. Instead of handing me the Sudafed I wanted, the pharmacist recommended I take a weeks supply of low-dose amoxicillin. Not only would this do absolutely nothing for my viral cold, it would have increased the risk of creating amox-resistant bacteria in body. Truly concerning to imagine how often this scenario repeats itself every day all over the world ...

<comment><USER25> Exactly, I was in China and had a fairly bad sore throat. I didn't really think it was bacterial, and it ended up being just a cold. I went to a doctor (roll up door in a street). He shined a light in my mouth and decided that I should take vitamin C and some antibiotics. I paid about 2 USD for the whole experience, pills included.

</comment></comment></comment></comment><comment><USER26> Another Hacker News user submitted a better story yesterday

[http://arstechnica.com/science/2016/05/everybody-be-cool- a-n...](http://arstechnica.com/science/2016/05/everybody-be-cool-a-nightmare- superbug-has-not-heralded-the-apocalypse-yet/)

but I see that this story with the alarmist headline got more traction on the main page of HN. That's unfortunate for understanding the underlying issues.

<comment><USER27> Please submit this.

</comment></comment><comment><USER28> "Colistin is widely used in Chinese livestock" oh for fuck's sake…

</comment><comment><USER29> Wonder if we'll see a resurgence of phage therapy due to this.

Phage therapy is using viruses which will infect and attack the bacteria. Viruses can mutate and adapt just as well as bacteria (while say antibiotics are static in a way). So they can keep up with the mutations.

It is a pretty crazy but also ingenious approach.

[https://en.wikipedia.org/wiki/Phage_therapy](https://en.wikipedia.org/wiki/Phage_therapy)

<comment><USER30> Phage therapy is super interesting, but there are a lot of technical problems. If I ever leave software engineering, it'll be to go back to mucking around with phage.

Immune clearance: The immune system really enjoys soaking up phage. Blood titers drop stupidly fast. Maybe we could flood the colon with a phage-bearing solution to handle GI infections, but in general I'm really skeptical. There was a paper ~8 years ago describing serial passages in rabbits to enrich for immunocompatible phage. Don't know if further work has been done here.

Specificity: Phage really, really like their hosts. I had a strain of Phi X174 in lab that would simply never infect wild type E coli. To deploy phage effectively, you need to culture whatever it is that you're after. Next you'd want to infect the pathogen in culture and pass your phage for O(many) generations. A lot of human pathogens are just miserable to grow.

Efficacy: Antibiotics are just better at killing bacteria (resistance aside.)

Regulatory: You'd need to convince the FDA to approve a viral cocktail that is potentially going to kill the patient through anaphylaxis.

<comment><USER31> Indeed, the name of one of the major hospital-acquired human pathogens, Clostridium difficile, literally means "Clostridium pain in my ass to culture".

<comment><USER30> I once tried to grow magnetotactic bacteria. For the growth media, you had to prepare a witch's brew of unusual chemicals which sent me on a goose hunt around a few friendly chem labs. The protocol called for making a couple of litres; smaller quantities would just exacerbate measurement errors. After cooking it up, you were supposed to add 2mL to the growth media and incubate the whole mess for four weeks.

Needless to say, I could never get them to grow.

Edit: I found the protocol!

NTA 1.5g

MgSO4 3.0g

MnSO4 0.5g

NaCl 1.5g

FeSO4 0.1g

CaCl2 0.1g

CoSO4 0.1g

ZnSO4 0.1g

CuSO4 0.025g

AlK(SO4)2 0.01g

H3BO3 0.01g

Na2MoO4 0.4g

NiCl2 0.01g

Phew. Did I mention: it was an anaerobe? Flushing an exotic growth media with nitrogen is a dull way to spend a Friday afternoon.

</comment></comment></comment></comment><comment><USER32> This is what happens when you raise livestock on antibiotics as the de facto standard. You are what you eat.

</comment><comment><USER33> Two lines in the article:

> Colistin is the antibiotic of last resort for particularly dangerous types > of superbugs

and further down:

> Colistin is widely used in Chinese livestock ...

This is absurd. Preventive use of antibiotics on livestock works just like a giant training camp for hostile bacteria, and horizontal gene transfer will spread the necessarily created resistances to human microbes rendering them useless sooner or later.

</comment><comment><USER34> I don't get the deal here.

>Health officials said the case in Pennsylvania, by itself, is not cause for panic. The strain found in the woman is treatable with some other antibiotics.

So the last resort doesn't work, but other stuff works. It's totally reasonable to assume that if bacteria becomes resistant to more common antibiotics, that some other kind of antibiotic could do the trick.

Though I guess it would be nicer to have some sort of "proof" that the bacteria _does_ get weaker to stuff it's less exposed to.

Actually, side note but wouldn't mass feeding of antibiotics for certain kinds of bacteria let us completely wipe it out, a la smallpox?

<comment><USER35> In a word, no. Here's why:

\-- Viruses can't reproduce outside their host. They have a limited lifetime in the environment before they degrade. \-- Immunity lasts a long time, even a lifetime. \-- So, if you successfully immunize everyone in the population against a virus (like smallpox), and keep doing it for a few years, then eventually that virus will die out

This is not true for bacteria. Many bacteria can live in the wild, and in fact only opportunistically infect humans. Also, antibiotics are only effective while you are taking them, and many of them have negative consequences if taken for long times in therapeutic doses (stomach upset, light sensitivity, yeast infections, just to name a few). Next, 60% to 90% of a dose of penicillin is excreted into the urine fully intact, so our sewers, which are teeming with bacteria, would also be flooded with sub-therapeutic doses of antibiotics. Finally, bacteria can exchange DNA with each other, even inter- species, so if we train the sewer germs to survive an antibiotic dose, then they can transfer that capability to other more virulent bacteria that can infect humans. This is, in fact, probably the mechanism for formation of some of these multi-drug resistant strains.

</comment></comment><comment><USER36> It might be time to start editing our (DNA) code to fight the bacteria. It seems like the only thing that will be fast enough to keep up with the mutations.

<comment><USER37> Or make little robots to fight the bacteria

<comment><USER38> Our bodies already make little robots to fight bacteria

</comment></comment></comment><comment><USER39> I wonder if you could create a new antibiotic and restrict it to supervised inpatient use only, to preserve efficacy for as long as possible.

</comment><comment><USER40> There is an interesting RadioLab episode that covers antibiotic resistance and an unlikely source of new antibiotics.

Staph Retreat - Nov 2015 [http://www.radiolab.org/story/best- medicine/](http://www.radiolab.org/story/best-medicine/)

Or load it up in your favorite mobile podcast app.

</comment><comment><USER41> If we can't kill these infections after they happen: Can we develop vaccines against them to prevent occurrence?

<comment><USER42> There are pneumonia vaccines[1], but they mostly cover the main bacterial strains that cause it. A lot of diseases like pneumonia can be caused by multiple strains of bacteria. It's hard to vaccinate against all of them.

[1][http://www.cdc.gov/vaccines/vpd- vac/pneumo/default.htm](http://www.cdc.gov/vaccines/vpd- vac/pneumo/default.htm)

<comment><USER41> Hard, yes. Harder than curing resistant infections?

<comment><USER31> Potentially, yes. There are many, many microbes who have antigenic profiles that make them very poor candidates for vaccines.

</comment></comment></comment></comment><comment><USER43> Time for Congress to authorize a very big monetary prize for the company that comes up with a better solution, with that solution then being licensed for free to all U.S. manufacturers (or something like that to make it politically acceptable to the xenophobic elements in the GOP).

<comment><USER44> There already is a free and better solution: [https://en.wikipedia.org/wiki/Phage_therapy](https://en.wikipedia.org/wiki/Phage_therapy)

Sorry for the redundant comments, but it's important for people to hear this. More people die from MRSA than AIDS in the US, and the FDA is structurally against adaptive therapies.

<comment><USER31> As much as I love phage therapy, there are some very real problems with it.

And characterizing it as "free" is...flawed, at best.

<comment><USER44> The parent comment mentioned "licensing", so I used free as in libre, not beer.

<comment><USER31> Even then, generalized, FDA-approved "Phage Kits" that don't require bespoke lab solutions for each and every patient likely won't be free as in libre.

<comment><USER44> Requiring there not be bespoke lab solutions for any patient is the problem -- it's why people are suffering and dying from MRSA now in the USA, but some can travel to poor areas of the former USSR and get cured. We can already take bacterial cultures and breed them in an automated fashion, breeding effective bacteriophages is the next step. We need to be funding R&D into doing this safely and in an automated way. It's already possible to do with 1930s technology so we should only be able to do better now.

<comment><USER31> It's a scientific and medical requirement, not a regulatory one. Using that on a mass scale, rather than for occasional one-off treatments for particularly unresponsive infections, is going to require kits, or a massive investment in laboratory capacity in the U.S.

This is the field I work in. Phage therapy is awesome, and actively being explored, but there is a reason antibiotics won out. Phages are anything but easy and general-purpose.

<comment><USER45> Wikipedia has "In the West, no therapies are currently authorized for use on humans, although phages for killing food poisoning bacteria (Listeria) are now in use"

which sounds like a regulatory issue. And a bit of an unnecessary one it seems as the treatments seem harmless to humans.

<comment><USER31> It's a regulatory issue, but it's also a clinical one. Even if it gets approved, it will still need a general purpose kit-based form, and that's a massive clinical and scientific hurdle.

Also, phage therapy killed people in the past. Mostly due to poor purification, but it's not inherently harmless.

<comment><USER10> So has orange juice.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER46> Relevant: [http://www.foodsafetynews.com/2015/02/study-e-coli- vaccines-...](http://www.foodsafetynews.com/2015/02/study-e-coli-vaccines-are- effective-but-economic-incentive-needed/)

</comment><comment><USER47> I wonder if antibiotic resistance will be the reason that people move out of the cities back to rural areas.

You can't get sick if you're not near anyone else.

<comment><USER48> More likely that we'll start seeing bleach and ozone being used in hospitals to clean again. Probably radiation too.

I know that bleach is used, but hospitals used to smell of the stuff.

Amputations are going to make a comeback big time.

Its going to be interesting if you can't go into surgury for fear of getting post op infection.

This will be interesting to watch.

<comment><USER49> Hospitals generally don't use bleach as a multipurpose germicide/virucide/fungicide as it is really bad at doing that, they use an specialty chemical solution that can kill things that bleach won't.

<comment><USER31> They use a great deal of bleach (Chlorox frequently has a booth at conferences I go to) along with other specialized cleaners, ozone foggers, UV radiation robots...

</comment></comment></comment></comment><comment><USER50> And still, the (mis-)use of antibiotics in meat production carries on (at least in Europe) -- even using last-resort antibiotics.

</comment><comment><USER51> Meta: something about washingtonpost.com locks my browser every time.

<comment><USER52> Open the link in incognito mode, should bypass their monthly article limit.

<comment><USER53> firefox self-destructing cookies extension. Greatest thing since adblock.</comment></comment></comment>


Improve your eyesight (presbyopia) with an iPhone app - <AUTHOR> http://www.extremetech.com/extreme/99217-improve-your-eyesight-with-an-iphone-app

<comment><USER2> So this app trains people with presbyopia to recognize blurry shapes as the corresponding text. Am I understanding this right?

This doesn't improve your eyesight, it just trains people to decipher certain types of blurry text.

<comment><USER3> The optics don't improve, true, but the processing does. In the end, you can see better.

</comment></comment><comment><USER4> $95 for three months of a reading training program. That's one way to crack out of the $1 app market.

I predict great success for them, and if the claims are true, happy customers too.

<comment><USER5> I predict $1 copycats in 3, 2, 1 ...</comment></comment>


List of eponymous laws — very cool Wikipedia page - <AUTHOR> http://en.wikipedia.org/wiki/List_of_eponymous_laws

<comment><USER2> This is pretty nice. Having a tool named after you seems to me better than your name on some pile of stone. After all, things come and go, but Andre Ampere's name will always be current.

<comment><USER3> We need more good puns here.

</comment></comment><comment><USER4> I've been trying to get Percival's Law of Data Compression -- "Birds of a feather compress better together" -- more widely used, but so far it has only been picked up by one other author.

Does anyone else here have similar "laws" that they think ought to be better known?

<comment><USER5> Hofstadter's law: "It always takes longer than you expect, even when you take Hofstadter's Law into account."

It should be considered one of the basic axioms of programming, maybe even engineering, although I'm just biased because it is an infinite (perhaps even strange) loop.</comment></comment>


Google To Take Chrome Out Of Beta  - <AUTHOR> http://www.techcrunch.com/2008/12/10/google-takes-chrome-out-of-beta/ <comment><USER2> Just out of curiosity, when are they going to take Gmail out of beta? I mean seriously, it's been 4 years for crying out loud...

And while they're at it, do something with Grand Central already cause it's freakin' great... but yet another stalled service Google hastily acquired and has done nothing with. I don't even have invites to give to countless other friends seeking access.

</comment><comment><USER3> "The Google's open source browser has a number of eager customers, including OEMs who can't offer the browser until it is in full release"

Considering how much bullshit is attached to the 'beta' tags these days, especially when it comes to Google I have a hard time believing this.

So let's say the OEM has a requirement that they don't ship 'beta' software. Google just says "it's not beta" and whamo! They can ship it.

Is there any real actual tangible difference between a Google product that is beta/not?

<comment><USER4> I'd wager the case is that they'de be required to provide support if the product is out of beta.

</comment></comment><comment><USER5> That's unfortunate, considering how unstable it is. There's one issue in particular that's extremely frustrating. Say you have multiple monitors, in my case I have 4, 2 of which are attached via a USB2DVI adapter. Every time I start Google Chrome all my screens will flicker and reset their settings, leaving me to have to redefine my monitors and their positions. It boggles my mind that Chrome needs to interface with the monitors at all, and oddly enough I've only experienced this issue with Chrome.

</comment><comment><USER6> That was quick!

<comment><AUTHOR> That was essentially the reason I found this interesting. Considering (as another comment correctly states) Gmail has been in Beta for 4 years. Google almost singlehandedly started the "perpetual beta" mantra, and suddenly, Chrome, which happens to be a complex piece of software, is out of beta.

Makes me think... Why?

<comment><USER7> Chrome has been in development since spring of 2006. It has been around much longer than it has been public.

</comment></comment></comment><comment><USER8> Are they going to come out with a Mac version first?

<comment><USER9> I wish. But probably not.</comment></comment>


Australia to censor AppStore etc.? - <AUTHOR> http://www.zdnet.com.au/minister-sits-on-mobile-app-censorship-339302426.htm <comment><USER2> There has been a lot of censorship lately in Australia, I wouldn't be surprised if they do this too.

Disclaimer: I'm from Italy and my country is not that better.

<comment><USER3> Although that may appear to be the case, the reality is that censorship has remain unchanged in Australia for a quite a long time.

If you're referring to video game censorship, that's not a recent problem, but something that's existed for a couple of decades now.

If you're talking about the internet filter, that's just the pet project of the Minister for Communications. He has yet to receive the support of the Government to introduce the legislation into parliament, so it'll be interesting to see what happens over the next six months or so (if he manages to introduce legislation into parliament, and if he does, how the opposing parties will react).

<comment><USER4> [http://en.wikipedia.org/wiki/Internet_censorship_in_australi...](http://en.wikipedia.org/wiki/Internet_censorship_in_australia) reports that the Government has been supporting and implementing degrees of Internet censorship for some time now. While the latest effort by Conroy has yet to get Government support it is hard to imagine the opposition Liberal Party (the conservative party - they have attempted to introduce the same thing in the past) opposing it.

<comment><USER3> >it is hard to imagine the opposition Liberal Party ... opposing it.

My understanding is that they opposed ISP level filtering while in government.

Here are some comments made by Senior Opposition Frontbencher Joe Hockey a few days ago:

"What we have in the government's Internet filtering proposals is a scheme that is likely to be unworkable in practice. But more perniciously it is a scheme that will create the infrastructure for government censorship on a broader scale," said Hockey in a wide-ranging speech on freedom to the Grattan Institute last night.

Hockey said that "of course" people wanted to stop unlawful material being viewed on the internet, and that there were appropriate protections that are in place for that. "But I have personal responsibility as a parent," he added. "If I want to stop my children from viewing other material that I feel is inappropriate then that is my responsibility to do something about it – not that of the government."

"Protecting liberty is about protecting freedoms against both known and future threats. Some may argue that we can surely trust a democratically-elected government in Australia to never try to introduce more wide-spread censorship. I am not so sure!"

[http://www.itwire.com/it-industry- news/strategy/37527-hockey...](http://www.itwire.com/it-industry- news/strategy/37527-hockey-slams-unworkable-internet-filter)

Nick Minchin, the former Opposition Communications Minister, was also strongly against the Internet filter. Here's an opinion piece he wrote for the SMH.

[http://www.smh.com.au/news/opinion/big-brother-filter- plan-i...](http://www.smh.com.au/news/opinion/big-brother-filter-plan-insults- parents/2009/01/21/1232471392459.html?page=fullpage)

<comment><USER5>
        My understanding is that they opposed ISP level
        filtering while in government.

<http://en.wikipedia.org/wiki/Helen_Coonan#Internet_Filtering>

That government had some crazy ideas in the late 90s, but between 2000 and loss of government in 2007 they encouraged parental supervision through opt-in filtering software, and opposed ISP-level filtering.

        Nick Minchin, the former Opposition Communications Minister

Minchin wasn't communications minister in government, but became shadow communications minister in opposition. This doesn't detract from the link you sent.

<comment><USER4> I see your point but Minchin has retired and the opposition that the Libs have isn't ideological - it's largely "it won't work". My concern is that their opposition is simply because "we have to oppose them".

Hockey's comments are refreshing but my experience is that he plays populist/party-line politics so it has little bearing on how he would actually vote at the time.

I guess the upcoming election will probably decide how this plays down anyway.

</comment></comment></comment></comment></comment></comment><comment><USER6> If it weren't for the fact that virtually all apps are available from (and only from) a single centralized location, you'd think that actually doing this would be non-trivial.</comment>


Hacker News Passes 100,000 Items - <AUTHOR> http://news.ycombinator.com/item?id=100000

<comment><USER2> <http://news.ycombinator.com/item?id=87846>

<comment><AUTHOR> I'll be darned. Guess I missed that one. Thanks zach!

</comment></comment><comment><USER3> Slightly misleading, because we have internal messages and documents that are also stored as items. But probaby not more than 1000 of them, so we will pass 100,000 comments + stories today.</comment>


All ideas are old ideas - <AUTHOR> http://www.chris-granger.com/2012/10/05/all-ideas-are-old-ideas/ <comment><USER2> The problem with having your code all in a software image is that the second you do this you lose a large existing toolset that people have invested a lot in mastering.

Just think of everything that you know how to do which involves a filesystem. I regularly use editors, grep -r, cd, edit in one directory and run unit tests in another, revision control systems, etc. People have invested a lot of energy into these tools, and have strong opinions about which ones they prefer and why. (Perhaps you prefer an integrated IDE. Doesn't matter, my point remains.)

As soon as you move to an image based system, your entire toolset no longer works within the inside of that image. It is, of course, a programmatic environment and replacements for every filesystem manipulation you are familiar with are available. Sometimes those replacements are better (though better is often just in the eye of the beholder). But they are guaranteed to be _different_. And as you move from one image based language (say, a Lisp dialect) to another (eg Smalltalk), they will be different again.

By contrast if you move from one filesystem based language to another, you will still have a learning curve, but there is a large toolset that you do not have to relearn.

<comment><USER3> "The problem with driving a car is that you lose almost all the skills you obtained by driving a horse carriage".

Yes, the image interop part is a bit more difficult to solve. I'm not saying it's exactly like the switch from carriage to car, but I'm saying that _some_ changes are worth losing existing skills

<comment><USER2> Consider that image-based environments have been losing ground to file-system based ones for years.

Consider also that core ideas that make image-based environments good can be separated from the image-based system and moved into non-image based systems. Two examples that I would give for Smalltalk are Ruby's borrowing of Smalltalks OO model, and various IDEs borrowing the idea of a refactoring browser.

Borrowing the other way is much harder. For instance consider the distributed version control patterns that git enables. Image-based software development communities are sufficiently small and fragmented that they are unlikely to all duplicate the functionality of git. And because of the internal differences, they each would have to reinvent it. By contrast once git became available, it was immediately available for use with C++, Java, Python, JavaScript, Haskell...

There are advantages to image-based environments, but do they outweigh the disadvantages? Before concluding that they do, you might want to re-read Worse Is Better.

<comment><USER4> Good points.

A possible approach is to consider the file system the image - consider a UI for managing a VM image and processes within that image.

The difference is then essentially deciding what is the center of the system.

The older image based language systems assume they are the center and all must pass through them - like a monolithic kernel.

Perhaps what could be explored is more transparent integration between language runtimes and file system objects.

<comment><USER5> I think you hit the nail on the head. Build systems like GNU Make pull information about the file system to find out what has been updated. All we basically have to do is to

1) move from an information pull to a push. (Sidenote: This is something that 'kind of' works in OSX GUI, although it seems to me that 10.7 has broken this functionality for certain usecases. E.g. I'm connected to my host mac with my linux vm through SSH and when I've updated a file from within that VM, the host Finder windows get updated automatically and Preview.app windows get updated when I click into them).

2) Extend the functionality to runtimes as well, i.e. enable hotloading like in the new Unreal engine.

</comment></comment></comment></comment></comment><comment><USER6> Something I've always wondered is how image-oriented languages like smalltalk handle deployment, version management, etc. How do you make a frozen, repeatable bundle? I realize that may be the wrong question, that those things are irrelevant, but if so, why are they irrelevant? What is it about those environments that compensates?

<comment><USER7> one way to do it is to load the entire system into the image and actually just straight up deploy the image as an executable.

<comment><USER6> I guess I don't understand where the line between code and data lies, then. Is there a store for variable data that is separate from the image?

EDIT: To clarify, I know that Lisp and Smalltalk have a fuzzy-to-nonexistent line between code and data. What I want to know is how you'd manage that in practice. If I'm changing an existing piece of software, I don't want to expose production users to its incomplete state, so I can't change the running production site directly. (Right?) But if I'm developing locally, or even in a staging version, I don't want to transfer my test/sample data.

Maybe a better question is, "What is a typical workflow like for modifying production software?"

<comment><USER7> > Maybe a better question is, "What is a typical workflow like for modifying > production software?"

In a modern Common Lisp web server set up, you'll likely have a SWANK connection available for debugging and patching. You will have to write live- patching code to correctly lock, drop/unbind old definitions, rebind new definitions, and unlock. It will likely remind you of a DB migration script.

For a non-live upgrade, you'll have a process that starts up the new server image, gets it ready to receive connections, then switch the routing & drop the old server. It's not too different from other systems, IMO.

</comment></comment></comment></comment><comment><USER4> It's great to see Chris write this up.

It's always refreshing to see someone explore the work of those who have had similar concerns or solved similar problems. Whether they have independently chosen a similar direction or are standing on the shoulders.

Provides a good reference for new comers wanting to understand what approaches have been explored before.

We live in exciting times. The confusion of (programming) tongues is in full swing; the CPU clock wall is with us; high level features such as closures and GC now have fairly efficient implementations - it seems there are now enough transistors to deliver much of the abstraction that was envisioned by the founders but gave way to pragmatic concerns in the early microcomputer era.

I am looking forward to IDEs that manage and simplify complexity, and hardware ISAs that throw a few more transistors at things like STM, tagged data and memory management.

I can see a future where I can edit code in a language foreign to me, but see an instant side-by-side (editable) version in a dialect I'm more comfortable with. Switch in another view and drag and drop states in my state machine via direct manipulation, and so forth.

</comment><comment><USER8> This really got me thinking about the ideas that we can mine from old, neglected systems that lost the marketing battles and are simply considered obsolete now.

<comment><USER9> So one of the things I've been working on in my 'spare' time is a simple training computer. One of the things I have been very careful to do is document what sources of information and inspiration I'm using in that design/implementation (all pre-1992) in order to insure that should someone try to throw a patent troll lawsuit at it I would be well equipped to defend. Sad really.

</comment></comment><comment><USER7> I am very glad to see the Light Table team taking a hard look at the 70s & 80s work. It's very... heartening.

Personally, I am wondering when light-table mode for emacs/common lisp will come out. :-)

<comment><USER10> talk about blast from the past, I spent a few years looking at a Symbolics machine, though I rarely saw that Genera login, the machine stayed up for days on end.

light-table mode for emacs/common lisp would be neat. As a schemer I think what would be really awesome is to see light-table merged with the emacs/guile/geiser work. Geiser is also trying to resurrect the lisp machine.

</comment></comment><comment><USER11> I had a Xerox 1108 Lisp Machine from 1982 to about 1987 (and for one month, I ran Smalltalk on it rather than Lisp).

Yes, it was awesome compared to using a timeshared VAX (or whatever), but as fantastic as my 1108 was for its time and no matter how much I loved it at the time, I like my development environments today a lot more. Examples: development and debugging of both server side and client side code (GWT on client, something REST full on the server side) with IntelliJ Java debuggers open on both client and server code - hopefully you may only need this once a month but useful when you need it. Repl based development with a smart IDE (like Clojure in IntelliJ or Ruby in RubyMine). Interactive Scala worksheets in the Eclipse/ScalaIDE (sort of like Chris's Light Table).

In addition to a lot of NLP work on my 1108, I was also just getting into neural networks back then and my NN simulations ran like mollasses on the 1108. Any of my laptops are many orders of magnitude faster for just about anything I do than my 1108.

</comment><comment><USER12> chris - In the 8/17 post you said there would be a big announcement coming up soon. Any updates on that? I think there was some speculation that it would be Python support - that would be awesome!

</comment><comment><USER13> [please refute, not just downvote] Just because something can be done doesn't mean it _should_ be done (maybe it should be done, but for some other reason).

I'm suggesting that barriers to modifying systems have had an accidental benefit of favouring standardization.

The basic problem is that it's hard to create systems (APIs, generalization, documentation, test-cases, integration with everything else). Brooks claims it's 9 times as much effort as making something that "works for me". If you can't amortise that over many users, it's usually not worth doing the job properly.

But if it's just for you, you don't need all that polish, right? Well, no. If you are standing on the shoulders of giants, it's really helpful if those giants are stable, function as you expect, interact correctly with other tools, and have clear documentation for when you've forgotten the details (writing it yourself doesn't make your memory perfect). SOTSOG is really important for building complex systems, because it enables you to push down details to a lower level of abstraction, so you have less clutter to deal with. It's getting the abstractions right that is so difficult (we've all seen it done wrong).

There are huge advantages to using standardized systems, that have been improved, tested, documented etc by others. If you want to do something different, it's very helpful if you can start with standardized components around the new part, so you can just concentrate on the interesting stuff, and not need to build the whole world from scratch. Of course, the existing stuff is not perfect - the question is whether it's worth it for you to spend the time needed to make something better.

Some issues in assessing this argument: These are ideas have been around for a long time, but haven't taken off. Highly modifiable systems like lisp, despite having clever and devoted users, lack the standardized libraries of less flexible languages like Java.

But there is one kind of area where such systems are absolutely brilliant - exploration at the systems level. Many (most?) programming language ideas have been developed in lisp, even though did not become popular in that form, because lisp is great for language exploration, but not for standardization. Similarly, an OS that can be modified on the fly, is great for exploring OS ideas. You can iterate quickly, see the results and so on.

Of course, it seems possible that one could have it both ways - a highly flexible system that also had standardized components. But that doesn't seem to happen. Flexibility and standardization are natural enemies, both in differences in the tools that support them... and the kinds of people who use those tools.

BTW: There's a middle way. Create tools that can be standardized on. i.e. libraries, frameworks, engines, DSLs. Light table could be perfect for that... but people who use it may want to make tools that are just as flexible as light table, and so don't support standardization.

</comment><comment><USER14> What has been will be again, what has been done will be done again; there is nothing new under the sun.

<comment><USER15> Except, you know, computers...</comment></comment>


Chris, Nat and Satya's Calldeck Regarding Microsoft and GitHub - <AUTHOR> https://view.officeapps.live.com/op/view.aspx?src=https://c.s-microsoft.com/en-us/CMSFiles/calldeck.pptx?version=f3eef72b-35d3-95b2-4fda-73a47f805c7f <comment><USER2> Slide 12:

> GitHub will retain its developer-first ethos, operate independently and > remain an open platform

> Nat Friedman will become the CEO of GitHub

As far as acquisition news goes, this is pretty good news. I think the one thing I was hoping for was autonomous operation from GitHub, and we're getting that. Nat created Xamarin & by extension a large swathe of the Mono project -- which means that his heart is certainly aligned in the right spot. He sounds like an excellent CEO grab, and it wouldn't surprise me if this is more of the deal than it's being portrayed as. GitHub has needed a CEO for a while, and Nat at the helm is a great person for that.

I'm optimistic that, as long as GitHub remains an independent business unit (ala Heroku at Salesforce), then it'll actually be a good thing. Let's hope it stays that way.

<comment><USER3> If there is one thing that I've learned from watching tech acquisitions up close for way too many years then it is that you should not put too much stock into words spoke by execs of companies around or immediately after an acquisition.

<comment><USER4> I wish I could disagree with you, but sadly it's a "fool me once, shame on me..." situation. There is no point in drawing conclusions mere hours after an acquisition announcement. Wait until later when more information and evidence are available.

</comment></comment></comment><comment><USER5> Slide 10: Microsoft <hearts> Open Source.

It's really amazing how much Microsoft has changed (to the positive) since Ballmer stepped down as CEO.

<comment><USER6> > Slide 10: Microsoft <hearts> Open Source.

you do realize that's just PR talk right? Most of their money-making products and services are far from being open source, so let's tone down the grandiloquent claims a little.

<comment><USER7> Microsoft is the largest contributor to open source on Github already...much higher than even Google.

[https://medium.freecodecamp.org/the-top-contributors-to- gith...](https://medium.freecodecamp.org/the-top-contributors-to- github-2017-be98ab854e87)

<comment><USER8> But Google is a much larger contributor and patron to open source.

<comment><USER9> Not on GitHub, according to GitHub's own metrics. Microsoft-affiliated accounts contributed more than Google's multiple organization accounts combined, in commit-count, number of projects/repositories contributed to, number of lines contributed. Admittedly, such quantity metrics are not great for apples-to-apples comparisons of code quality and "patronage", but metrics are still the closest approximation we have to actions over marketing spin.

<comment><USER8> Even on github (which does not include giant codebases like chrome and android) I would argue Googles contributions are more influental.

</comment></comment></comment></comment></comment></comment><comment><USER10> Also interesting: the laptop in the slides is a MacBook, not a laptop running Windows. It might look like a generic aluminium device, but see the window decorations...

<comment><USER11> Plenty of people in Microsoft use open-source tech running on Apple hardware. It's not rare or unexpected anymore in this current decade.

<comment><USER12> There is a big difference in "using for work" and "using in promotional material"

<comment><USER13> Why would they go buy a Macbook and put their Microsoft acquisition presentation on it for the subtle PR that they acknowledge Macs exist? How does that make sense? If they were going to put that much effort in, why wouldn't they to full ham and use something running Linux?

</comment></comment></comment></comment><comment><USER14> Pardon my ignorance. What is a calldeck? I couldn't find a good result on Google. It is like a sales deck?

<comment><USER15> If a company has an investor call, they sometimes supply the investors with a deck to follow the call - a calldeck.

</comment></comment><comment><USER16> Mr. Nadella's version of "developers developers" is top notch. I was scared we will get something like: [https://giphy.com/gifs/michael-strahan- enTimXqzmVXR6](https://giphy.com/gifs/michael-strahan-enTimXqzmVXR6)

</comment><comment><USER17> Guess Atom is getting the axe then

<comment><USER18> Atom has been leagues behind VS Code for a quite a while. Even with an acquisition I don't see it ever winning that fight. Too much baggage in the underlying architecture.

<comment><USER19> They were trying: [https://github.com/atom/xray/](https://github.com/atom/xray/)

I wonder if they'll finish it.

</comment></comment></comment><comment><USER20> It just benefits large companies, not small ones. Now Microsoft is able to slam a deal with Github in the offer (which every company is using) to sell Azure. Brilliant!

<comment><USER21> My thoughts also, something to dethrone AWS. Azure is actually doing surprisingly well in Big Enterprise. But in the seas of Small Medium Coprs and Dev houses they have little to Zero penetration.

<comment><USER22> Because that's where the real techy developers are who knows quality from marketing. Enterprise is filled with consultants so of course they promote Azure - what else are you going to do if you are a Microsoft consulting company?

<comment><USER23> Funny, then, how we don't keep hearing about big Azure outages like we do with GCE and AWS.

<comment><USER24> To be fair, all cloud environments have (major?) outages. Do you have data to backup your claim?

</comment></comment></comment></comment></comment><comment><USER25> In an effort to show commitment to existing developer communities, all images of computers in the slide-deck have been changed to Apple Macs...lol

</comment><comment><USER3> The degree of gullibility in these threads is unexpected. You'd think the hacker community would be vaccinated against PR by now but it seems to work just fine.

Next up: "Our incredible journey".

When it all comes crashing down, don't say you weren't warned.

<comment><USER26> Imagine Microsoft implementing AI "Code ID" for screening Github code uploads for intellectual property violations, if this becomes EU law in 2020, [https://blog.github.com/2018-03-14-eu-proposal-upload- filter...](https://blog.github.com/2018-03-14-eu-proposal-upload-filters- code/)

      $ git push ...
      remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
      remote: error: GH013: Your push could infringe someone's copyright.
      remote: If you believe this is a false positive (e.g., it's yours, open
      remote: source, not copyrightable, subject to exceptions) contact us:
      remote: https://github.com/contact
      remote: We're sorry for interrupting your work, but automated copyright
      remote: filters are mandated by the EU's Article 13.
      To github.com/vollmera/atom.git
     ! [remote rejected] patch-1 -> patch-1 (push declined due to article 13 filters)

<comment><USER3> Be nice if they flagged their own:

[https://twitter.com/jamiebuilds/status/1002696910266773505](https://twitter.com/jamiebuilds/status/1002696910266773505)

<comment><USER26> That thread says they have an internal system that analyzes code for conflict with StackOverflow and Github. Looks like an employee figured out how to thwart the automated code plagiarism analysis.

</comment></comment></comment></comment><comment><USER27> What was Github's current valuation? It seems that the last round valued them at $2b in 2015. Around ~3x multiple on the last round (~7.5b$). Hopefully, the employees are all happy!

</comment><comment><USER28> On iOS this isn't functional. I can't advance past the first slide.

<comment><USER29> Works for me, swipe left/right

</comment></comment><comment><USER30> Can't view with javascript disabled. !@#$ that.

<comment><USER31> Not to be rude, but honestly can you view anything with JavaScript disabled anymore? I don't exactly blame the website.

<comment><USER32> If you're genuinely curious, then I highly encourage you to try it out. For me, I can view almost everything I want and am much happier with javascript disabled by default and enabled only when needed.

<comment><USER31> Does it help you bypass paywalls? Asking for a friend.

<comment><USER32> Don't know, kinda doubt it though.

</comment></comment></comment></comment></comment><comment><USER33> Wow, that looks like crap on a retina/hidpi screen.

</comment><comment><USER34> Where's the slide for "Totally clobbers coverage of any Apple announcements from WWDC today"?</comment>


"Death by GPS" - people relying on technology they don't understand - <AUTHOR> http://www.sacbee.com/2011/01/30/3362727/death-by-gps-in-desert.html

<comment><AUTHOR> Note how they also indirectly blame Google Maps for inaccurate data.

I must the last person that carries printed maps and a gallon of water in the car.

That $30k SUV is pretty much useless if you run out of gas.

<comment><USER2> I carry extra water on any long road trip, but especially in the desert. It's important in areas where you might get snow-stranded too.

</comment></comment><comment><USER3> Reinforces the principle about what a jeep is for: "Enabling you to get in trouble further from help".</comment>


JavaScript performance and a Webkit hotspot - <AUTHOR> http://my.opera.com/emoller/blog/2011/05/01/javascript-performance

<comment><USER2> Mozilla JS engineer here. It goes without saying that I don't speak for Mozilla here, or even for the rest of the JS team. And I may misremember stuff, so don't cite me too closely.

Benchmarking is very difficult, and not just in JS. I worked on PHP before, and benchmarking was crap there too. Same in Lua [0]. Same in Python until the Unladen Swallow team packaged up some real-life applications. Even in Java, things were bad. They had SpecJVM98, and it so mischaracterized real Java programs that the Dacapo group went and formed and built benchmarks so they could optimize their research correctly.

What is an ideal web benchmark? Tough question. Parts of Sunspider and V8 tried to look at what the web was and distil it into a useful benchmark - that's a good start [5]. Kraken tried instead to look forward at what the web might be, even though people aren't doing that stuff just yet - that's good too. Perhaps what the web is _now_ would be good, but we don't have anything like that [1] [2].

Add to this that benchmarking is inherently hard, so hard that it's its own research area. How do you weight various benchmarks to produce the really useful _single number_ that we all want to see? That's kinda hard, and back when I read research on this, I didn't see a particularly useful answer.

Let's consider what we'd love to have. Run a web page for a little while, record it somehow, and package that up so that it can be reproduced in a useful way [3]. So what should go in it? I mainly use gmail, google reader, bugzilla, hacker news, and small amounts of other sites. What if you read nothing but Jezebel and Facebook? Will my benchmark help you? Will my benchmark even help me in 6 months after those sites are updated? Whose view of the web is the right one, at which time, and how will we coordinate that into a benchmark?

Which brings us back to the original post. That's benchmarking a decompressor, ported from C, which doesn't sound like a great real-world application to me. Its hot-loop seems to be string appending, which Firefox is great at because of ropes [4]. We actually have a few benchmarks like this. One of the V8 benchmarks uses a Scheme-to-JS compiler to produce code. And Emscripten, an LLVM-to-JS compiler, produces JS apps in the same way to OP did, and we measure these periodically to make sure we don't regress. But the OP's benchmark is hardly representative of real web usage, and which particular implementations did well here is at least partially down to luck.

So to summarize, benchmarking is hard, no-one is doing it right, I'm not even sure we know what right is, but most of us can agree that ported C apps are probably not representative of real browser usage.

And I leave you with a final reminder that I don't speak for Mozilla.

[0] This was true when my mate worked on Lua two years ago.

[1] If you can package Gmail and Facebook into a nice platform-independent package that we can run and get _one single number_ representing its performance, we will happily use it and worship at your feet.

[2] Microbenchmarks (how fast is string appending, for example) aren't the answer either.

[3] On multiple platforms, while doing the same thing on each.

[4] Other posters commented that string-appending is an O(n^2) operation - this isn't quite true. The naive implementation is, but JS vendors haven't been naive since at least 2007.

[5] While not representative of the real web, these benchmarks helped us run our little JS performance war, right from slow-and-sad up to fast-and-awesome.

</comment><comment><USER3> Looks like WebKit has problems appending to a very long string. The less we can do that the better, so I came up with this solution:

      var dest = 'apple';
      while (dest.length < 100000) {
        var out = '';
        for (var i=dest.length-5, end=i+10; i<end; ++i)
          out += dest[i];
        dest += out;
      }

That brought the time from about 4 seconds to a more respectable 90 msec.

<comment><USER4> That reduces the number of string appends, sure. But it is well known (see either "The Good Parts" or "High Performance Javascript" that appending strings is quadratic in JavaScript, and that the best way to assemble a large, multipart string is arrayOfStrings.join('');

* And by quadratic I mean "copies the whole string every time" such that an append loop is N^2 while a push+join is linear.

<comment><USER5>
      But it is well known (see either "The Good Parts" or "High
      Performance Javascript" that appending strings is quadratic
      in JavaScript, and that the best way to assemble a large,
      multipart string is arrayOfStrings.join('');

It's a bit fuzzy now, modern browser optimized that quite a bit, so this mainly applies to older versions of IE.

</comment></comment></comment><comment><USER6> Array is an appropriate datastructure for this algorithm. String is not.

        var dest = 'apple'.split('');
        var j = dest.length;
        var start = new Date();
        while (j < 100000) {
          var offs = j - 5;
          for (var i = offs; i < offs + 10; ++i)
            dest[j++] = dest[i];
        }
        dest = dest.join('');

=> 7-10ms in the latest Chrome.

<comment><USER7> Arrays do seem to be the way to make Chrome happy, although unfortunately they're slower for everything else:

<http://jsperf.com/backreference-copy>

I don't see why you say an array is a more appropriate datastructure for the algorithm, though--that seems very much implementation dependent. And at the JS level, arrays support operations such as splice that strings do not, suggesting that they'd typically be implemented with a more sophisticated datastructure, and hence slower at primitive operations like index access. (Perhaps V8 notices that these expensive operations aren't actually used, and creates a fast, basic version instead.)

<comment><USER6> Array is intended to be a mutable storage with a fast random access and optimistic preallocation of backing store. String is intended to be an immutable storage. At least that's how I see these types.

I also would not expect that VM will use representation optimized for splicing --- you should _always_ expect that splicing will take O(arr.length) and use appropriate data structure when you want better time bounds.

There is a limit to how VM can optimize use of data structures. It can't magically guess that you wanted list or binary tree instead of an Array. Introducing many special cases/heuristics also leads to complexity and as a result to bugs.

</comment></comment></comment><comment><USER8> Not exactly surprised, appending to immutable strings is rarely fast, and rarely considered an interesting hotspot to optimize: you can usually fix it away by using arrays and joining them at the end.

</comment><comment><USER9> I don't think this is webkit specific. Chrome uses a different JS engine than other webkit based browsers.

</comment><comment><USER10> When code runs slower in one JS implementation than another, why do people say that "real-world" code is slow?

Just because the JIT missed an optimization-- in this case, repeatedly appending to a string-- doesn't mean that it's a bottleneck for the JS that browser run into in the wild.

People don't often run jslint or jsunzip frequently, they run jquery and do lots of DOM accesses.

</comment><comment><USER7> splice() might be able to help out, though how much depends on whether the copying really needs to overlap or not. There's some benchmarks at:

<http://jsperf.com/backreference-copy>

I couldn't actually get Safari to complete; FF 4.01 is fastest by a long way.

</comment><comment><USER11> Appending to a immutable string in a loop is O(n^2). I'm surprised the author is surprised by this. Python and Java is the same.

Sure, it's possible for the vm to optimize this by either using ropes or convert to a buffer based on some kind of code analysis, but you shouldn't bet on it.

</comment><comment><USER12> Another unzip implemenation <https://github.com/tlrobinson/zipjs> (should be easy to adapt for browser use)</comment>


The Xiongmai Botnet 'Recall' Will Not Work - <AUTHOR> https://ipvm.com/reports/xiongmai-recall <comment><AUTHOR> I am the author of this post, feel free to ask any questions and I'd be happy to answer.

<comment><USER2> Any clue on how many devices we are talking about?

Any names of known public manufacturers that sold rebranded Xiongmai devices? Any name/model of particular popular IoT devices that are affected?

<comment><AUTHOR> Xiongmai has hundreds of 'manufacturer' customers, mostly in China. Together, they easily amount to millions of devices (though some are analog cameras that by definition are not IP enabled). To give a sense of scale, total cctv cameras sold are in the tens of millions annual and Xiongmai is the biggest module supplier.

In terms of well known brands, most brands hide using Xiongmai so there might be so well known consumer type brands but we have not discovered that yet. The typical Xiongmai brand sells to customers or SMBs at super low prices, where low cost is key.</comment></comment></comment>


German builds world's largest model airport - <AUTHOR> http://ricardo.parente.us/2011/08/german-builds-world%e2%80%99s-largest-model-airport/

<comment><USER2> Submitted three months ago, with a great deal of discussion and further links:

<http://news.ycombinator.com/item?id=2516976>

A link to the blog was also submitted at about the same time: <http://news.ycombinator.com/item?id=2515386>

That's in German, but here's a Google translation:

[http://translate.google.com/translate?js=n&prev=_t&h...](http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=de&tl=en&u=http%3A%2F%2Ftagebuch.miniatur- wunderland.de%2F)

Finally, it's actually blogspam, being a very thin wrapper to this link:

[http://www.dailymail.co.uk/news/article-1383532/Knuffingen-A...](http://www.dailymail.co.uk/news/article-1383532/Knuffingen- Airport-German-builds-worlds-largest-model-airport.html)

To quote from <http://ycombinator.com/newsguidelines.html>

        In Submissions
        ...
        Please submit the original source. If a blog post
        reports on something they found on another site,
        submit the latter.</comment>


Startup Row is coming to PyCon 2012 - <AUTHOR> http://pycon.blogspot.com/2012/01/pycon-startup-row-2012.html

<comment><USER2> To think I actually had a booth on Startup Row last year. One of my best days of 2011. VanL and jnoller both came by personally to make sure everything was set up and let me know that they'd make sure any issues were rectified. Of course, there were no problems at all as everything was set up right to start with.

Even if you don't have a booth, stop by and visit those who do. You'll see plenty of smart folks working on some very cool products. It reminded me of the feeling I had at Startup School -- lots of like minded people to chat with and learn from and be inspired by.

<comment><USER3> Thank you for the kind words - it was a joy to have you guys there. Let me know if you'd like to be involved again for 2012 or down the road.

</comment></comment><comment><USER4> Startup Row was an invaluable experience for Eldarion last year. I'd recommend it to any eligible startup.

</comment><comment><USER5> Zapier just signed up and couldn't be more tickled pink about a chance to be a part of PyCon 2012!

</comment><comment><USER6> I just signed up GetCloak.com. We're excited at the chance to participate!

</comment><comment><USER3> As always, I am around to answer any PyCon related questions anyone might have!

<comment><USER7> I'm interested in the Start-up Row event as per [http://pycon.blogspot.com/2012/01/pycon-startup- row-2012.htm...](http://pycon.blogspot.com/2012/01/pycon-startup- row-2012.html)

However, after reading about seed-funding @ <http://en.wikipedia.org/wiki/Seed_funding> I didn't find anything that indicated there was a way to get funding or win award money

Could you clarify how it works and elaborate it in a bit more ?</comment></comment>


Startup company stake - Please advise... - <AUTHOR>

Hi everyone,
I need your advice on starting a company with two other partners, and my question really is about equity levels. Here's the story so far...All three of us have been working for a university  and for various reasons we all have decided to move away from the academic world and go in industry. One of the partners (let's call him X) has good links with industry in China and he managed to bring money over to start a project, which is the design and development of a point-of-care device. The contract terms between the university and the funding company made clear that any IP arising from this work will belong to the company, with us three being the named inventors in the patents generated.
They were happy with the outcome and through X's prior links with company (X is a board member in the company) it was agreed to form a new company. They agreed to invest around £300k in return for about 40% stake in the new company. The remaining 60% would be divided as follows: 20% for X (he claims he had bought in the past seven patents from his previous company which went into liquidation, investing £120k - later he said it was actually £150k), 20-25% for options for other paeople that will eventually join the company at a later stage) and the remaining 15-20% for myself and the third partner.
At this point I need to point out that myself and the third partner are making things happening (in terms of engineering) and without us it would impossible (or at least it would take a lot of time for him to build a new team) to start the company now. Also, it is important to note that X has no other option but to leave university, as his contract is due for re-evaluation in September, with negative predictions for the outcome.
Some more info about the forecast of the new company: we will be using the manufacturing facilities of the funding company and we will have direct access to their sales network, They say the market is already there, they have clients and last year they had a turnover of more than $10m (it might be more, i can't remember accurately). My salary will be slightly less than the market value (probably around £35k/yr) and I suspect X will be asking for a lot more, as he takes for granted that he will be the technical director and acting CEO of the company.
There are many details that we're not told of, because X is taking the excuse that his contact in he funding company does not speak English fluently, that's why all their conversations are in Chinese. We get the occasional email in English circulated among all of us, but nothing mentioning stake levels. I feel I'm heading straight towards a not-so-good deal, while I know for a fact that X will not go below 20% as he immediately points his finger towards his £150k investment in previous patents, while making claims of the type "I have achieved with great efforts your involvement in the new company as co-founders with a stake, rather than just employees". I have started to grow tired of his bull and I'm trying to figure out how I can go about sealing a good deal for me. I have previously discussed with him the matter of equity, as one day he came to us and said "when the time comes to decide equity, you must be modest" and at that point I told him that modesty has no place in business, I will only be fair and I won't settle for anything less than fair, I will literally walk away if I'm not happy with what's offered to me.
I have the feeling that this is the ONLY time I can bargain with him, or them (the funding company), as this is the only time I feel that if i break the team, he won't be able to go ahead, at least not according to his time plans. I'm fighting with myself, as one side of me wants to grasp this opportunity of potentially making enough for the rest of my life, while my other side is telling me that X is trying to manipulate the whole situation based on the trust he has with the funding company, and that without him they wouldn't invest, which is probably true. Still, I can't trust him, at all.
Apologies for the long story, I just needed to draw, with as much detail as possible,the whole picture. I would appreciate any thoughts you might have, I desperately need some advice from people who understand business. I'm very good at what I'm doing but when it comes to business, it's all chinese to me....
Thank you in advance.
S. <comment><USER2> run while you can. Seriously, if you are at this level of trust between partners then nothing good can come of it, 35k / year is laughable for a company with that kind of turnover.

Having your name on a patent is not synonymous with value, stock is, if you have no stock then you have nothing.

I know this does not sound too positive but I've been in that exact boat myself one day long ago and I stayed in longer than I should have hoping things would get better. They didn't.

best of luck,

Jacques

<comment><USER3> _run while you can. Seriously, if you are at this level of trust between partners then nothing good can come of it_

Absolutely. Mr. X may try to tell you that he's doing everything he can to create a great opportunity for you... but all I see here is an opportunity for him to make a lot of money out of the work you're doing, while giving you a lot of headaches in the process.

</comment></comment><comment><AUTHOR> Hi Jacques,

Thank you for your reply. I do agree with you, without trust things can only go wrong, as he is most likely going to align with the company, I can't do anything about that really. What I think it might be a good deal would be to split the 60% to something like 20% for him, 15% for me, 15% for the other guy and the remaing 10% as options, which to me sounds reasonable. Even so, what other dangers are there? Can they kick us out after a while, since they will have the majority of the company stocks? I mean in the sense that after a year or so they say they're not happy with our performance in the company, the current company value is, say £1m, take your £150k for your 15% and go home. Could they do that?

Also, do you think it is reasonable to demand equal salaries for the three of us, as he claims "we're going to be equal, nothing like he's the boss and we the employees"?

Another thing he said and I forgot to mention, was that when I said to him that I will be fair but not modest, he said that he knows a guy from his previous company (which surprise-surprise has the same specialty as me) that desperately wants to join the company, but he's giving priority to us, because of our loyalty over the years working with him. What a manipulation that is, isn't it?

<comment><USER2> in a startup trust is everything. If you don't have that trust with the other founders you - and they - will spend a lot of time and energy to avoid being backstabbed, This will destroy the atmosphere and in the long term will cause trouble.

Then the stock will speak, 51% takes it all.

Unless you have a very good lawyer who is willing to ride along with you in order to make an iron-clad deal (and this is harder than it seems) you are in for a world of trouble and lost energy.

I'm sorry I can't make it more positive, again it may be my perspective but in any business that I'm involved or have been involved in if the trust factor isn't there then count me out.

Technically speaking it is probably possible to do business without trust using an army of lawyers but if the compensation isn't worth it then I can't see how you could afford the lawyers. You need compensation somehow, either in good feelings towards the product, team members and your work or financially. If all you get is promises and maybes and your feeling is already as bad as you describe then don't bother, use your talent and energy to do something fresh in stead of burning yourself out on the wrong project.

Disentangling yourself from this a few years down the road will cost you more than it is worth.

</comment></comment><comment><USER4> As someone with considerable working experience in China and fluency in mandarin, I can tell you that "good links with industry in China" mean absolutely nothing if you have cash. And you don't need a lot of cash.

The immediate question is why this guy wants you doing engineering work in the first place? I wouldn't. You can't even communicate with your most important business partners or with the manufacturers. Why not hire some great Chinese engineers for a lower salary and avoid issuing stock anyway? I don't mean this to come across as offensive - I'm sure you're very talented - but it is a very practical problem.

Suggests to me that your university is being hooked into a snake oil project to add prestige to the proposal and make it easier to hook Chinese investors. You guys will make your salary and the rest of the cash will be gone in a year. If the market for this product is so enormous and you're capable of doing the engineering work and no-one else is, why not simply make it yourself and outsource production? Offer this guy a percent of profits or ownership stake based on his ability to meet sales milestones.

</comment><comment><AUTHOR> Thank you all for your comments, very much appreciated. It is a bit worrying that I get pretty much the same advice from everyone. I will get a lawyer asap and discuss with him as well. I think that part of his mind game is to deter me from getting excited with the whole business idea, and drive me towards signing off my rights (and hence my stake) and withdrawing from the whole deal, by building a tense climate during these early phases.

I can't see which one of the two routes I will follow will describe me as "self-destructive", withdrawing from the whole deal and find peace (and hence losing any financial benefits from it) or stay and fight for my financial rights in this company, in return for an anticipated period of struggle and stress, which is part of all startup businesses - or almost all of them, I don't think I will give up easily, I'm still holding a card in my hands, and that is there are no specific deliverables in my current contract. If the worst comes, I will just not deliver unless they become reasonable. What do you all think?

</comment><comment><USER5> A few months ago, I was in a similar situation. See <http://news.ycombinator.com/item?id=502641>

Once I started insisting on a fair stake things didn't work out and I walked away finally. I don't regret it (building a different product now, will take it market without the named partner).</comment>