The Villain of CRISPR - <AUTHOR> http://www.michaeleisen.org/blog/?p=1825 <comment><USER2> I hate the fact that breakthroughs like this are patentable.

People need to follow Alexander Flemings lead:

      The pharmacist Sir Alexander Fleming is revered not just
      because of his discovery of penicillin – the antibiotic
      that has saved millions of lives – but also due to his
      efforts to ensure that it was freely available to as much
      of the world's population as possible. Fleming could have
      become a hugely wealthy man if he had decided to control
      and license the substance, but he understood that
      penicillin's potential to overcome diseases such as
      syphilis, gangrene and tuberculosis meant it had to be
      released into the world to serve the greater good. On the
      eve of World War II, he transferred the patents to the US
      and UK governments, which were able to mass-produce
      penicillin in time to treat many of the wounded in that
      war. It has saved many millions of lives since.

[http://www.mobileworldlive.com/blog/penicillin-the- antidote-...](http://www.mobileworldlive.com/blog/penicillin-the-antidote-to- patent-wars/)

<comment><USER3> It will take millions of dollars of research to turn this basic bioengineering technique into an approved (safe and effective) human therapy. How do you motivate investors to fund this research without the safety net of a patent to protect that investment from free-loaders?

<comment><USER4> The way it was done before patents -- government funded research institutions whose only motivation was to provide scientific breakthroughs so they could continue to receive government funding.

<comment><USER3> There's a huge gap between the scientific breakthrough and the work needed to create a safe and effective therapy. It's not academically interesting, and academic scientists won't do it. It's optimization, not discovery. And what about the cost of the clinical trial, which could be $500m?

Government funded research institutions will continue to provide BREAKTHROUGHS to receive funding.

<comment><USER4> > And what about the cost of the clinical trial, which could be $500m?

That's an interesting one, because that cost is entirely _caused_ by the government. The government could for example fund clinical trials, since they're the ones who are interested in it's results (as is by extension the public).

As for the rest, if the science were freely available without a patent from the scientists, companies could still spend money making it a therapy and making a profit by doing it better and more efficiently than their competitors, and they could still get a patent on their work.

We're talking about making the _science_ patent free, not the product.

<comment><USER3> It's an interesting distinction here. I would argue that the science is already free. The Cas9 protein is a natural product. The guide RNA can be synthesized easily. What is being patented here is use of Cas9/CRISPR to edit human cells. In a general sense that is actually the product, and not merely "the science." In other cases, where the Cas9 protein is engineered to achieve things like lower off-target cutting rate, that is a pretty classical case of human invention.

</comment></comment></comment></comment></comment></comment><comment><USER5> This is part of an ongoing dispute between Jinek et al at Berkeley and Zhang et al at the Broad Institute. Both groups did important work on CRISPR-CAS9, and now they're fighting over credit, a patent, and (probably) a Nobel prize. Eric Lander, head of the Broad Institute, recently published an article "The Heroes of CRISPR" which emphasizes his own institution's role and downplays Berkeley's. Michael Eisen, a professor at Berkeley, wrote this article to emphasize Berkeley's role and downplay Broad's. Lander has, apparently, been in a fight like this before, with Craig Venter's group over credit for being first to sequence the human genome.

My own position is that in a sane world, there would be no patent and the groups would share the Nobel. The patent ownership dispute is the only reason there has to be a fight at all, and while patents on techniques in biology aren't nearly as absurd and destructive over patents on software, I think they're almost certainly net negative overall.

<comment><USER6> While there's a patent issue, this is an issue of attribution (i.e. ego). I know most would prefer either a non-profit (The Broad Institute of MIT and Harvard) or a public institution (University of California, Berkley) than some commercial entity.

<comment><USER7> The Broad Institute has given an exclusive license to a commercial entity (Editas Medicine) for certain uses of CRISPR. I don't imagine UC would behave any differently.

</comment></comment></comment><comment><AUTHOR> Michael Eisen is a professor at Berkeley, founder of the Public Library of Science and pioneered the use of microarrays for studying gene expression. This blog post is in response to the recent controversy about CRISPR, in particular Eric Lander's article called "The Heroes of CRISPR."

<comment><USER6> > Michael Eisen is a professor at Berkeley

and friend and colleague of Jennifer Doudna.

What's the path forward? Is labeling Lander a "villain" useful?

<comment><USER8> He mentions that very clearly in the article, and also makes it clear what he stands (and does not stand) to gain financially from Lander's article being discredited.

It's a very provocative title, but the policy recommendation in the article—that we stop issuing Nobel prizes and patents to individuals when discoveries happened over a long process—is pretty fair. And he does credit Lander for acknowledging all the scientists that predated both of their universities' work.

<comment><USER6> I don't disagree. But I'm asking, what should happen in the next few months?

Is reconciliation possible? What would it take?

</comment></comment></comment></comment><comment><USER9> A Nobel Prize is now at stake. Lifespan, disease and the human race is at stake. The internal scientific politicking on both sides is classic. "by going into depth about the contributions of early CRISPR pioneers, Lander is able to almost literally write Doudna and Charpentier (and, for that matter, genome- editing pioneer George Church, whose CRISPR work has also been largely ignored) out of this history. They are mentioned, of course, but everything about the way they are mentioned is designed to minimize their contributions."

However, it's also clear that Doudna's work was central and a hub for overall advancement.

<comment><USER10> From what I broadly understand from CRISPR, the Nobel is almost a footnote in history, the real prize seems to be the patent.

<comment><USER7> I don't expect that the present and future judges presiding over the patent dispute will give any credence to these pieces. Nobel committee members might.

</comment></comment></comment><comment><AUTHOR> It looks like Professor Eisen's blog is down at the moment. Here's a link to the Google cache of that page: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.michaeleisen.org/blog/?p=1825)

</comment><comment><USER11> > CRISPR, for those of you who do not know, is an anti-viral immune system > found in archaea and bacteria, that until a few years ago, was all but > unknown outside the small group of scientists have been studying it since > its discovery a quarter century ago. This all changed in 2012, when a paper > from colleagues of mine at Berkeley and their collaborators in Europe > described a simple way to repurpose components of the CRISPR system of the > bacterium Streptococcus pyogenes to cut DNA in a easily programmable manner.

</comment><comment><USER12> As time goes on, I'm understanding more and more that academic science, which I had naively imagined to be a pure endeavor prosecuted by good-hearted individuals on humanity's behalf, is in fact as dominated by powerful, acquisitive individuals who are more interested in advancing their own power than in human good, knowledge, etc. The pursuit of IP is taking over the university, much to its detriment.

<comment><USER13> IP is just another form of applause, and with it or without it wouldn't matter or change the behavior. People who want the prestige will rise to the occasion and treat the world as a zero sum game.

<comment><USER14> With "intellectual property" (patents in this case) it is a zero sum game.

<comment><USER13> They would do it anyway, it just makes it more news worthy given the patents. Although, I'm not sure its zero sum depending on how it shakes out.

</comment></comment></comment></comment><comment><USER15> I thought this article was interesting because it was that first think I've read that actually lays out a seemingly plausible case for why Doudna et al. deserve primary credit rather than Feng at al. The "Whig History of CRISPR" article was interesting, but it left me wanting to hear more about the biology.

</comment><comment><USER16> I have never seen a paper on CRISPR that can distinguish between selecting pre-existing mutants and actually modifying genes. I have read probably a dozen or so at this point, and it is amazing that they always fail to address this either in citations or actual data.

At first I thought it was an honest mistake, but now it would not surprise me if some of the main players know that their experiments with CRISPR have been misinterpreted. They are then pushing the gene "modification" label anyway because it is sexier.

After all, CRISPR has received an extremely unusual amount of media coverage over the last year or so, which raises red flags. I suspect a marketing effort is being directly funded. That is not a honest use of funds meant for research, especially that which is not meeting minimum scientific standards (ruling out other explanations for the results rather than just a null hypothesis).

<comment><USER17> My sister was sent by Brazil's government to MIT so she can bring back CRISPR technology to Brazil public universities to speed a research here about using gene editing to control stem cell expression.

I've seen plenty of people and papers where dna was edited in across entirely different organism realms, bacteria dna in animals, animal dna in plants, and so on...

I honestly don't understand how the technique ins't about editing, the only use I saw for it is editing.

EDIT: I asked my sister to give me links to some papers, I will post them after she replies.

<comment><USER16> >"EDIT: I asked my sister to give me links to some papers, I will post them after she replies."

Thanks, I appreciate it. This has been bugging me for awhile now.

</comment></comment></comment><comment><USER18> the fight over CRISPR (which is a discovery of nature, not a creation), especially the fight over the _monopoly to apply CRISPR to other fields of science_ is another example of why the GNU General Public License (or something with as many teeth) is required to keep science open and free.

</comment><comment><USER19> The Villain of CRISPR is the Bayh–Dole Act.

</comment><comment><USER20> Can someone share a tl;dr version of this?

<comment><USER21> CRISPR is a mechanism by which some species of bacteria and archea can edit a virus out of their genome -- it's essentially a small immune system. CRISPR is "hot" right now because of the potential to use it to edit arbitrary genomes. Bear in mind that the technique has a _long_ way to go. It's more or less impossible to do it right now without causing a lot of side effects elsewhere in the genome.

As with most science, this has taken a long time and been the result of work by many, many scientists. Some scientists have big egos and are fighting about who the "real genius" is. Furthermore, it's widely thought that there's going to be a lot of money in this technique, if you can get a patent on it.

TL;DR; cool and potentially very useful science happened, now big egos, big greed, and people who would rather get rich and win a Nobel prize than share the discovery and its benefits with the world are having a fight about it.</comment></comment>


Ask HN: Who are some good tech lawyers in Seattle area? - <AUTHOR>

I'm planning on moving to the Seattle area and would like to retain a good technology lawyer.  The first job they would probably do is review the employer agreement (non-competes, IP, copyright, etc) - especially for companies who do everything under the sun.  Later on, they could help me when creating a startup.<p>Does anyone here have any recommendations or experiences with any of them?  Are there any ones I should avoid? <comment><USER2> Check out Orrick law offices in Seattle. Ours was base in Silicon Valley but we dealt with a partner from the Seattle division during M&A talks.

<comment><AUTHOR> Any secondary recommendations in case Orrick has a conflict of interest?

<comment><USER2> Sorry I am not familiar enough with the legal teams in Seattle outside of this one point of reference. However if there is a conflict, you could ask Orrick for their advice on who they recommend</comment></comment></comment>


Flash Player H.264 hardware decoding in Mac OS X - <AUTHOR> http://blog.kaourantin.net/?p=89

<comment><USER2> Apple enables hardware-accelerated video decoding, Flash Player beta now has faster video rendering on Macs.</comment>


Microsoft online services hit by major failure - <AUTHOR> http://www.bbc.co.uk/news/technology-14851455

<comment><USER2> This happened overnight, millions of user were affected and it's been on HN for an hour... with only 1 comment prior to this one. I think that shows how much business Microsoft get from this community!

Edit: though interesting to note it was a DNS problem again. More hackery?

<comment><USER3> No such thing as overnight surely?

</comment></comment><comment><USER4> _Such a major problem is likely to raise questions about the reliability of cloud computing versus local storage._

Is anyone surprised this happened? It doesn't actually raise any questions about the reliability. Those answers were known when it was built. The first rule of network programming: the network is unreliable. The real question is: why do we keep playing along, blissfully ignoring that?

<comment><USER5> Oh please: we don't play along blissfully ignoring that. Arguably the biggest contribution to information theory is Shannon's source coding theorem, and we haven't forgotten it.

For day-to-day work, the redundancy & reliability of something Google Docs is much greater than a client computer. RAID is expensive. Backplanes fail. Laptops fall. But now instead of waiting 2-4 hours for a reimage & file transfer, I can take a base image, go to docs.google.com, and be up and running in the time it takes to walk a laptop to my office. Or, if more pressing: in the time it takes to log in at my coworker's machine.

So I'm curious: what's with the pseudo-FUD?

<comment><USER4> >For day-to-day work, the redundancy & reliability of something Google Docs is much greater than a client computer.

Of google docs, yes. Of always having a network connection to docs, no. Maybe its just the environments I've been in, but at every client, employer, or place I've visited, my devices were more reliable than the network connection. Hell, last year the level 3 uplink for most of my state was out for a day.

In both cases you need a working computer to edit a file, but only one of them also requires a network connection. The only advantages you have are that software deploys faster because you're using a 21-centurly terminal emulator and the file under work is stored on the network.

Just because we as developers haven't put the solutions to quick and easy deployment of software packages and file redundancy into the hands of users doesn't make the cloud a panacea. We have these tools for us already. If my desktop fails, my latest-version files were on its hard drive, the network drive and usb flash drive, all synced after every save. I can grab a laptop or my co-workers machine and in the time it takes me to plug in a flash drive or just hit up a lan repository I'll have the files as they were at time of failure. If the other computer doesn't have the software, if I could hit up google docs on the other machine, I can easily smack 1 command into the terminal and in 30 seconds be ready to roll (and that server could be local, too, not relying on internet uplink). I'm not against relying on the network at all, but doing so in a manner that doesn't demand an always-on connection to get work done.

A solution that relies on the availability of network _OR_ local machine and can gracefully handle the fault of one or the other is orders of magnitude more reliable than a solution that relies on _BOTH_ network and local machine.

<comment><USER6> Google Docs works offline now.

<comment><USER7> That just means that if you already had Google Docs open, you'll be able to keep typing away and it'll commit the changes when it gets a network connection again. It doesn't mean you can access your Google Docs (i.e. open up Chrome and type "docs.google.com" and expect anything to happen) without a network connection.

<comment><USER6> Yes, you can.

<comment><USER7> I just turned off my Wi-Fi and typed "docs.google.com" into the address bar — Chrome says it can't find the site. So I, at least, _can't_. Based on the Google blog post about offline Google docs, it looks like it's a lot more complicated than that.

<comment><USER6> You have to turn it on. When online and in Docs, click on the gear thingy in the top-right. There should have been an intro/help pop-up when you logged in after they rolled out the feature, did for me.

<comment><USER7> Weird, I never got it, and I'm on Docs daily. Guess I'm just an outlier. Thanks for setting me straight.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Context: Google has experienced difficulties. Such is the nature of the cloud.

[http://www.pcworld.com/businesscenter/article/172614/google_...](http://www.pcworld.com/businesscenter/article/172614/google_outages_damage_cloud_credibility.html)

<comment><USER9> Citing that article looks like you're grasping at straws trying to find something wrong with Google. It's from two years ago and clearly specifies in the opening that a small number of users were affected. Microsoft's services went out for _everyone_ , and today.

If you're going to suggest Google has similar difficulties, you might be 100% right, but you should point to a more relevant, recent article. A Mail system going offline two years ago for a small number of users is very different.

<comment><USER5> Docs has been down twice in the last two weeks during business hours. 9/7 it was down for about an hour, and 8/26 the Docs listing was down for about two hours (the listed time on the 26th is about an hour after we submitted the issue).

<comment><USER10> Google docs might have not gone down for everyone, but when we used it, twice we had instances where entire documents got nuked. Eventually two week old backups were restored, which was essentially useless for the type of documents they both were.

</comment></comment></comment></comment><comment><USER11> Sounds like their overall uptime is still several sigmas deep. Comparable, if not higher than AWS even?

<comment><USER12> Where do you get that info from? Isn't it a little early to extrapolate long- term uptime stats for a new service like O365? Maybe you were referring to the cloud infrastructure only, and not the app layer?

<comment><USER11> The article contained some numbers. Approximately 4 hours of down time in a year and a half.

</comment></comment></comment><comment><USER13> is calling it "Office 36X" leaving enough room for all the major outages the service will have in its first year?

<comment><USER14> Given that the mean length of a year is 365.2425 days, Office 365 only needs to maintain 99.93% uptime to stay true to its name.

</comment></comment><comment><USER15> Hotmail: gave it up years ago for GMail. Office 365 (online): tried it out but never really got into it because I like GDocs a lot more. It's terrible that Microsoft online services went down, but it's unfortunate that it takes bad news to remind me that those services even exist.

<comment><USER16> Are you sure what you tried was O365? It's so much more than GDocs.

<comment><USER17> I have to admit I really like Office365's Excel implementation, it is superior to GDocs Spreadsheet but the package as a whole is still not there...

Employees can edit GDocs on their tablets, Android Phones or iPhones with native apps or in the browser. Off365 offers none of these in most cases, requiring either a Win7 phone or a full PC browser client.

But the biggest kicker for for us is the ability to simultaneously edit word processing documents. We use this as a white board functionality when working through proposals either separately or on a conference call. Collaborative editing is a very powerful thing and last I saw Off365 only supports it in Excel.

I'm not saying that Microsoft isn't putting out a good product, just that they are still way behind GDocs as far as ease of access and core group features that they really need to step it up if they hope to grab back the mind share for online office products.

<comment><USER16> That is probably because tablets only account for a fraction of usage. Besides Microsoft does not have a good tablet story yet. With upcoming Windows 8, hopefully they will get act together and improve touch based accessibility for these products.

<comment><USER18> I have a bad feeling that they won't improve with Windows 8. The issue at hand is that Microsoft believes Windows 8 should be everything to everyone all at once, and it simply can't. They need to realise that to "win" in the tablet space they need to leave their love child Windows behind and build something that was designed from the ground up for a small form factor tablet device.

<comment><USER19> have you seen the demos they shown so far? the metro view in tablet form can be all you ever see. the legacy desktop code doesnt even get loaded. it's similar to what apple did with mac osx and ios, except you have the option of loading either of them.

<comment><USER16> I am keeping an eye on the upcoming Build conference. That should have more details for sure.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Does anyone have an opinion on the reliability of Microsoft's hosted Exchange services (or alternatives)? My boss would love to move his email into the cloud, but we keep seeing stories like this…

<comment><USER21> Nobody posts their in-house services failures on the web.

</comment></comment><comment><USER22> this messed up some stuff for us due to partial reliance on this at www.spottmusic.com. had to work to repair the database this morning. not fun.</comment>


Ask HN: Critique my startup idea and landing page - <AUTHOR>

LP : signup.flytov.com
The idea is simple - you name when, where and how much you are willing to pay for an airline ticket (whether it's for tonight or next year) you can chose to leave your CC and automatically pay for the ticket when it becomes available.
you can chose to add your friends on the order and in that case the order is confirmed only if all your friends got a ticket (your friends can decide how much they are willing to pay) .
It's a reverse airline ticket bidding arena
WDYT ? would you use it? if yes then for what type of tickets? if no then why? do you think this should not be limited to airline tickets?
Thanks <comment><USER3> Looks like an email address harvesting scam page to me - indeed entering an email address (made up of course) the subsequent page actions where - <USER2> -confusing?</comment>


SEC issues guidance telling public companies when to disclose cyber attacks - <AUTHOR> http://sec.gov/divisions/corpfin/guidance/cfguidance-topic2.htm

<comment><USER2> anyone care to turn this into layman's terms?

<comment><USER3> Public companies are required to disclose significant risks to investors, and to execute due care in discovering and evaluating those risks.

This is simply guidance to when "computer security issues" should be among those risks.

So for instance, in NFLX's 10-K, you'll find:

IF THE POPULARITY OF THE DVD FORMAT CONTINUES TO SLOW OR IF THE RETAIL SALES PRICES OF DVDS DECLINE, OUR BUSINESS COULD BE ADVERSELY AFFECTED

 _Although the growth of DVD sales continues to slow, we believe that the DVD will continue to be a valuable consumer proposition and studio profit center for the next several years. As DVD sales begin to decline, studios and other resellers may significantly lower prices to encourage consumers to continue to utilize the format. Unless we are successful at retaining our subscribers with our streaming offerings, a decline in the popularity of the DVD as indicated by declining sales or a reduction in price leading to consumers purchasing instead of using our service, could result in our business could be adversely affected._

The SEC is suggesting circumstances in which they'd expect similar language surrounding information security.</comment></comment>


RIP Open Source MySQL - <AUTHOR> http://developers.slashdot.org/story/12/08/18/0152237/is-mysql-slowly-turning-closed-source <comment><USER2> As soon as Oracle bought them, the writing was on the wall for an open-source MySQL. Look how quickly they murdered OpenSolaris. Oracle is anathema to open software.

<comment><USER3> The writing has been on the wall ever since MySQL AB required copyright assignment.

Monty doesn't come to this with clean hands.

<comment><USER4> Copyright assignment is basically required if you're going to sell an open source project under a different license. It's not usually nefarious, all that contributed code is still available under GPL.

<comment><USER3> The point is that if one entity owns the original copyright, they can wreak sufficient havoc that the project can splinter into individually anaemic forks.

MySQL has splintered into at least 3 competing forks outside of the "real" MySQL: MariaDB, Percona and Drizzle.

<comment><USER5> I wouldn't say they "compete", at least, not harmfully. Maria and Percona swap patches with each other, and are drop-in replacements for MySQL. Drizzle is an exploration of the idea of paying off as much as possible of MySQL's technical debt and throwing away crufty backwards compatibility. The technical ecology of users and developers around MySQL is healthier than it has ever been.

</comment></comment></comment></comment></comment><comment><USER6> This is an excellent opportunity for the Postgres community to step up an promote Postgres.

<comment><USER7> I think this would be a mistake.

This is an excellent opportunity to demonstrate that anyone can fork the MySQL codebase and create other plug-in replacement databases with it, such as MariaDB and Drizzle.

All that is lost is the MySQL name and brand.

PostgreSQL users and developers must seize the opportunity to show businesses that free software cannot be killed, not even by mighty Oracle. They and, most notably, Microsoft, have been trying to kill it for more than a decade now.

Because the anti-free-software FUD machine (fed in part by Oracle itself) is already having a wonderful time with this.

<comment><USER8> I wish I could mod this up a hundred times. PostgreSQL people themselves have been playing into the hands of corporate FUDders with their incessant and inappropriate peddling. MySQL is not your enemy, MS SQL Server is. Oracle's software empire as a whole certainly is your enemy. Show some solidarity with a fellow open source project!

MySQL and PostgreSQL represent two very different implementation philosophies, and being able to choose between them according to taste and merits is _a good thing_.

Most of us have suspected that the MySQL project itself was going to die as it was acquired by Oracle, in the same way Open Office died when it was acquired by Oracle. This is a company where good software goes to expire, either due to a deliberate intention or gross incompetence I can't say but I suspect it's a mixture of both. However sad that may be for the MySQL (or OpenOffice) brand name, the code itself lives on and continues to evolve within a rich open source ecosystem.

Hence, sensational and petulant "RIP $PRODUCTNAME" articles are unnecessary. There is no threat to existing projects based on MySQL or any other successful open source project for that matter. Not only will this stuff be free forever, it will also continue to grow and be developed on its own.

The corporate assassination of open source projects will only work if we let it, it's a purely psychological game.

<comment><USER9> Background: I am a postgresql user and developer. I started with MySQL around '99, used both for a while, and then gave up on mysql and haven't really used it since 2007.

I do agree that injecting postgresql into every discussion without adding anything new is getting excessive. And declaring mysql dead is clearly premature. But let me respond to this particular point:

"Show some solidarity with a fellow open source project!"

I guess I never really saw MySQL as an open project.

* when I first started using mysql it was not under the GPL, it was under some free-for-non-commercial use license * They pretty much reject the standards completely (introducing nonstandard things like backticks that make migration away from mysql harder for no apparent benefit) * mysql never fostered an outside developer community (by which I mean people developing mysql itself) * the code is messy and poorly structured * the development ecosystem, like revision control and documentation (and now tests) don't seem to be open * the licensing of the client library is restrictive * they require copyright assignment (although not all of the forks do)

I hope one of the forks does manage to foster a more open community, but communities aren't built overnight nor are they transplanted easily.

<comment><USER8> You might not have seen MySQL as an open project, but I guess we can agree based on the outcome that it turned out to be one? If it hadn't been, open forks would not have been able to form.

Of course when you're talking about community, every project seems to have a different atmosphere. Linus Torvalds is famous for not accepting patches or contributions to the Linux kernel, so is _that_ project really open? From the perspective of a developer using MySQL, the community has always been massive, diverse, and helpful. Maybe it was a different experience on the dev mailing list, I wouldn't know. But I _do_ know that in the end, MySQL was open where it really mattered.

I can understand though that it was probably easier and more rewarding for an outside developer to get into the inner circles of Postgres than it was to essentially join MySQL AB back in the time when they still existed.

> I hope one of the forks does manage to foster a more open community, but > communities aren't built overnight nor are they transplanted easily.

I assume you're talking about the actual engine development community, and I'm not certain that's really how a lot of open source projects actually work. It seems in most cases you simply have a core group of developers doing their thing, with occasional discussions and input from the outside. I might be wrong, but that's certainly my perception. The Postgres dev community might be different, again I wouldn't know.

As an app developer, I have different expectations about that. I'm not going to take part in any discussions about implementation details, nor am I likely to submit any patches. What I care about is software quality and proper documentation, those are not necessarily a function of community.

<comment><USER9> "I guess we can agree based on the outcome that it turned out to be one?"

Agreed. My perception is more that it is _turning_ out to be one and that is a good thing.

"But I do know that in the end, MySQL was open where it really mattered."

The GPL means that there's no real fear that licenses will be scarce. And the large user community means that there will always be people to offer basic support (free or paid) and consulting. To that extent, I agree.

As far as getting bugs fixed, adapting to new use cases and changes in the market, or just moving the product further, the jury is still out. _Will_ Oracle do it? _Can_ any of the forks do it?

Or the larger question: are you OK with calling MySQL, as a product (i.e. the engine), "done"? I'm not saying that in a negative way. We rarely talk about software that's done, or what it would take to finish a given product, or how much sense being "done" even makes.

"It seems in most cases you simply have a core group of developers doing their thing, with occasional discussions and input from the outside."

That's not how I would describe postgresql. There are lots of people that only occasionally submit patches and lots of people that take part in design discussions even if they never submit much code. It's pretty easy to start out as an application developer and then be sucked into a design discussion, and before you know it you are criticizing a design because it doesn't fit your needs.

Even if nobody has ever seen you before, if you jump into a design discussion and have a legitimate concern or use case that hasn't been considered then it will be taken as seriously as any developer.

"What I care about is software quality and proper documentation, those are not necessarily a function of community."

Absolutely correct. Although those things are also not a function of being open source or free of charge.

</comment></comment></comment></comment></comment></comment><comment><USER10> "MySQL is dead, long live MariaDB" .. would have been a better headline. Mainly because very few MySQL users seem to be aware of MariaDB.

<comment><USER11> Exactly. This controversy was both discovered and promoted by Monty, who has much to gain by the rejection of Oracle's brand of MySQL and the promotion of MariaDB. Having said that, I agree that this is a dick move by Oracle. It reminds me of when RedHat started shipping their kernel as one big source tarball, without patches, which undoubtedly pissed off both Oracle and the CentOS folks. Maybe they're taking a page from the RedHat playbook.

</comment></comment><comment><USER12> FWIW, in addition to MariaDB, there is Percona Server as well, and they are also maintaining a launchpad for the base MySQL code on Launchpad while Oracle neglects that codebase.

[http://www.mysqlperformanceblog.com/2012/08/16/where-to- get-...](http://www.mysqlperformanceblog.com/2012/08/16/where-to-get-a-bzr- tree-of-the-latest-mysql-releases/)

<comment><USER13> I highly recommend Percona Server. _especially_ if you are using SSDs or a mix of SSDs and regular disks.

<comment><USER14> Can you elaborate ?

<comment><USER15> Percona has done a lot of work to enable MySQL to take advantage of SSDs, work that hasn't percolated into mainline or MariaDB.

<comment><USER16> I've benchmarked all three and it seemed like the vast majority of the performance improvement on SSDs was due to the XtraDB engine which is included with MariaDB.

<comment><USER15> _coughs_

<http://www.percona.com/software/percona-xtradb/>

<comment><USER16> Yes you have to install it separately for MySQL but it's enabled by default in MariaDB so their work has in fact made it into MariaDB.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Check out this GPLv2 fork / alternative mentioned: <http://mariadb.org>

<comment><USER18> Also, Percona rocks. XtraDB is just a drop-in replacement for InnoDB.

<http://www.percona.com/software/percona-server>

</comment></comment><comment><USER19> Why are (some of?) the open source SQL-compatible RDBMS so different that you can't wake up any Monday and decide to use another one, so then proceed to unload all your data from your old one, load it into your new one, and proceed on your merry way? In other words, why should I have to care which flavor the engine is, as long as it supports all my App's SQL requests correctly?

<comment><USER20> In principle, the usual response to your type of question is that it's a problem that _could_ be solved if all the parties of interest could agree on a standard to follow. For SQL DBs, there is an ISO/IEC SQL standard (1992,1999,2003,2008,2011), so it's not that there is a lack of a standard. If you look at the various issues brought up in this thread and other postings, you will find long standing bugs (and waves of duplicates & complaints) that have been filed for all of them on bugs.mysql.com, so it's not that there isn't interest in fixing MySQL; likely it's just not been a high priority for the project, and the value added for existing apps that already "work" with MySQL isn't there. Also, what motivation is there for MySQL--which is arguably the most popular open-source DB--to change to be more compliant?

To answer your question concretely, which I read as: "Why can't we easily change out a SQL RDBMS as if it were a common component?" I would say:

(1) Lack of standards compliance; in this case the SQL standard being the relevant one that MySQL doesn't follow.

(2) DB specific extensions that many apps have become to rely on, often also caused by the previous point: apps having to rely on non-standard extensions due to the non-existence of a standard feature that could have otherwise been used. An earlier poster pointed out a few of these above (INSERT IGNORE, ON DUPLICATE KEY UPDATE, INSERT REPLACE, ...).

(3) Due to a combination of both points above, supporting software in your favorite language or ORM either doesn't exist, is incomplete for a particular DB, or lacking in cross-platform support (e.g. the mylang-pgsql driver for Linux works but doesn't on Windows, OS X or some other major commercial UNIX OS like Solaris or AIX).

(4) Finally, for open-source DBs there is practically no code re-use that matters; I see this as very unfortunate, because it could be a unique strength that only open-source projects can take advantage of. One reason for this is legal: different open-source DBs have different or conflicting licenses. But regardless of that (putting on flame suit now) much of the reason for a lack of code re-use is due to the fact that C and C++ make it pretty difficult to do well--which is a point I find true across all codebases in general (i.e. different C, C++ codebases share very very little code).

</comment></comment><comment><USER21> And that why its so important that you can not sell and change the ownership, control of a community driven software project. So the community is sure that not one person can sell the projects efforts from all community members. MySQL could be sold bcs it was controlled by one person same as with Linux, Drupal,... and in contrary to ie examples like Joomla that set up a legal entity to secure Joomla for a l l community members.. <http://opensourcematters.org/index.php> See and learn from Joomla how they structure their real open source project where all members are guaranteed part of ownership, development and engagement of the project. Start with the legal part to secure your open source project for ever!

</comment><comment><USER22> HN just repeated slashdot? I don't remember that happening before...

<comment><USER23> Proof that time is now flowing backwards!

<comment><USER24> Indeed! You should see time flowing backwards in this YouTube video at this timecode: [http://www.youtube.com/watch?list=LLjUp4g-9BFlW78BBJ- lVqRg&#...
Seriously, watch it. Very cool.

</comment></comment></comment><comment><USER25> Dear Oracle:

Who are you trying to impress by removing test cases and revision history? That just seems like a dumb idea all around. I cannot imagine what you are gaining from that.

What are you losing? Me, as a developer/user of MySQL and your software in general (in the cases where I have a choice, anyways). Also, I'll be avoiding you as a potential employer, now.

See ya

</comment><comment><USER26> Is anyone _actually_ surprised by this? Personally, I declared MySQL doomed (if not immediately dead) as soon as Oracle took over. I know this isn't _proof_ of its death, but really. This was a long time coming.

</comment><comment><USER27> This sounds a bit premature. I have MySQL running on several server instances. They will continue to run.</comment>


I'm curious, Hackers, what do you think of the reddit redesign? - <AUTHOR> http://reddit.com Bracing for flamewar... <comment><USER2> I think you should change the name; "reddit" is ok, but there are still a lot of good names available.

<comment><AUTHOR> So you're saying it's _not_ poison to potential investors? ;)

</comment></comment><comment><USER3> I liked the old design much better. The new design seems too much like Digg. It lacks the simple minimalism that made Reddit better than Digg. The minimalist niche seems really hard to hold on to. There is always this urge to add something because one can.

<comment><AUTHOR> Fair enough. I'm curious, what specific changes removed the simple minimalism of ol' reddit?

We were very careful to not add elements superfluously. For instance, the [browse] button had long been a scourge of mine. It was almost never clicked on and hid a great sort option (controversy) that was woefully underused as a result. Adding [controversial] to the horiz nav made a great feature (unique to reddit) more accessible and removed a crappy one (the browse button).

That's just one example, but it's my favorite, because I really hated the browse button :)

<comment><USER3> The nav improvements are great.

I was talking more about how each article link is rendered. The links (in the new reddit) take up too much vertical space. The way HN does it (and the way reddit used to do) was much better. Here is the reason: It makes it easy for me to quickly scan the article. Basically have one-line per link. Instead of multiple lines.

Also I don't need to see the score in a larger font. Usually I don't pay attention to the score. The way I decide whether I want to read the article is: (a) the title, (b) where it is linked from (e.g. nytimes.com, etc). Almost everything else gets in the way.

</comment></comment></comment><comment><USER4> I like it for the most part. Not crazy about the uncompressed link display, but thats not a big deal. The biggest thing that bothered me is that my subreddits that I am subscribed to have changed.

<comment><USER5> I'm the opposite, I quite like the uncompressed link display. I thought I disliked it at first, and ticked on the compressed view, but quickly went back to uncompressed.

</comment></comment><comment><USER6> I love it. Uncompressing the stories makes it much easier to read the homepage. The only thing I don't like is the voting system. Why do you have to make the points in the middle of the arrows? This sort of takes away from the simplicity of reddit.

</comment><comment><USER7> I like the whitespace, font sizes and colours. The header is much clearer. The positioning/typography of the rank number, arrows and vote count sucks. The rank, vote 'spinner' and title/comments seem to occupy three different vertical alignments and the result is very confusing. At the very least aligning the rank number with the title would be an improvement. Potentially you could align the uparrow with the title, vote count with the submitted text and the downarrow with the comments link.

<comment><USER8> I have some of the same alignment issues especially when a entry has a long title.

I mocked up what it would look like if everything for an entry was vertically centered: <http://skitch.com/rrwhite/cm3m/reddit-centered-mod>

I'm not sure yet whether I think that's an improvement :)

<comment><USER7> I think its an improvement. Not generally a fan of things being centred, but its better to be properly centred than sort of randomly near centre.

</comment></comment></comment><comment><USER9> love the new spacing... I was feeling claustrophobic before.

I still think it could use more space between the header and the first links.. and you could do more with the arrows with out over doing it too...

over all though it's a solid upgrade!

<comment><USER10> The spacing between comments on the comments page is my biggest concern. They're way too close together.

</comment></comment><comment><USER11> The new design feels cumbersome on mobile devices, to the point of being unreadable. This is entirely due to the right-hand sidebar (with the Customize your reddit, Submit a link and Create your own reddit call-out boxes), which appears above the actual page content in mobile layouts. These three boxes are a lot longer than they used to be (especially Customize your reddit), so it takes a lot of scrolling to actually get to the links.

It's great that you can compress the link display, however, without the ability to dispose of the Customize your reddit and other sidebar call-out boxes, reddit is now a pain to read on a mobile device.

For what its worth, that used to be my main means of browsing reddit.

Edit: This is not a threat or anything, but I stopped reading Digg back when their site redesign made it impossible to read on a mobile device. Please don't ignore the mobile device users, though we are a minority to consider when deciding on a layout.

<comment><USER8> Have you checked out m.reddit.com

<comment><USER11> Thanks! m.reddit.com is indeed much better for mobiles. Wish I had seen that earlier.

No complains about the new layout after all then -- it looks great on desktop browsers.

</comment></comment></comment><comment><USER12> Hey Alexis, I had to kill the "Customize your reddit" frame and the submit/create windows on the right as they are serious real-estate hogs on my 5:4 monitor at work. If you guys could add this to the preferences it would probably help out some users like me who are not willing to play with greasemonkey.

<comment><AUTHOR> Yes, I'm playing with an collapse/expand button for that widget right now...

</comment></comment><comment><USER13> I find it too distracting and too spaced out compared to before. I guess its a good thing as I waste too much time there anyways. I read on some post that it was possible to revert the changes so I might finally make an account. I cant comment about the NSFW section yet as I am still at work....

</comment><comment><USER14> too be honest, i liked it before, not to keen on the new design too much white space for my liking.

</comment><comment><USER15> The new reddit is completely broken in Opera mini. Spacing is messed up. For some reason there is a huge gap between the headline and the first. Even worse, the comments are truncated. So basically, since OM's my main browser, I hate it.

</comment><comment><USER16> I really dislike it. It does not feel the same, and I wish I could quit it easily. If there were an alternative with the old design I'd go back.

I see no reason why you changed the design. The old one was fine.

</comment><comment><USER17> Let me add to the chorus: the density option in preferences saved it for me. I was absolutely dreading the beta.reddit.com because of all the whitespace and when it went live I was sad. Then I found about the compress option and now I'm much much happier. With that option turned on, it's much nicer then before (both before the update, and before enabling the option :P).

</comment><comment><USER18> So I just used "customize your reddit", unchecked most of the categories, then clicked on a story, and then when I went back to the story list none of my category changes were saved. It changed back to the defaults bombarding be with these stories I just took the time to filter. Granted I wasn't logged in, but this is annoying, and bad design.

<comment><USER19> I guess the "save these changes" button needs to be made more obvious. A lot of people seem to be missing it.

</comment></comment><comment><USER20> I think the arrows for voting should change color when you hover over them and the number should not.

</comment><comment><USER21> I like it visually, but it is not as efficient for my eye so parse as the old design.

</comment><comment><USER22> double numbers on the left are confusing

</comment><comment><USER23> Too much white space. Won't be visiting any longer.

<comment><USER24> By the way, there's a config option to revert the whitespace back. Go to preferences (upper right) and check "compress the link display".

<comment><USER25> You have to login (or register) to see that.

</comment></comment></comment><comment><USER26> Yawn.

</comment><comment><USER27> I don't read reddit. But I checked out the design, and I think your website has a couple design mistakes.

The arrows should not be above and below each number. That is horrible. Really.

Also, the domain of the link should be right of "submitted by" because there is space and that way, it would be in a consistent space instead of tacked on wherever the headline ends, and would be yield lines of consistent fonts what seem easier to read to me.

That's what stands out. Your website seems well thought out (besides those things that seem too clashing to me).

<comment><USER8> Can you expound on what's you find horrible about the points and the arrows. My understanding, and I've been helping the Reddit guys with the redesign, is that people we're getting the idea that the arrows were for moderation and so it made sense to add more of a connection between them and the points.

I felt pretty strongly about keeping the domain on the same line as the link (it was originally to be put just where you recommend). From a logical perspective, since it's information about the link and not meta information about the submission (who submitted it and to what 'category') it made sense to keep it on the link line. More importantly I felt that there was a natural tendency to read the link title and then immediately scan the domain as a final check before one clicks on the link. It felt much more natural to have that as one statement [link] [domain] than to involve scanning to another line [link] -scan-> [domain] even if it was consistently placed on that next line.

<comment><USER27> "Can you expound on what's you find horrible about the points and the arrows."

The way they look. Your assessment of the problem is good. You gotta connect the points with the arrows. BUT, the way you does it looks horrible. I don't know how else to say it. FSJ says "It harshes my zen" and that's about the best I can do. Like, in just this one little corner, I'm flashing back to AOL in 1995 or any of a million badly designed games from windows 95. You have a good grasp of your problem, you just need a cleaner looking solution.

I actually think having up and down arrows is too much, but I doubt that's the kind of feedback you are looking for.

If you keep the domain where it is you should make the fonts clash less. Make that look the same as the other stuff on the line. Then it flows nice. It doesn't flow nice when the font is the same as the metadata but you aren't treating it like metadata (I think).

It's obvious you've thought through the redesign. Is nice to see signs of intelligence!</comment></comment></comment>


Taking ML to production with Rust - <AUTHOR> https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/ <comment><USER2> Although I am a python guy, if I had to bet on an alternative language here - its going to be Swift.

The amount of evangelism money that Google is spending on Tensorflow is staggering. Its not just t-shirts, but an entire ecosystem - TensorBoard.dev, Tensorflow Privacy, TF Enterprise, Explainable AI Beta, free TPU on Google Colab etc.

And all of them will soon be backed using Tensorflow Swift ([https://www.tensorflow.org/swift](https://www.tensorflow.org/swift)). This is MNIST for Swift Tensorflow - [https://github.com/tensorflow/swift- models/blob/master/Datas...](https://github.com/tensorflow/swift- models/blob/master/Datasets/MNIST/MNIST.swift) . Mind you this is runnable on Google Colab using _TPU hardware acceleration_ in swift.

Swift vs Rust is a very political thing...but previous discussions on HN have been tilted in favor of Swift [1]

And we havent even touched on the elephant in the Room - Swift may soon hook into OSX Metal (which is arguably the _only_ way to do GPU AI on macbooks now that the nvidia-Apple CUDA divorce is official [2] ). You can already call Metal from Swift...but not write shaders directly IMHO.

[1] [https://cloud.google.com/explainable- ai/](https://cloud.google.com/explainable-ai/)

[2] [https://gizmodo.com/apple-and-nvidia-are- over-1840015246](https://gizmodo.com/apple-and-nvidia-are-over-1840015246)

<comment><USER3> While Swift may be the "latest and greatest" language with official support, if you look at [https://www.tensorflow.org/api_docs](https://www.tensorflow.org/api_docs), it's only one of several (the others being C++, Java, JS, Go and of course Python). Plus, there are community-supported bindings for C#, Haskell, Julia, Ruby, Rust and Scala). Just to make the picture complete...

<comment><USER4> Swift for tensor flow aren't bindings - it's a ground up rearchitecting of tensorflow

<comment><USER5> For Mac OS only apparently.

<comment><USER4> not true

[https://github.com/tensorflow/swift/blob/master/Installation...](https://github.com/tensorflow/swift/blob/master/Installation.md)

<comment><USER5> Having a package available for a specific OS doesn't mean it is usable, specially when it still requires conditional compilation to import either Darwin or Glibc, instead of Foundation.

And I don't see any Windows there.

Then there is the whole set of libraries that only compile on Apple platforms, no IDE, no Playgrounds and so on.

<comment><USER4> >specially when it still requires conditional compilation to import either Darwin or Glibc, instead of Foundation.

you don't need to compile from source - binaries are distributed (if you actually read my link instead of assuming it was just github source you would see that).

>And I don't see any Windows there.

yes they're aware of this and it's being worked on

>Then there is the whole set of libraries that only compile on Apple platforms, no IDE, no Playgrounds and so on.

you're moving goal posts in order to be able to have an axe to grind.

your comment was

>For Mac OS only apparently.

the fact that there's a runtime that runs on linux shows that that was incorrect.

>set of libraries that only compile on Apple platforms

i don't know what you're talking about here - s4tf libraries compile on all platforms e.g. [https://github.com/eaplatanios/swift- rl](https://github.com/eaplatanios/swift-rl)

>no IDE, no Playgrounds and so on.

i don't see how xcode being developed by apple (not the s4tf team) has anything to do with whether s4tf is multiplatform.

<comment><USER5> Not moving goalposts at all.

Swift is only usable in Apple OSes.

Making a tiny subject of its ecosystem available outside of Apple platform doesn't make it usable for something that pretends to replace Python ecosystem on data science.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I was a little surprised to see that instead of directly benchmarking prediction performance on a local machine, author chose to go through that complicated web-server route. I saw author saying this is nothing more than a remote RFC, still, a benchmark should try to remove unrelated factors as much as possible. I would be interested to see how the results compare when this web-service layer is removed.

<comment><USER7> Serving model predictions via an API is a pretty common usecase for putting data science models in production. If Python's web service layer is slower than Rust's, that's a real concern even if it's not directly related to model prediction.

</comment></comment><comment><USER8> Good!

I think Rust will eat more and more of the stack.

It has similar performance as C/C++, but feels more higher level. It's a drop- in replacement for C and is developed by a company that devs like.

<comment><USER9> Rust is not a drop-in replacement for C, it's a drop-in replacement for C++.

<comment><USER10> It's a drop-in replacement for neither since it's an entirely different language. C++ went to some great pain to be a drop-in replacement for C; you can "drop in" a C++ compiler in your toolchain and still compile your C code (mostly).

<comment><USER11> This was kind of true till C99, but not so much anymore. _restrict_ is the most obvious offender but far from the only one[1].

[1]: [https://en.m.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%...](https://en.m.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B)

</comment></comment></comment></comment><comment><USER12> The 25x speedup is because the gRPC python implementation is very slow [0].

[0] -- [https://performance-dot-grpc- testing.appspot.com/explore?das...](https://performance-dot-grpc- testing.appspot.com/explore?dashboard=5636470266134528)

<comment><USER13> Yeah, by skimming the article, it sound like making gRPC microservices 25x faster, not ML.

<comment><USER14> Of course the actual ML is not going to be faster in Rust, because the main tensor operations as used from Python are already written close to the metal. The cost of these operations is 99% of what it takes to run ML. Optimizing the remaining 1% is just not going to have a noticeable effect.

<comment><USER15> I've spent a lot of time writing python ML code, and I think 99% (of time inside fast C/cuda code) is much higher than most programs achieve. Off hand I'd say 80% is average and 90% is good (usually comes after a performance refactor). Also, one aspect that people often overlook is that optimizing compilers can often combine or vectorize operations in ways that are an order of magnitude faster than the same operations performed consecutively in, say, pure numpy. in that scenario, even though each numpy operation is very fast for what it is, the python program that combines a bunch of them ends up running much slower.

</comment></comment></comment></comment><comment><USER16> I think it is also worth examining what type of production load and its importance within the business.

For mission critical production usage, I think to use high performance systems/languages is pretty good starting point. With the assumptions that you update your model conservatively(not often), there are enough engineering resources to maintain and 'port' models from python, since most data scientists are trained with python. I think in this type of workload and context, it makes sense use Rust for deployment.

Another type of workload I think it is much more common. It is the experimental projects that data scientists are trying to discover does those have enough ROI to be part of the production system. Those projects and deployments are requiring a quick turn around on iteration cycle. I am not sure Rust or even Swift are good tools, when typical data scientists are not well versed in those. Not to mention, usually in this setting, they don't have a lot of engineering resources they can use. Python is still the go to option for this type of work.

I think the article has the right intention, speed up ML production. For the experimental work setting, I think we can have the cake and eat it too. Data scientists, still use python and generate production ready deployment service without help from engineers.

We create an open source python lib/platform called BentoML(www.github.com/bentoml/bentoml). BentoML makes it easy to serving and deploying ML models in the cloud, from ML model to production API endpoint with few lines of code. You can try it out at this Google Colab notebook([https://colab.research.google.com/github/bentoml/BentoML/blo...](https://colab.research.google.com/github/bentoml/BentoML/blob/master/guides/quick- start/bentoml-quick-start-guide.ipynb))

BentoML works with multiply ML framworks(Tensorflow/fastai/pytorch/etc) and could generate different distribution formats (docker/AWS Lambda/CLI/Spark UDF) for your serving need. We also support custom runtime backend. Feel free to ping me or ask questions in our slack channel. We are pretty active there.

</comment><comment><USER17> Nice article!

</comment><comment><USER18> Rust can never replace Python as a front-end because it's compiled and not all that flexible or user-friendly.

Rust can't currently replace C or C++ at the back-end because it doesn't have good enough support for GPU computing yet.

<comment><USER19> "The Rust ecosystem is indeed rich in ML crates - just take a look at what a quick search for machine learning on crates.io returns. No need to go and rewrite everything from scratch: I picture linfa as a meta-package, a collection of curated algorithm implementations from the Rust ecosystem. The first stop for your ML needs, as scikit-learn for Python."

Rust doesn't have to replace anything. It can be used to create complementary packages especially ones that use C/C++. The point of introducing Rust into your ecosystem is for safety + performance which is hard to achieve without discipline.

<comment><USER18> > Rust doesn't have to replace anything. It can be used to create > complementary packages especially ones that use C/C++.

I'm not sure that I understand correctly - are you suggesting that people use Rust as an additional layer between Python and C++?

<comment><USER20> The original article is proposing that the existing C and C++ libraries be rewritten in Rust for performance reasons (while continuing to use Python to access the functionality).

<comment><USER21> I guess you meant memory-safety reasons because Rust is attempting to be as fast as C and C++, not the other way around.

<comment><USER22> Depends on the domain.

For single threaded applications, as fast is the goal. There is potential for it to be faster due to stronger restrictions around pointers.

Multithreaded code is slated to be faster mainly because rust provides safety for patterns that would be difficult to do right in C++ (see servo css handling).

That is to say, you could do the same thing in C++, but getting it right is harder to do.

<comment><USER21> Concurrency patterns that are difficult to execute in the decades old codebase of Firefox, which also happens to be a browser aka nightmare of complexity.

The same environmental conditions don't apply to other software and it's perfectly possible to write blazing fast multithreaded software in C++. In fact that's SOP.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Rust will never work except in niche areas because it doesn't allow for easy experimentation and does not provide an iterative workflow like Python, R, or Julia.

I think the future is Julia, as it's as easy to write as Python, is interactive, and can be compiled for fast speeds!

It will just takes time for Julia to have as many libraries, but at some point the tipping point will be reached, and Julia will just eat Python's lunch.

Python was dying before the latest wave of data science and machine learning craze saved it anyway. There are pretty good reasons to believe Python (and Ruby) will slowly wither away. I am careful not to savy that they will die out, because they won't as some computing problems do not require so much speed and hence Python and the like can still pass mustard. But in a post- Moore's-law-world, data is getting bigger, the demand for computing is larger, but programs aren't getting faster, and there is a limit to how much you can optimise Python. Eventually, a crop of speedy and easy to write programming languages will rise up and eat Python's lunch. The early signs are there with tools like Julia.

<comment><USER24> > Rust will never work except in niche because

It warms my heart to see people don't read TFA. Like at all.

From TFA:

> But it was important to clean the air of any possible misunderstanding > before getting started. I don't believe Rust will replace Python as the > language of choice for ML - it just isn't happening, it's not a thing, > neither today or tomorrow.

<comment><USER25> What's wrong in expanding on a topic that was barely mentioned in the article?

Your parent wrote detailed reasoning that's not present in the article.

Also this type of uncharitable comment is against Hacker News guidelines: "Please don't comment on whether someone read an article".

[http://news.ycombinator.com/newsguidelines.html](http://news.ycombinator.com/newsguidelines.html)

<comment><USER26> There can be no discussion with GGP since he obviously didn't read the article. They think the article will claim Rust supplants Python. They think there is a performance advantage in using Julia instead of Python (but the Python code is just calling C, C++, and Rust as described in the article). GGP thinks there will be a tipping point where Julia has more libraries than Python but this is also addressed in the article.

There is no expanding on topics barely mentioned in the article. As far as GGP is concerned there was just a headline and they Kanye'd with "Julia is the best". As far as I care, mods can delete the comment and subtree.</comment></comment></comment></comment>


Operating Systems Lecture Notes by Martin Rinard - <AUTHOR> http://www.cag.lcs.mit.edu/~rinard/osnotes/

<comment><USER2> The material looks fine for a quick refresher ... would need good books, in- depth stuff and code if you really want to learn OSes internals.

</comment><comment><USER3> I think this type of content shouldn't be posted on HN. It's not news and it's been a long time since there was any shortage of study aids online.

<comment><USER4> I find these links very useful. HN seems to be serving a broader role than news,(another instance is the askhn posts). About non-shortage of online course material, this is very much true. Still, the 'aggregation' part remains - a way for users to post study notes that they find useful or interesting and then to discuss them.</comment></comment>


PyPy's Approach to Implementing Dynamic Languages Using a Tracing JIT Compiler - <AUTHOR> http://research.microsoft.com/apps/video/dl.aspx?id=144687

<comment><USER2> Here are the slides: [http://codespeak.net/svn/pypy/extradoc/talk/microsoft- jan-20...](http://codespeak.net/svn/pypy/extradoc/talk/microsoft- jan-2011/talk.pdf)

<comment><USER3> I really don't know what MS did to the slides on their web page. The PDF contains just images of text.

</comment></comment><comment><USER4> This is a really nice talk if you want to understand the work that's been going in trying optimize dynamic languages like Python.

Watched the entire video.</comment>


Restraining Order Compels Twitter to Provide Firehose Access - <AUTHOR> http://blog.peoplebrowsr.com/2012/11/peoplebrowsr-wins-temporary-restraining-order-compelling-twitter-to-provide-firehose-access/

<comment><AUTHOR> "Twitter has built its business on the promise of openness."

"Twitter promoted its 'open ecosystem' to encourage third parties to risk their time and money building businesses that depended on Twitter to survive".</comment>


Bootstrap 4 upgrader - <AUTHOR> http://demo.bootstraptor.com/bootstrap4/ <comment><AUTHOR> Bootstrap 4 upgrader - update Bootstrap v.3 HTML code to Bootstrap v.4. (a) online free service by @bootstraptor</comment>


New Irish Robotics Forum - <AUTHOR> http://www.stochasticgeometry.ie/2011/07/14/robotics-forum/ <comment><USER2> Why not just link there directly, instead of bit.ly link via a blog post?

<http://www.boards.ie/vbulletin/forumdisplay.php?f=1492></comment>


Computational survivalist - <AUTHOR> https://www.johndcook.com/blog/2019/10/09/computational-survivalist/ <comment><USER2> It's not just the grounds that they're on a system where that's all they have. The command line tools are largely written in pure C. They are blazingly fast if used correctly, and robust to all sorts of failures you didn't even think of, they are ready to go and they are QUICK to both use and develop for.

Here's an example:

I was working at a consultancy one day as a data engineer, and across the desk was a junior data scientist. We were preparing for a meetup and the manager said "this website has a bunch of email addresses on it I'd love to have them in a CSV" (they were in a format where it wasn't easy to copy + paste them)

The junior data scientist said "I can do that" and the manager said "only if it takes less than 2 minutes", the junior, thinking he'd have to: setup a python environment, find a parsing lib, write code to pull the page, parse the dom, search for the email addresses, write them to a file,

said it could be done in an hour or two.

I viewed the code on the page, and saw the html wasn't minified, and the "a" tags were 1 per line, so I :

use wget to pull the webpage cat webpage.html | grep 'mailto:' | cut -d '"' -f 5 | cut -d '"' -f 1 > emails.txt

^ unix wizards will tell me a better way of doing this, but it took me literally 60 seconds to go from "I wonder if" by the manager to "here's your CSV"

THATS WHY WE USE COMMAND LINE TOOLS, they are a swiss army knife

<comment><USER3> In that particular situation I imagine that a smart line of Javascript in the developer console would also have worked. Without the email file (so you must copy the result from the dev console), but it is considerably easier than using curl or wget when the page is behind a login page.

<comment><USER4> something like this:

`document.getElementsByTagName('a').map(elem => elem.href)`

<comment><USER5> this works at least in chrome console (to get link urls, not emails)

[...($$('a'))].map(e => e.href)

</comment></comment></comment></comment><comment><USER6> I hate this attitude by clients/employers. "I have a job for you, here are the tools you may use" ... Gives me a Windows 10 laptop and the only way to get into the network is some Windows only Cisco vpn app. So here I am, expressing all my enthusiasm, all my creativity through Windows on an HP (1280x768 display :S) which I consider to be a very narrow channel for my creativity and it kills my enthusiasm. I want a self chosen laptop that runs Linux and a distro chosen by me. And I want a nice Logitech keyboard/mouse. I want my tools to serve me, not the IT department.

I mean, even my friend the electrician gets money ech year to buy tools. And he buys Makita and DeWalt, not that 10 euro for 50 tools package at Ikea.

Yeah I'm not forced to work there, anyone saying that is right. And I dream of starting my own business just because of this.

<comment><USER7> While I agree up to a certain level, this opinion needs to stay within its limits.

I like the analogy of a photographer: Talents aside, a pro will always make better pictures using a cheap low-budget camera than any amateur will be able to do with the newest and best camera available.

IMHO the same holds true for any IT related job.

<comment><USER8> > Talents aside, a pro will always make better pictures using a cheap low- > budget camera than any amateur will be able to do with the newest and best > camera available.

Unfortunately it doesn't work like this.

Photography, as a low threshold occupation has tons of professional hacks who are bad with any equipment. At the same time there are countless amateurs who are top talent.

And it's not just a recent trend. Aside from photojournalism, formal portraiture and weddings, photography was always dominated and advanced by talented amateurs. There's no such thing as "professional landscape photographer" for example, even if some of them are able to make a modest living off their works after years of effort. Ansel Adams is a great example.

Also, no professional photographer would use a toy camera for anything other than a gag/vanity/show-off project. They infallibly use reliable, quality equipment day in day out.

<comment><USER7> > Me: "Talents aside, [...]

> You: "It doesn't work like this. [...] talented amateurs [...]

Uhm, okay.

Well, anyway, my point is pretty valid. If photography is not as much dependent on skills from your perspective (I wasn't talking about weddings and landscapes anyway) take something else. It really applies to everything.

Maybe music is a better fit? As someone that even actively plays piano I am still 100% confident that someone like Beethoven would run a better show on a $40 Casio keyboard than I would on a Yamaha C5.

<comment><USER8> I can see how he totally would. On the other hand, given a choice, he would likely prefer a better instrument.

</comment></comment></comment></comment></comment><comment><USER9> A similar, but different, concept that I've seen is "slow computing." It also involves the use of terminal applications over GUIs but with the goal of having an environment that changes less often, is easier to investigate and modify the source code, and is easier to understand exactly what is happening with your data.

After so many frustrating experiences with modern GUI apps significantly changing interfaces and functionality, phoning home and creating privacy concerns, or being just plain buggy, I've moved to "slow computing" and have found it a huge relief. And incidentally, not slow at all -- I'm far more productive.

<comment><USER10> The annoying thing is that GUIs don't have to be made this way, the complaints you have are relatively recent inventions.

</comment></comment><comment><USER11> > _" command line tools on the grounds that someday they may be in an > environment where that's all they have. I think of this as a sort of > computational survivalism."_

I don't think this is a helpful characterization, because this invokes post- apocalyptic associations of a world where there are somehow only text terminals left. In the article itself, the author goes on to describe a scenario where he used generic text/command line tools to achieve functionality that had not been explicitly granted to him by a restrictive software policy at work.

As opposed to survivalism, I think it's more fitting to describe it as user empowerment. I'd argue that the premier usage scenario for these tools is _not as a fallback_ in hard times, instead it's an important type of toolset integral to the craft.

<comment><USER12> >post-apocalyptic associations of a world where there are somehow only text terminals left

an SSH session?

<comment><USER11> I'm confused by the intent behind this question. The point of my post was that being able to work in terminal sessions is not _survivalism_ , it's standard tools knowledge.

</comment></comment></comment><comment><USER13> I am pleasantly surprised that this wasn't about the daft Collapse OS.

I understand where he is coming from and why he may have gotten that impression but it is more like "accubus ergonomics" essentially for reasons I will explain at the end.

The point of the command line is that the shell is very transportable, efficient, and powerful. Compare updating a syatem - you can just write or pass about a single shellscript to do what woukd otherwise require clicking through a ton of menus, watching bars grow, and waiting for it to need clicked. Not that big a deal for one person one system, a bigger deal for 5000.

Its main weakness is the required experience and knowledge to use so if you already have those capabilities the added costs are marginal.

This the name - it is like dealing with decimals or integers with an accubus vs a calculator and scratch paper. Surprisingly despite a millenia gap the calculator is slower - the user needs to read symbols and enter them one at a time with a hunt and peckish sort of mechanism. Meanwhile a skilled user will have its operation essentially in muscle memory and only need to read the end state. The accubus is rare in comparison because it generally isn't worth it on its own vs the easier alternatives. Plus the paper has a less volatile storage format than bead position.

Command line operation isn't for everyone and in most cases and that is okay but it still has a valid purpose.

<comment><USER14> abacus?

</comment></comment><comment><USER15> Agree with minimalism. The older I get, the more I value mastery of few things over a superficial grasp of many.

In some cases, this can feel a bit regressive. Stepping back to a bone-head simple pattern with fewer moving parts and less dependencies on complicated "others" I cannot see.

Part of why I hate WordPress with a passion. It's complex mess of plugins and themes, slapped together without the tight moderation and insistence on good style that we see in a place like the Python standard library.

</comment><comment><USER16> This is not much of a computational survivalism, if you need to install extra software on target machine.

I mean, you might as well install Python.

Do your task with PowerShell or DOS batch, and then this might cut it as computational survivalism on that box.

EDIT: Here, the solution to the author's problem without needing to pull a *nix tool chain in.

      ((Get-Content "<file name>").ToCharArray() `
      | Where-Object { $_ -eq '<the character that you need>' } `
      | Measure-Object).Count

<comment><USER10> I mostly really like PowerShell, and it works for Windows where the CLR is now part of the OS. I do wish there was a Linux equivalent but lighter weight, but so far all I've seen are attempts to shoe-horn existing unix programs into that model. I wish there was a ground-up rewrite, an entire environment that used a PowerShell-like object model with no legacy dependencies.

<comment><USER17> Nu Shell looks promising (inspired by PowerShell). [https://github.com/nushell/nushell](https://github.com/nushell/nushell)

<comment><USER10> Eh, it looks decent, but it isn't really what I want. For one, its cross- platform nature means it has eschewed greater integration with the system. One of the great strengths of PowerShell is how it treats pretty much every system interface as the same kind of object as everything else. Linux has these weird text based interfaces in /sys/ and /proc/ that it'd be nice to wrap.

Secondly it looks like it depends on a fair amount of typical userland being available. It'd prefer something I could slap on top of busybox and be done. Something that only depended on the kernel.

But, maybe with some tweaking...

</comment></comment></comment></comment><comment><USER18> Reminds me of this great talk from Dave Beazley where "I talk about my experience serving as an expert-witness in a patent infringement lawsuit. In this work I was locked away in a hidden vault with 1.5 TB of C++ source code and a Python interpreter. Great fun ensued."

[http://pyvideo.org/video/2645/discovering- python](http://pyvideo.org/video/2645/discovering-python)

</comment><comment><USER19> This argument seems to pop up with respect to proprietary software, where folks can be reluctant to acquire a dependence on a commercial vendor making acceptable offerings in the future.

In more extreme cases, I've seen it as an argument against Microsoft software like Windows and Word.

In less extreme cases, I've adopted this attitude with respect to some tightly restricted engineering (CAD) software used back in grad school. I mean, it was really useful software, but I didn't feel that I could reasonably rely on having access to it whenever I'd need it.

</comment><comment><USER20> Notice how the author had looked up how to do his example in Stack Overflow. I found that foraging through different man pages looking for a specific thing to do only once is just very time consuming. Luckily looking up information on places like Stack Exchange or even different blogs and forums (which I usually land on after using a search engine) is much more efficient.

Yes, the information contained might not be completely up-to-date or accurate, but at least it sets you up on the right path to search further.

</comment><comment><USER21> This is also why I try to avoid customization and try to use everything with the "out of the box" defaults. Not absolutely, but as much as possible.

<comment><USER22> Agreed. "After the apocalypse, I can't use this editor or shell because my macros or aliases are on github and the net was blown up"

<comment><USER21> Now everything has gone back to serial, after the apocalypse you should be able to toggle in the boot loader by scraping two wires together... _really_ fast!</comment></comment></comment>


Ask HN: Which intranet platform is best for startups with 1000+ employees? - <AUTHOR>

<comment><USER2> Are you still a startup when you have 1000 employees?

<comment><AUTHOR> okay fair point. Young tech company with startup culture.

<comment><USER3> Agree with angersock. It's really hard to know what you're looking at with such a vague description. It's hard to give any kind of good answer with solid recommendations without more information for a company of that size.

</comment></comment></comment><comment><USER4> I've not used it personally but the have heard good things about [http://www.huddle.com/](http://www.huddle.com/)

</comment><comment><USER5> What do you want your intranet platform to do?

\- Collaboration \- Spaces for documents \- Access control \- Used for forms? (surveys, polls etc? )

It's easier to suggest if there are more specific requirements.

</comment><comment><USER6> Not sure about your requirements, but have heard that MS Sharepoint is suitable for almost everything.

</comment><comment><USER7> With 1K employees, no one thing is going to provide best fit for everyone. Work out what the internet is _for_ , and realise that you might end up using multiple systems for different uses, and find ways to use them together. That's a good thing, because it means you don't have a single monolithic companywide dependency.</comment>


Boot-to-Guile - <AUTHOR> https://lists.gnu.org/archive/html/guile-user/2013-02/msg00131.html <comment><USER2> I see they say they can't use the ffi [1] as libc is not in the initrd which is kind of unfortunate as it makes it a lot more work. Issue is that glibc is insanely big for an initrd. For my similar project based on LuaJIT [2] I use the ffi and Musl libc [3] which is a sane sub 600k shared library (all in one file). Will put up a bootable system soon.

[1] [http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/...](http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/guile- linux-syscalls.patch)

[2] <https://github.com/justincormack/ljsyscall>

[3] <http://www.musl-libc.org/>

<comment><USER3> AFAIUI libc is in the initrd, but it's a statically linked libc. Guile's dynamic FFI uses dlopen/dlsym to get its function pointers, so it can't do that in a statically linked libc. (Or could it? I suppose there's no reason why a statically linked library wouldn't expose symbol tables, whether via dlsym or some other means.)

Your point about size is well-taken though. Besides libc in this case, Guile's build products are much larger (and slower) than LuaJIT's images because we've been trying to write the compiler in Scheme from the very beginning. We can't even think about doing a nice JIT until we have a good AOT compiler, because otherwise the JIT written in Scheme would be too slow.

<comment><USER2> I believe that LuaJIT's ffi can use symbols that are statically linked in, but I haven't tested it myself so I could be wrong. You can't use dlsym though in a static binary, so it might need some work. My plan to port ljsyscall to straight Lua without ffi though is to generate C bindings rather than writing them by hand. But I have done all the ioctl stuff in Lua not C so all I need is all the syscalls and structs defined and then all the ffi code for ioctls, netlink etc will just work; all the constants and so on are define on the Lua side (that has other issues like dealing with the ABI directly in Lua).

I might be tempted in your case just to use a huge initrd for now, it will be freed after boot anyway.

<comment><USER4> LuaJIT's "running" page <http://luajit.org/running.html> suggests linking with -E (gcc -Wl,-E) to make all your global symbols visible to dlsym() even when you statically link.

That's what we're doing in Snabb Switch <http://snabb.co/snabbswitch/> to create a statically linked executable that heavily uses FFI. (Currently don't statically link libc though so I don't know if there is a particular gotcha there.)

<comment><USER2> I think it won't work if you statically link LuaJIT too. I think it still uses dlopen, which with glibc still needs the dynamic libc available at run time, and might not work with other libcs. But you could fake it all with a statically linked table of function pointers quite easily I guess.

</comment></comment></comment></comment></comment><comment><USER5> This brings back great memories of embedding guile into practically every piece of software I wrote from 1997 to 2000. At the time Guile sported a very simple-to-use embedding API and it was lovely to use Scheme for scripting my web server, for building the logic for Braitenberg vehicles, etc.

<comment><USER6> Any chance you wrote about it somewhere ?

</comment></comment><comment><USER7> Bmote: This is part of the Guix project and will bring a official bootable system from GNU, one with Linux-libre and one with HURD.

<comment><USER8> I had to google "linux-libre". So they actually rip out all the proprietary code? Must have horrible driver support. Every piece of hardware on the market is proprietary... Where do you draw the line then. I'd rather draw the line above the kernel, so at least you get to run your free software!

<comment><USER7> Well, I don't actually know since I don't probably gonna use it. But it's still nice to see that GNU is getting their own distribution.

</comment></comment></comment><comment><USER9> Disappointingly, they're still booting Linux — this is not a standalone Guile running on bare metal (even emulated), but rather Guile running on top of the Linux kernel, loaded from an initrd.

<comment><USER6> Not sure if kidding or not, but it's still an interesting step. Maybe someone will be inspired to write a scheme os after that.

<comment><USER10> You may find this interesting.

<http://www.stripedgazelle.org/joey/dreamos.html>

<comment><USER6> Thank you very much, despite all my digging I don't think I've ever even heard of this.</comment></comment></comment></comment>


A subversive and effective productivity tool - <AUTHOR> http://www.renegadeyogi.com/better-living/productivity-better-living/a-subversive-and-effective-productivity-tool/

<comment><USER2> Cache: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.renegadeyogi.com/better- living/productivity-better-living/a-subversive-and-effective-productivity- tool/&hl=en&strip=1)

Edit: also -- <http://news.ycombinator.com/item?id=1889877>

</comment><comment><USER3> I've tried three times and can't get this page to load.

<comment><USER4> I think that's how it improves your productivity.</comment></comment>


Android Wear Device Supporting iOS? - <AUTHOR> http://techcrunch.com/2015/08/28/android-wear-device-supports-ios-per-this-pre-order-page/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&sr_share=twitter

<comment><USER2> Does it actually say "Android Wear"? It's more likely that they're implementing their own OS and app with the functionality limited to what will work on iOS as well as Android.</comment>


Together, Google Glass & MYO Bring Bionic Humans Closer Than You Think - <AUTHOR> http://refer.ly/together-google-glass-the-myo-could-change-things-forever/c/8a498d8a81d111e2bfbf22000a1db8fa

<comment><USER2> Am I the only one who really found that hard to read? Felt like the UI was all over the place. :-/

<comment><USER3> We're working on readability a whole bunch right now so if you have anything in particular that made it difficult let us know - firstname.lastname@example.com

<comment><USER4> Relevant CSS rules:

        1. { text-shadow: none; }

        2. width/max-width: (something that results in 66 characters per line)

        3. { font: 16px/1.5em Georgia; /** or 14px/1.5em */ }

        4. a { text-decoration: underline; color: #333; }

Apply at least the three latter to the article text and see if it helps.

<comment><USER3> Awesome, I'll ship some fixes as soon as traffic dies down a bit from this post</comment></comment></comment></comment>