Serious Intel CPU bugs (2016) - <AUTHOR> https://danluu.com/cpu-bugs/ <comment><USER4> As a former Intel employee this aligns closely with my experience. I didn't work in validation (actually joined as part of Altera) but velocity is an absolute buzzword and the senior management's approach to complex challenges is sheer panic. Slips in schedules are not tolerated at all - so problems in validation are an existential threat, your project can easily just be canned. Also, because of the size of the company the ways in which quality and completeness are 'acheived' is hugely bureaucratic and rarely reflect true engineering fundamentals. Intel's biggest challenge is simply that it's not 'winning big' at the moment and rather than strong leadership and focus the company just jumps from fad to fad failing at each (VR is dead, long live automotive).

<comment><USER5> not quite true regarding the focus - you aren't building a $50B+ company when you don't have focus, it's just that their core compentency isn't fashionable right now. they can't grow in the markets they're in because they either own them completely or were driven out, so they're trying different ones (pivoting, if that's applicable to mature companies).

<comment><USER6> They had a presence on the currently faster growing market (mobile), but they decided to sell it a while ago because it wasn't trendy and margins were smaller.

Now they are pivoting everywhere, but theirs is the only market with sufficient margins. And the perspective is that their margins will shrink because of competition and software emulation (that they are keeping into control by patent trolling).

<comment><USER7> Intel also liquidated all ram fabs in the eighties, very costly process. Almost less than a year after last fab closed ram prices skyrocketed letting Japanese manufacturers grow strong.

</comment></comment></comment></comment><comment><USER8> Quote from article "We need to move faster. Validation at Intel is taking much longer than it does for our competition. We need to do whatever we can to reduce those times… we can't live forever in the shadow of the early 90's FDIV bug, we need to move on. Our competition is moving much faster than we are".

Competition pressure could make a company's new product worse than (in this case, less stable than) their previous products, e.x. Samsung phone explosion. I still remembered the story was Samsung wanting to release their phone ahead of iPhone and I would imagine the testing went through a similar stressful time as Intel.

Of course not all cases of taking such risks would lead to disasters - <USER2> imagine Intel rushes on releasing new chips ahead of competition and 99 out of 100 times it ended up performing well. But a unique character in Intel's case is these bugs, unlike a faulty battery design, are accumulative and additive to future product development, which means a few small wins in catching up with your competitor could also lead to massive failures in some next major battle.

Now imagine Intel's competitors are going through the exact same scenario. One possible outcome is both Intel and its competitors' products become less stable and more buggy over time, and until everyone's stuff seems to be broken they probably never have time to fix them.

<comment><USER9> _> "we can't live forever in the shadow of the early 90's FDIV bug"_

There is a valid point there though - if you are testing for testing's sake and not finding anything extra through the extra effort then you are wasting time and potentially worse: lulling yourself into a false sense of security. Testing should be done for utility, not just in response to fear - you need to test intelligently, not just test lots. Like TTD in software, good testing processes make life much easier and quality much higher, bad testing processes can be worse than useless.

Processor bugs are always a thing and always have been a thing - look at the list of bugs the linux kernel scans for and works around many of which pre- date the FDIV debacle.

What made FDIV special isn't that is was a bad bug, it was the recent change in _marketing_. Before then processors were sold to manufacturers who might tell the customer what is used, unless you were a hobbyist you didn't much care for the specifics. But the Pentium line was the first time a processor had been particularly marketed directly at the end user. It had started with the 486 lines a couple of years earlier when "Intel Inside" was first a thing, but there was a huge push in that direction with the release of the first Pentium lines. Suddenly Joe Public was more aware of that detail, but was blissfully unaware that CPUs are complex beasts and generally not 100% perfect.

It didn't help that the bug was very easy to demonstrate in common applications like Excel so Joseph & Josephine Public could see and understand the problem where they wouldn't, for example, the FOOF bug, and it was easy to joke about (We are Pentium of Borg. Division is futile. You will be approximated) which fanned the rapid spread of the news. The fact that the bug only significantly affected fairly rare combinations was lost in the mass discussion about how such a bug could happen at all.

<comment><USER10> Testing is not for finding bugs, testing is for preventing bugs. But otherwise you are right, it's hard to calibrate and further develop the testing procedure if you rarely find bugs. While you might wide awake on one eye you might be blind on seven others. It's usually the things you don't expect that kill you. So, some need to be paranoid, be very paranoid.

<comment><USER9> The current chip bug does look like a doozy...

See [https://www.theregister.co.uk/2018/01/02/intel_cpu_design_fl...](https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/) if you've not already picked up on the news.

</comment></comment></comment></comment><comment><USER11> Denverton is much more complex than a "simple" Atom (performance of a C3958 is up to about half of an i5-7500 in single-thread, twice the total multi-thread performance). Avoton is really no slouch either. It's really not surprising that the incidence of bugs is increasing on those uarchs as the complexity grows.

The Skylake/Kaby hyperthread bug has been fixed in microcode and is no longer applicable. It's perfectly safe to run HT on these processors now.

The AMD Ryzen segfault remains unmitigated at this point in time. Phoronix rushed to declare the bug fixed because they got a binned RMA replacement but there are plenty of reports of it occurring in current-production processors to at least a moderate degree, roughly proportionate with ASIC/litho quality. It's unclear what the scope is w/r/t Epyc since Epyc is on a different stepping but also hasn't really ramped yet either. The early Epyc processors were essentially engineering samples (on the order of hundreds to single-digit thousands of samples) with no real (public) visibility into any binning that might be taking place.

The Ryzen high-address bug is no big deal, that's the kind of thing that gets patched all the time (like the Skylake HT bug). That's one thing Dan is glossing over here - there are tons of these bugs all the time and as long as there is an effective mitigation available it's no big deal.

The PTI patch can be viewed as making syscalls take somewhat longer (about double iirc). Gamers and compute-oriented workloads won't be hurt hardly at all. The average mixed-workload case sees 5% performance loss, not ideal but it's not critical either. Losing 30% is real bad though, and that's what you will get on IO-heavy workloads that context-switch into the kernel a lot.

The only real mitigation there appears to be right now is to give up hyperconvergence for now and harden up those DB/NAS servers that are going to be pushing a lot of IO so that you know there won't be hostile code running on them. That will allow you to safely disable PTI and sidestep the performance hit.

Of course, Epyc was not that good at running databases in the first place, so you still might be better off sucking it up and running Intel even with the PTI patch. It will probably depend on your actual workload and the relative amount of IO vs processing.

<comment><USER12> > The Skylake/Kaby hyperthread bug has been fixed in microcode and is no > longer applicable. It's perfectly safe to run HT on these processors now.

Only if you can actually get the fix. My main home PC has this bug and the motherboard manufacturer (ASUS) has yet to ship a BIOS update with the fix.

<comment><USER11> Your OS can deliver a microcode fixup that's installed at OS startup, Windows should do it automatically and Linux you just need to install the intel- microcode package.

</comment></comment></comment><comment><USER13> Out of curiosity, if you notice a CPU bug in a computer under warranty, is there anything the vendor is usually obligated do, or are they under no obligation to do anything about a CPU bug? Is that considered a defect they have to handle?

(Edit: I'm assuming the USA, and I'm assuming bugs that were not known to the vendor at the time of the sale.)

<comment><USER14> Under EU law (this is not legal advice), any bug that wasn't known to you at time of sale, but was present at time of sale, has to be fixed by the vendor. For 2 years after sale usually, some countries have longer (afaik, Norway for example has it set at 5 years. As EEA member, they also follow the EU laws on warranty).

<comment><USER15> Good luck explaining to a random vendor what the problem is though. They also need to verify that the problem exists and most of them won't have a clue what you're talking about, they'll just turn the computer on and notice that it's working.

If you're a company buying from more qualified vendors then it might be a different story, however at that point consumer law does not apply to you.

<comment><USER16> Well depending on how this is turning out there will be benchmarks that show the chips performing slower than before. I've read that many chips will be getting 17% slower in the best case and up to 30% in the worst case. That could be enough to warrant a return of the product.

<comment><USER15> Yes, however most computers are marketed using GHz numbers, not experienced performance (And in the cases where they are it's relative, like x times faster than before). It's hard to show a 17% slowdown to a store clerk.

Don't get me wrong, I'm all for being able to return a product that's 17% slower today than yesterday, I'm just saying it might be difficult since it's an issue that requires a degree of technical knowledge to understand which most store clerks don't have.

<comment><USER17> I agree with most of what you say, but why do you take for granted that it's up to the customer to demonstrate that the product is defective? Furthermore, where does the idea that the customer must be able to communicate this to a _uninformed_ clerk come from?

</comment></comment></comment></comment></comment></comment><comment><USER18> So I recently bought an 8700k. I was wondering if I should rather return it and get AMD instead? Not sure how much the recent bugs will impact me performance wise.

<comment><USER14> It looks like you'll see a significant slowdown, PostgreSQL with pgbench sees a 7% to 16% slowdown.

[https://www.postgresql.org/message- id/20180102222354.qikjmf7...](https://www.postgresql.org/message- firstname.lastname@example.com)

Of course, this depends on workload — gaming will see different results than computationally heavy tasks.

It is likely that games using Vulkan, DX12 or OoenGL's AZDO functions will see much lower performance impact (because they usually only do a handful of syscalls per frame) than games using older APIs, or even OpenGLs immediate mode (which does one syscall per emitted vertex, in worst case)

<comment><USER18> I am also quite annoyed because I paid premium (Intel) prices with the expectation to get premium speed. Now if I can just get the same performance cheaper with AMD, maybe I should just return the whole thing.

<comment><USER19> Which chip to get depends on your usecase.

If you absolutely need the best single core performance you can, Intel is the way forward.

If multicore performance is important (lots of multitasking, lots of heavy processes running) then one of the 8 core Ryzen 7's will be better, for cheaper.

<comment><USER18> Thanks. I guess I'll stick to my 8700k then.

<comment><USER20> Just curious, what do you do that requires a fast single core? I always find it strange when people value that, as most computers nowadays generally run more than 1 process at a time.

<comment><USER18> A lot of games only run single core. Though finally, more modern games do take advantage of more cores!

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> It annoys me when some online content (or edit) hasn't a date explicitly stated.

</comment><comment><USER22> Is this article from 2015 or 2017?

It would be great if the page displayed the date that the article was posted/updated. It is not in the URL nor the sources. The only way to see the dates is in the RSS feed and even that is only for new articles.

<comment><USER23> Jan 2016, according to [https://danluu.com/](https://danluu.com/) and ctrl+f

<comment><USER24> Last update is aug 2017 or later

<comment><USER25> Last update is _today_. It links to a comment on this thread. I think (2016) should be removed.

</comment></comment></comment></comment><comment><USER26> _As someone who worked in an Intel Validation group for SOCs until mid-2014 or so I can tell you, yes, you will see more CPU bugs from Intel than you have in the past from the post-FDIV-bug era until recently.

Why?

Let me set the scene: It's late in 2013. Intel is frantic about losing the mobile CPU wars to ARM. Meetings with all the validation groups. Head honcho in charge of Validation says something to the effect of: "We need to move faster. Validation at Intel is taking much longer than it does for our competition. We need to do whatever we can to reduce those times… we can't live forever in the shadow of the early 90's FDIV bug, we need to move on. Our competition is moving much faster than we are" - I'm paraphrasing.

Many of the engineers in the room could remember the FDIV bug and the ensuing problems caused for Intel 20 years prior. Many of us were aghast that someone highly placed would suggest we needed to cut corners in validation - <USER3> wasn't explicitly said, of course, but that was the implicit message. That meeting there in late 2013 signaled a sea change at Intel to many of us who were there. And it didn't seem like it was going to be a good kind of sea change. Some of us chose to get out while the getting was good. As someone who worked in an Intel Validation group for SOCs until mid-2014 or so I can tell you, yes, you will see more CPU bugs from Intel than you have in the past from the post-FDIV-bug era until recently._

So this is why Krzanich sold his stock. He knows the bug is his fault. Whoops. I think someone may "quit for personal reasons" soon.

[https://www.fool.com/investing/2017/12/19/intels-ceo-just- so...](https://www.fool.com/investing/2017/12/19/intels-ceo-just-sold-a-lot- of-stock.aspx)

</comment><comment><USER27> I can only expect that future will be worse. It may be that VM providers will find it unprofitable to offer a VM capable of running generic native code. Another thing that security products for desktops like Qubes OS that rely on hardware isolation to run untrusted code may need to reconsider their business model.

<comment><USER28> What's the connection between the performance hit of this bug and Qubes' business model?

<comment><USER27> This bug can be worked around. But the next one may not, making hardware-based virtualization as a secure way to run unprivileged code with max native performance unworkable. I.e. longer term if one wants to run untrusted code, it cannot be native one so any bug can be fixed without replacing hardware.

<comment><USER28> _> if one wants to run untrusted code, it cannot be native one so any bug can be fixed without replacing hardware_

It's a bit hard to parse that sentence, could you rephrase?

Are you saying that untrusted code should only be run on systems which do not use hardware virtualization, because there's a risk of hardware bugs that require hardware replacement? The problem is that there is no single-system equivalent, users would have to use multiple laptops/desktops and air gaps to achieve separation (e.g. between network drivers and userspace apps). May not be practical.

Yes there's a risk of a catastrophic hardware bug with no workaround, but that risk applies to every feature in the CPU, not only virtualization or page tables or speculative execution. Statistically it's only happened once with the single Intel CPU recall, which are better odds than other risks.

<comment><USER27> My point is that to run untrusted code it should be delivered in some form of bytecode, not the native code for CPU. This way one can always workaround CPU issues by changing the compiler or the interpreter even for catastrophic bugs in any part of CPU. Moreover, as hardware VM can execute much more instructions than unprivileged user processes, the probability that something unfixable will happen to them is higher then for ordinary processes.

As for statistics, there are strong indications that modern efforts for CPU verification do not keep up with increasing CPU complexity. So number and severity of bugs will grow.

<comment><USER28> Which bytecode do you recommend? Are you assuming the bytcode interpreter to be bug-free? There have been JVM escapes.

<comment><USER27> I do not assume that bytecode interpreter or compiler is bug free. But I assume that the interpreter can be trivially updated, while a bad CPU bug may require hardware replacement or taking terrible performance hit.

As for a particular bytecode format, I have no idea. Webassembly is a possibility, but it is still slower by factor of 2 compared with native code. Perhaps CPU-specific symbolic assembler will be a better choice as long as one can realibly alter it to workaround CPU bugs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> I have seen a lot of talk of AMD benefitting from this but what about ARM - how are their server offerings shaping up?

<comment><USER30> ARM is interesting because of the customisability of ARM chips. Some companies, such as Apple, license the ISA and spin their own silicon. Others license the whole CPU design from ARM holdings, and ARM produce several lines of designs with different CPU capabilities.

Edit: Looks like ARM64 was affected, but it has an architectural feature that makes the mitigation much easier: [http://lists.infradead.org/pipermail/linux- arm-kernel/2017-N...](http://lists.infradead.org/pipermail/linux-arm- kernel/2017-November/542751.html)

</comment></comment><comment><USER31> Can we put [2016] in the title? Thanks!

<comment><USER32> At least part of the article (the 'More updates' section) had to have been written in 2017 because it references Ryzen chips which were released in March 2017. It's not entirely clear when the original article was posted but it seems like it could have been either late 2015 or early 2016.

<comment><USER25> Last update is _today_. It links to a comment on this thread.

</comment></comment></comment><comment><USER33> All the CPUs in my house are 4th and 5th generation Intel CPUs except for one PC laptop that has a Skylake processor.

I guess I'm glad now that Apple put a 2 year old CPU in the early 2015 Macbook Pro! Besides my 2012 Mac Pro, that is the most expensive machine in the house!

<comment><USER34> The latest big bug evidently affects all intel x64 processors back to 2007 or so.

<comment><USER35> I thought it was 1995?

</comment></comment></comment><comment><USER36> I wonder if this is related to the recently discovered design flaw in Intel CPUs:

[https://news.ycombinator.com/item?id=16055395](https://news.ycombinator.com/item?id=16055395)

</comment><comment><USER37> Considering the late Intel problems, Apple is going to be even more tempted to design its own CPUs/GPUs for the mac.

What do you think, is this realistic?

<comment><USER17> I'm not an insider, but it seems like Apple's motto is "long-term profit above almost anything else." As a result they certainly are considering designing their own x86-64 or ARM CPUs in hopes of reduced costs down the line from vertically integrating their business. What may stop them is the fact that their PC sales don't enjoy nearly as much volume as their mobile devices.

</comment></comment><comment><USER38> Before we all jump on Intel for being buggy, what's the list of serious AMD bugs like for the past five years? If AMD has a similar amount of bugs we should jump on them, too. If not, then we will actually know that Intel deserves being jumped on to the exclusion of AMD.</comment>


Editing humanity - <AUTHOR> http://www.economist.com/news/leaders/21661651-new-technique-manipulating-genes-holds-great-promisebut-rules-are-needed-govern-its <comment><USER2> >But here, too, the right approach is to be cautiously liberal: the burden is on society to justify when and why it is wrong to edit the genome.

I think this sentiment hits the right note. I am wholly unpersuaded by moral arguments about "playing God". We've been doing that for our entire existence. Quite successfully, thank you very much.

But tinkering with our genome and that of our children _does_ present ethical quandaries that need to be discussed and resolved. By allowing by default except where there is a compelling objection, we can both avoid the majority of the negative consequences while embracing the real positives that gene modification will bring.

<comment><USER3> Sure, it's an ethical quandry to play with an unborn child's genes, but keep in mind, these children will be born to the same parents who elect to modify them. A parent who wants to genetically modify their child is a parent who has plenty of resources to raise a child, and plenty of good-will toward their child to the point where they are trying to intervene even before the child is born. These children who are genetically modified would likely grow up being sent to piano lessons, math tutors, and little league.

So what if they're genetically modified to be good at these things? That's a child who will grow up with a leg up on the world already. This is the next step of our species evolution.

<comment><USER4> > This is the next step of our species evolution.

The ethical problem isn't necessarily with the individual or even the family.

Genetic engineering isn't so simple. Genes frequently have multiple functions. You might edit a few genes and give someone a high IQ, but those same set of genes now make them socially inept.

So let's say tons of parents do this. You now have a generation that can't effectively socialize and communicate. How does that affect our species as a whole?

Most of humanity's accomplishments are a direct result of our ability to work together. We may worship the individual, but it's groups of people that actually get things done. So by tweaking that one little tidbit to increase IQ, you completely threw the delicate balance out of whack and sent everybody back to the stone age.

That's just one hypothetical example.

By bringing gene selection purely to the parent level, you're excluding millions of years of evolutionary pressure for the sake of whatever happens to be fashionable in that moment.

The good news is that most genetic modifications will have immediate and nasty consequences. You can dick around with corn and have fields upon fields that go bad and simply pick out the winners ... try doing that with human beings and there will be a huge outcry, very quickly.

<comment><USER5> There is room for evil, but also for some good.

How about they start by testing parents for matching recessives that cause genetic disorders so they can know to have an Amniocentesis to make a decision on the child's viability?

Being able to edit out the bits for hemophilia, Downs Syndrome, Parkinson's, or <the genetic disorder you're familiar with here>?

It isn't all about trying to create some designer super race. Some parents knowing that they both carry dangerous recessive genes decide it isn't worth the risk of creating a child only to watch it suffer. More testing is good and IMHO ought to be strongly advised.

<comment><USER4> > Being able to edit out the bits for hemophilia, Downs Syndrome, Parkinson's, > or <the genetic disorder you're familiar with here>?

Don't misunderstand, I'm totally for this. In the cases you mention we have a proper baseline. We know exactly what will happen when we do the edits, on average. We are returning to the norm, not deviating from it.

The issue is all this super race talk that crops up around these discussions. It's just stupid.

<comment><USER5> I agree, but the super human stuff is anathema to the majority. I think it is only because of the conditioning they've had from reading novels (or from someone else's opinion after they read such a novel) where editing resulted in disaster and war.

It'll take time to defeat the bad publicity from fiction.

</comment></comment></comment></comment></comment></comment><comment><USER6> _Deaf parents may prefer their offspring to be deaf too, say; pushy parents might want to boost their children's intelligence at all costs, even if doing so affects their personalities in other ways._

I have read enough to know that certain serious genetic disorders tend to correlate to high IQ. So, yeah, this is very much a two-edged sword situation. It may not be possible to just select for all "positive" qualities.

My concern is not exactly ethics per se. My concern is that genes are complicated and my suspicion is we aren't as clever as we think we are and this could lead to bigger problems than the ones we hope to resolve via this path.

<comment><USER7> Well this brings up an interesting question: if a given gene/gene expression correlates with multiple effects, some good and some bad, would it be possible with sufficient knowledge to engineer the desired effect from scratch in a way that avoids the undesired effect?

I assume that no one currently has the knowledge of how to do this and won't for decades at least... But interesting to consider!

<comment><USER8> Interesting to consider, but we're not reprogramming human DNA so much as adding and removing bytes to the compiled output by trial and error.

In practice, there's good reason to be concerned that we might achieve the opposite: popularise a modification with a reasonably well understood "positive" characteristic and then discover the negative effects on many thousands of humans that have had the modification some time afterwards. Of course this happens with conventional medicine too, but it's a little easier to trial a remedy when you don't have to _create_ new humans for each trial, and negative effects are less likely to be irreversible when they're caused by something sufferers take rather than something sufferers _are_.

</comment></comment></comment><comment><USER9> I feel enraged that option NOT to enhance humanity is even in the picture.

I guess that's the inevitable part of any new medical advance, be it vaccines, anaesthesia or even washing hands when dealing the pregnant women after working with corpses.

<comment><USER10> Please consider that a decision NOT to change genetic material of "germ line" cells may be because humanity decides it would actually cause a decline of humanity, not an enhancement.

Real social, economic and political factors are going to come into play here. As the author concludes: "Gene editing raises the spectre of parents making choices that are not obviously in the best interests of their children. Deaf parents may prefer their offspring to be deaf too, say; pushy parents might want to boost their children's intelligence at all costs, even if doing so affects their personalities in other ways. And if it becomes possible to tweak genes to make children smarter, should that option really be limited to the rich?"

<comment><USER11> Let selection and mating sort it out.

Maybe very intelligent deaf humans would outcompete the rest of mankind in a few generations? _You_ may not like that, but why exactly should _I_ care?

Parents do have the best interest of their children in mind. Let them be free of making the best choices instead of government imposed ones.

<comment><USER12> I think one of the more realistic fears of this technology is that there won't really _be_ a choice. The option "remain unmodified and live an OK life" simply won't exist.

Moloch[1] may demand sacrifice.

[1] [http://slatestarcodex.com/2014/07/30/meditations-on- moloch/](http://slatestarcodex.com/2014/07/30/meditations-on-moloch/)

<comment><USER13> If that is the case, that it's so successful you pretty much have to do it, that sounds like an absolute success. Sounds like the process pretty much works and is good.

<comment><USER12> The tricky bit is that "successful" does not _necessarily_ have to mean "makes people happier".

</comment></comment></comment></comment></comment></comment><comment><USER3> I'm a molecular biologist and know a couple of things about CRISPR. I'm also a philosopher, and know a couple of things about ethics. In college, I minored in bioethics.

"Germ line" editing and production of designer babies as well as genetic re- tooling of already living people is going to happen with 100% probability. Right now there's already embryonic screening for certain (mostly pathogenic) traits, but this will be supplanted by writing and editing of desired traits.

There are not going to be any long term barriers whatsoever; the future of mankind is one of directed synthetic genetics. There will be roadblocks from the regressive factions, of course, but they'll ultimately fail. The millenials will be the ones to start to integrate this technology from the laboratory into normal human existence. Many members of generations that come after millenials will likely be heavily genetically modified, which brings us to an interesting place: the people who are currently being born right now are some of the last humans with fully "organic" genomes. This also means that our future as a species is radically more uncharted at this juncture than it has been since start of the industrial revolution.

Opening the door to synthetic genetics is going to also create new gulfs between the peoples of the world, as the norms that different societies have regarding genome editing will be different. Think Indians behave weird relative to Westerners? Well, you haven't even met the Indian whose parents decided that his genome would be engineered to be the most effective medical doctor. Not only is this guy foreign, he's literally made for a different purpose than you or I. It's extremely likely that his biological intelligence and focus will surpass unaugmented people, and that will breed jealousy and hatred. Among certain populations of people, genetic augmentation will be taboo, so there will be a new undercurrent of "maybe he's augmented" when a newcomer seems to perform strongly. Weird to think about these small details, but they're coming. As I briefly mentioned before, it'll be possible to engineer people for a certain purpose. Even right now, the knowledge of the genetics of intelligence is advanced enough to give this a very good shot. There's always room for unintended consequuences, but we'll wait and see.

As usual, the technology itself is neither good nor evil, but the usages of it will serve both ends and likely remake future human generations moving forward. The next thing that comes to mind is price: affording gene screening and editing is out of bounds for most people right now, so it'll only be the rich, for a time. Eventually the technology will be cheap and ubiquitous, with most middle class people deciding whether or not to genetically modify themselves and their prospective children broken mostly along ethnic religious/political lines. My immediate expectation is that the major powers (US, Russia, China, and EU) will allow for wild "abuses" such as allowing or subsidizing the intentional genetic extinction of certain undesirable traits or malignancies. Some of the worst abuses will probably occur when a government edits the genomes of certain minorities to prevent them from reproducing. It's extremely unlikely that any race of people or any negative trait will go completely extinct, though.

Exciting time ahead, to be sure. I really hope that there are people working on viral vectors to use with this technology so that currently living people can have their genomes edited too.

<comment><USER14> What if your parents chose a genome for a career that became obsolete? You could have been engineered to be the world's best buggy-whip maker, but if no one wants buggy-whips anymore (and they know you were targeted for that particular skill set from before birth), would you be employable in a different field?

Because buggy-whip making is in your genes, and that'd be tough to overcome.

<comment><USER15> That's not a problem we're likely to face though. Beyond encoding a physical dependance on some facet or condition of a job, there's very little we can conceivably do genetically to lock someone into just one job. Learnable skills rather than raw genetic aptitude are the requirements for most jobs anyways.

</comment></comment></comment><comment><USER16> I was talking about this with a friend a few weeks ago, and my conclusion is that this is going to be like giving a bunch of 12 year olds shotguns: beautiful and messy.

We can talk about 'rules' all we want here in the west but there is no way you are going to be able to regulate this stuff and trying to ban the ingredients is just going to lead to people buying it from less reputable sources that have impurities so you will end up with spliced up babies that have a bunch of additional defects instead of just spliced up babies.

We can try to explain to our fellow citizens that there is in fact no such thing as an intelligence gene, but that won't stop them from wanting it and certainly won't stop the snake oil salesmen from selling it. We've never been here before and we learn by trial and error, just like evolution.

<comment><USER17> There are genes associated with intelligence, they are what makes humans so much more dangerous than any other creature on earth, and octopi so much more interesting than fish.

More to your point, there are some intelligence genes that some people have and other people don't. They don't solely determine IQ, it's a complex interaction of environment, diet, education, personality, etc., but that's not to say they don't exist.

<comment><USER16> [http://www.nature.com/mp/journal/vaop/ncurrent/full/mp201410...](http://www.nature.com/mp/journal/vaop/ncurrent/full/mp2014105a.html)

</comment></comment></comment><comment><USER18> Yes, it's Gattaca.

<comment><USER19> I just realized that Gattaca contains only the letters G, A, T, and C.

<comment><USER20> It took me 2-3 years and a biology teacher casually mentioning it in a lecture for me to get it. So you're in good company.

</comment></comment></comment><comment><USER21> This seems like a rip of this month's Wired cover piece (which was fantastic).

</comment><comment><USER22> One issue is gene diversity. Even if most parents are making ethical decisions, at some point there will be standard, best choices. But a species with a gene pool that is not diverse is more vulnerable.</comment>


Ask HN: How do I become more productive as a programmer? - <AUTHOR> I'm a mediocre programmer in my early 30's with 10+ years of web development under my belt and a senior title. When I was younger and more junior, my rate of development was never a problem. As I get older, I've noticed that the rate at which I spit out code has slowed down. I think through tasks a bit more thoroughly now and do more prep work before coding. I believe the solutions I come up with are better, faster and easier to maintain than anything I came up with in my youth. But, all management sees is that it takes me longer to finish an equivalent task than the rest of my peers.<p>Is this something I need to work on to be competitive in my field? Or is this a case of companies trying to squeeze more value out of their employees? And if I do need to increase my rate of development, what's the best way to do that? <comment><USER2> You should introduce your so-called 'management' to the concept of technical debt. Churning out code fast is only useful if you're going to throw away the code completely in a few days. If the code needs to live longer, initial speed becomes unimportant and maintainability takes over.

Basically 'the faster you are upfront, the slower you'll be down the road'.

There's a nice saying that goes something like 'a 10x programmer is called so because it takes 10 programmers to clean up his mess after he left the company for his next rock-star gig'. Mostly true.

<comment><USER3> This is a good point. I experienced something like this years ago when I was at a company where I was one of the older employees (not even 30 yet!) To my knowledge, nobody complained about my productivity during the main development cycle, but I never felt like I was keeping up with the younger rock stars (who really were amazing).

Then the product development cycle was near the end and testing was underway. At one point during a meeting someone actually complained that I had no bugs in the tracking system assigned to me while most developers had hundreds. My boss actually spoke up and said "I've noticed that too, but it's because nobody is finding errors in his code."

I spent a few months helping other developers find and fix their bugs.

I think if you invest in quality, in the long term other people will see and value it (in most environments).

</comment></comment><comment><USER4> My wife is an Economist for the state and spent some time as a Regional Analyst giving presentations to job seekers and those who help them. She said that the biggest hurdle an aging programmer seems to have is an inability to learn new languages and standards, because they feel that what they know is "good enough"

These are the people without jobs.

Her perspective is that so long as you are willing to embrace change, you will always continue to be employable in a changing market.

Now, here's my perspective:

Are you learning?

If you aren't continuing to evolve as a programmer, that is when you need to worry. So long as you are tackling new challenges, learning how to write the same things you used to more efficiently and better documented, and keeping up with the changes in your languages, you will be alright.

If you want to increase your rate of development, I highly suggest building and maintaining a collection of libraries and snippets that you commonly use to help facilitate faster deployments. It may take longer to condense things into classes and libraries at first, but soon you will be able to rip out new features faster than ever before.

<comment><AUTHOR> > Are you learning?

Yes, but learning what? I keep on top of the latest in all things Javascript, which is one of the reasons I have the job I currently have.

> If you want to increase your rate of development, I highly suggest building > and maintaining a collection of libraries and snippets that you commonly use > to help facilitate faster deployments. It may take longer to condense things > into classes and libraries at first, but soon you will be able to rip out > new features faster than ever before.

That's a good idea. I should put together my own personal library, or maybe my own little code generator. Thanks!

<comment><USER5> My wife occasionally asks me, "What do you need to learn now in order to have a job in five years?" My current answer is "Android", but that may not be the correct answer for your situation.

</comment></comment></comment><comment><USER6> Stop overthinking. When you were young, you didn't know anything, so you had no choice but to start coding. You get older, you have seen a hundred different ways, and analysis paralysis becomes a crutch. Stop over thinking, start doing, even if you gotta cowboy code it. Use a language with a nice REPL, Lisp, Prolog, Python, even something like psysh for PHP, explore your ideas. Then when you are done experimenting, code fast. Refactor fast.

</comment><comment><USER7> Some guiding principles I go by

* Ship it. Don't over engineer.

* Best code is code you don't have to write.

      Don't equate programmer productivity with lines of code.

      This means spend more time thinking.

* Productivity is relative. It depends on the project.

      In startups it's shipping working code. In large organizations, it's shipping maintainable code.

      Sometimes you might spend more time doing something correctly that might not be immediately productive but down the road, it saves time in maintanance.

* Programming is about delivering business value. No one cares how awesome your code is. It has to translate to business value and communicating that value.

</comment><comment><USER5> You're thinking more deeply, and therefore less quickly. You need to move on to harder problems. That's where the value of your experience will show up.

It gets harder to find those spots, though. I've seen a bunch of job posts that say "senior developer, 5-7 years experience". You've got 10. You're past what most people think of as "senior developer".

You might consider going to your manager, explaining your view of this situation, and ask to be put on the hardest problem he has. If he/she bites, that's your chance to shine. If not, it's probably your cue to start hunting for someplace where you _can_ shine...

<comment><AUTHOR> > You need to move on to harder problems.

That is a thought that hadn't occurred to me, but it makes sense. If I'm not tackling problems that a kid straight out of college can't do faster (sloppier, but faster), then why are they paying me more, right? Now to find out what the hardest problem is the company is and try to tackle it. I'm already on thin ice. I might as well dance.

Thank you!

</comment></comment><comment><USER8> Ultimately you will need to either work for yourself or have an open-source project on the side that you work on at your natural speed without pressure from others. As others here have noted, technical debt is not something most managers are concerned about, because it's a future cost, and they are judged on shipping code.

As I move into my mid-40's, I am writing software I never dreamed possible 10 years ago, but the speed is much slower, sometimes a month will pass with only a couple lines of production code being written, then after a concept gels, everything comes together fairly quickly. I would have been fired long ago working for someone else at that speed.

Hacking culture and the crazy Wall Street valuations of technically indebted companies like Facebook have distorted where people see value in software, and what they consider a normal development cycle, but don't pay attention to that - envision perfect software and work every day to improve your skills, eventually you will close the gap and you will find yourself to be not mediocre any longer.

On a practical level, I gained a lot of productivity by learning Relax NG - formulating your data structures and relationships concretely before beginning to write code has saved innumerable wrong turns and helped avoid misunderstandings with my clients.

<comment><USER9> _the crazy Wall Street valuations of technically indebted companies like Facebook_

But didn't Facebook transition out of that mode of heavy technical debt? And was it so bad to begin with, e.g. the classic story here is of the competition with Friendster, where the latter decisively lost because the board was off in the clouds thinking deals and was simply not interested in the fact that logging in and doing basic things kept taking longer and longer, eventually minutes as I recall.

</comment></comment><comment><USER10> Why do you have that perception of yourself? Are you sure that management perceives you that way? It sounds suspiciously like the kind of paranoia that would come from working in a toxically competitive, non-collaborative environment.

<comment><AUTHOR> I have that perception because I'm currently on my company's version of performance probation. In my company, the engineering manager sets the estimate and the programmers are expected to at least come close. In my case, the time it takes me to complete a task is around 5x greater than the original estimate.

</comment></comment><comment><USER11> " But, all management sees is that it takes me longer to finish an equivalent task than the rest of my peers."

This is your only problem. If your manager cannot understand that quality is better than quantity, then you may want to entertain the idea of changing companies.

<comment><USER9> Indeed; lots of good stuff here, but for the immediate decision, the OP needs to find some part of the company's work that demands higher quality, accept doing lower quality work fast and learn how to do that (yuk), or find another company, or perhaps a subfield, where quality is rewarded.

This appears to be one of the reasons grey hair is generally respected in embedded work (not in Detroit, though), the cost of low quality there can be very very high.

</comment></comment><comment><USER12> Pen and paper. I find that writing down ideas related to a piece of code I'm currently working on, or writing down the next tasks I have to work on helps me stay focused and productive throughout the day. If I get stuck on something, I'll also brainstorm on pen and paper.

My solution isn't perfect, but its helped tremendously. It also serves as an ever-present todo list if my mind wanders a little.

<comment><AUTHOR> This is a great suggestion and one that I'm already doing. I find it doesn't speed me up, it slows me down. It does make for better code, though.

</comment></comment><comment><USER13> Maybe, you've noticed that the actually technologies just get new names every few years ;)

</comment><comment><USER14> Part of being a more efficient programmer is writing tests. If your company isn't writing tests, they should be.

This allow you to adopt the methodology of writing tests, passing tests, then refactoring. This allows you to spend less time planning and more time writing working code.

<comment><AUTHOR> I've done TDD at a few places now and I've never seen it speed up development time. It has always added overhead in terms of time and complexity, to the point where it's almost always dropped after the first deadline crunch.

Anyway, I'm not a big fan of any programming methodology. The best solution to a problem is never one size fits all.

</comment></comment><comment><USER15> Use vim

<comment><AUTHOR> I do use vim. :)</comment></comment>


Computer Programming Aptitude Test - <AUTHOR> https://www.kent.ac.uk/careers/tests/computer-test.htm <comment><AUTHOR> It seems to test mostly careful attention, pattern-matching, and very basic knowledge of arithmetics and geometry. With that, it's tougher than it sounds.</comment>


Ask HN: What happened to Archive.org's Wayback machine? - <AUTHOR> Archive.org's Wayback machine has been broken for me for some months.<p>For example this page is broken https://web.archive.org/web/*/www.kuon.ch/post/2020-03-08-hsluv/ <comment><USER2> I checked a couple of not very well know sites and it still appears to work. www.kuon.ch/post/2020-03-08-hsluv/ does have stuff in the archive: [https://web.archive.org/web/20200310000917/www.kuon.ch/post/...](https://web.archive.org/web/20200310000917/www.kuon.ch/post/2020-03-08-hsluv/)

</comment><comment><AUTHOR> I solved this by clearing the Chrome site data for web.archive.org.

It seems that others had this issue too [https://archive.org/post/1100034/webarchiveorg- unexpectedly-...](https://archive.org/post/1100034/webarchiveorg-unexpectedly- closed-the-connection)

</comment><comment><USER3> Yeah, my "ezInvoice.com" site from 2002 is still there. I accessed via their search input on the home page.</comment>


Show HN: Programming guides on what topics to learn in language before starting - <AUTHOR> https://www.quickcode.co/learning-guide <comment><AUTHOR> We helped lot of people to start with the programming with free courses on Quick Code. Over time, we saw that most of the newcomers in programming have confusion on what path needs to take on the particular programming language or what programming language need to learn first. They need little guidance on picking up the right programming language that can help them to shape their future career.

To overcome this issue, we are excited to launch a programming guide. This programming guide will be useful to anyone who wants to learn a new programming language or want to get into the coding. It guides you step by step about what topics you need to learn in order to be the expert of that programming language.</comment>


Disney Makes $52.4B Deal for 21st Century Fox in Big Bet on Streaming - <AUTHOR> https://www.nytimes.com/2017/12/14/business/dealbook/disney-fox-deal.html <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=15921692](https://news.ycombinator.com/item?id=15921692)</comment>


The story of George — ayttm's most prolific non-developing contributor - <AUTHOR> http://tech.bluesmoon.info/2011/05/story-of-george-ayttms-most-prolific.html <comment><USER2> George is a perfect example of great contributors, who probably don't consider themselves such. This ties back to my recent post (<http://news.ycombinator.com/item?id=2516698>) and the "Why I don't contribute" (<http://news.ycombinator.com/item?id=2510964>) post from the other day. People don't realize that anyone _can_ contribute, and many people do without knowing it.

Open source isn't put together by a few talented rock stars, and it's not a shark tank (or rather, it shouldn't be) - it's put together by people who care - intelligent and bright people working with other intelligent bright people towards a common goal.

Thank you George.

</comment><comment><USER3> Thanks for taking the time to share this, bluesmoon. It's an excellent counterpoint with a broader perspective than my post.

I've learned a lot about this over the past couple of days just from the comments here, on Twitter, and on my blog.

A lot of it has been just learning not to lump all of "open source" into one big scary thing, but to find the smallest unit of work you're capable of doing, and to find a project with a supportive team who will be patient with you.

I think you are owed some of the credit for this story, as George found a project where his contributions are valued and the maintainers were patient with him.

For me, so far, this has been BDSM with Wayne E. Seguin, who goes WAY above and beyond to nurture this kind of environment for his projects and encourage contribution.

Thanks for sharing this. I think open source would have a lot more activity if newbies like me had George's persistence and maintainers had your patience.

</comment><comment><USER4> George writes (about ayttm):

 _"When I learned programming, about 40 years ago, it was important to write small, fast, and dependable code. I had thought those days were gone forever and I would be stuck in a world of huge, inefficient programs written by non- programmers that moved me farther and farther from what was happening on my computer."_

That sounds to me like a manifestation of Parkinson's Law, where any extra CPU speed or memory capacity is immediately filled with inefficient software bloat.

</comment><comment><USER5> Absolutely love this post. I'm an open source developer myself, and I can sympathize with the ayttm folks. Many bug reports are brief, don't explain much, and (occasionally) seem standoffish. This was a really great read, and I think it's absolutely great that there are users out there like this.

</comment><comment><USER6> I could do with a George or two for some of my projects.

<comment><USER7> What projects do you need help with? I'm looking to get started on some open source (non-developer) work myself, so if there's any cool projects you're working on (or even not-so-cool), fire me off an e-mail (email@example.com) and I'd love to get involved in any way I can.

</comment></comment><comment><USER8> I had a George helping me with a couple of projects, people like that are uniquely useful. I don't think I've ever been so motivated to get coding!</comment>


Speculative easter egg in Google Chrome - <AUTHOR>

I have been observing this inline search on may Mac Chrome since a few days now. This empty padded top section always gave my OCD some creeps. I felt it as a  bug. But when I tried to investigate further, it seems as an placeholder for an Easter egg. See the attached screen shot: http://t.co/Ask1YhGpFW
Anyone else facing a similar issue? The Chrome on my other Machines do not exhibit such a behaviour. I would probably in be A/B testing rollout on my this chrome.
Anyone figured out what this could potentially be? <comment><USER2> You likely have an extension that typically loads at the top of the page, like a toolbar or overlay. I've seen similar from things like VWO, SEO toolbars and even Wordpress. When they're not needed they sometimes hide themselves REALLY badly, creating a gap at the top of the page on certain sites.

<comment><AUTHOR> I can observe the issue even after disabling all the extensions. Even in Incognito.

</comment></comment><comment><USER3> I do not have that gap at the top, but that div is for easter eggs, not related to the gap. You can search for 'zerg rush' and see how that div is related.

<comment><AUTHOR> Are you seeing the unified search? As in the Google search box disappears and only the search term is in the universal address bar of chrome?

That easter-egg div is not behaving any differently for the triggering of zerg-rush. The zerg-rush behaviour is nested down way further in the DOM tree.</comment></comment>


Duby and Surinx, an Interview With Charles Nutter - <AUTHOR> http://www.infoq.com/news/2009/11/duby-surinx

<comment><AUTHOR> Duby is a particularly interesting language, essentially offering an improved Java syntax. Unlike other X-on-JVM languages, there's no runtime library or type system which slows things down.

But the really cool thing is doing the equivalent of meta-programming by making the compiler support plugins.</comment>


Tokaido 1.0 Released - <AUTHOR> https://github.com/tokaido/tokaidoapp/releases/tag/v1.0 <comment><USER2> If anyone is wondering, this is Rails for OSX ([https://www.kickstarter.com/projects/1397300529/railsapp](https://www.kickstarter.com/projects/1397300529/railsapp))

<comment><USER3> Two years ago when I backed it, getting Rails up and running was a beast on a fresh OS X install. I just did it again last week, and there's been a ton of progress since then, and it was easy, straightforward, and well-documented.

I worry that this is too little, too late.

</comment></comment><comment><USER4> This is the least compelling release announcement i remember seeing.

At least tell us what it is.

<comment><USER5> Seriously. This project does such an incredible bad job at telling people what it is. The repo name, description, and readme all completely fail at this.

You could have built the coolest thing in the world, but it's absolutely worthless if you can't communicate what it is.

<comment><USER6> Funny how devs can spend hours on building something.But when it comes to writing 3 lines of text to explain what a lib is for,everybody's busy.Dont get me started on docs... I'm not going further to try to figure out what that stuff is for. Good luck with whatever that thing is.

<comment><USER7> This whole comment thread is completely missing the context. Tokaido was marketed so well that it raised $51,000 on Kickstarter and has been discussed on HN many times, which is why it's not unreasonable to assume people around here know what it means.

</comment></comment></comment></comment><comment><USER8> I was able to get a Rails app up and running within 20 seconds of downloading this binary. This is on my work laptop that doesn't even have Rails, homebrew, rvm or RubyGems installed. Very cool.

I'm proud to have backed this on Kickstarter. Best $20 I ever spent. Thanks Yehuda!

Edit: I should add that getting Rails up and running from zero is still quite painful for beginners. I've seen it when helping others install Rails for the first time.

<comment><USER9> Is this really still true? With utilities like ruby-install that also install all of Ruby's OS X dependencies, and bundler, I didn't think it was still so difficult to get Rails up and running.

</comment></comment><comment><USER10> According to a user here, this is the result from the Kickstarter called Rails.app! [https://www.kickstarter.com/projects/1397300529/railsapp](https://www.kickstarter.com/projects/1397300529/railsapp)

I'm not sure what this is though. I was under the impression it would be as simple as installing Postgresql using Postgres.app. Which is literally downloading an .app and copying it into your Application folder. [http://postgresapp.com/](http://postgresapp.com/)

Want to try this out but don't want to bork my homebrew/rvm/gemset set up. Does this support multiple ruby/rails versions?

<comment><USER11> Tokaido won't bork your setup. It's completely self-contained.

</comment></comment><comment><USER12> This is exciting! It's been a couple years since the original Tokaido announcement. A big challenge in getting the project completed was getting a static version of ruby put together. Glad to see they sorted it out!

You can see a better breakdown all the progress they've made since 2012 by looking at the last official update: [http://yehudakatz.com/2012/08/06/august- tokaido-update/](http://yehudakatz.com/2012/08/06/august-tokaido-update/)

</comment><comment><USER13> Just curious as to what the problem this solves. Isn't getting rails as easy as rbenv, installing bundler gem and rails ?

</comment><comment><USER14> As a Rails coder on a Mac who uses RVM for managing my apps, is there any reason for me to switch to Tokaido? And if there is a compelling reason to, what would happen if I ran this installer? Massive conflicts or is it all sandboxed or something?

<comment><USER15> I'm pretty sure this was meant for beginners to lower the barrier to entry for getting started.

Slightly OT: I thought most people had switched from rvm to rbenv. What's the current situation between these two?

<comment><USER16> I've personally switched to chruby because I found rbenv too invasive, too. chruby + ruby-install + ruby-build give me everything I could want. (No, I don't use gemsets. No, I don't think they're a good idea, either.)</comment></comment></comment>


UI / UX Design Interviews – Luca Burgio - <AUTHOR> https://medium.com/ux-design-interviews/3a4d85289cc3

<comment><AUTHOR> Frank : The "design" is an important part of our analogic life. What is the role of the designer in our digital life?

Luca : I think now design has a central role in our digital life and not only there. Look around you, design has a key role in every product you see now in our society.</comment>


Malware Detection in Executables Using Neural Networks - <AUTHOR> https://devblogs.nvidia.com/parallelforall/malware-detection-neural-networks/ <comment><USER2> The lift relative to n-grams is underwhelming.</comment>


Show HN: Spellbook – Evernote integrated right into your IDE - <AUTHOR> https://www.getspellbook.dev <comment><AUTHOR> Access your Evernote account(s) directly from any JetBrains IDE including community editions.

\- View notebooks and notes

\- Search notebooks and notes with various filters

\- Add new notes/code snippets right from the IDE

\- Tag notes to make them more searchable

\- View media data attached to notes

No need to context switch, stay in your IDE and still access your Evernote data.</comment>


Ask HN: Alternative internet/communication ideas for isolated mountain towns? - <AUTHOR> I am living in a small mountain town of a few hundred people where we are lucky enough to have land lines and fiber optic which usually provides decent internet speeds.
The problem is someone keeps cutting the only line into town. Whether by malice or just incompetence is unclear, but it keeps happening and takes many hours to fix.
Most residents lose all ability to talk to the outside world when this happens. Most people are also older and retired and are likely to have medical needs, so this isn't ideal. A handful of people who usually aren't home have satellite internet, but that's it. No licensed radio operators or law enforcement or anything else.
The main backup idea seems to be directional antenna of one sort or another, but the rugged mountains and restrictions against building repeaters anywhere on the national forest ridges in the area make this solution impractical.
Has anyone heard of other ideas for some sort of affordable backup comm link to the world? <comment><USER2> Some resources:

[https://www.cambiumnetworks.com/solutions/rural- connectivity...](https://www.cambiumnetworks.com/solutions/rural- connectivity/)

[http://www.saveoutsidethebox.com/the-best-options-for- rural-...](http://www.saveoutsidethebox.com/the-best-options-for-rural- internet-access/)

You might read up on Tonga's recent crisis:

[https://www.radionz.co.nz/international/pacific- news/381580/...](https://www.radionz.co.nz/international/pacific- news/381580/internet-back-at-full-strength-in-tonga-after-2-week-blackout)

Some rural areas are going the DIY route and the first piece might be of particular interest:

[https://www.dailymail.co.uk/news/article-3200291/Farmer- sick...](https://www.dailymail.co.uk/news/article-3200291/Farmer-sick-poor- internet-signal-built-DIY-mast.html)

[https://www.bbc.com/news/technology-37974267](https://www.bbc.com/news/technology-37974267)</comment>


German virologist Drosten on the length of the live changing Covid-19 crisis - <AUTHOR> https://www.zeit.de/wissen/gesundheit/2020-03/christian-drosten-coronavirus-pandemic-germany-virologist-charite <comment><USER2> > I see the antiviral drug remdesivir as the best option.

and

> I don't see any real alternatives. Neither the malaria drug chloroquine nor > the HIV drugs ritonavir/lopinavir. Both have been the subject of clinical > studies, but the results haven't been convincing.

Prof. Drosten doesn't share the optimism regarding chloroquine, that many on the Internet hold.

<comment><AUTHOR> German-language transcript of the interview where Prof. Drosten elaborates on his assessment regarding the effectiveness of chloroquine:

[https://www.ndr.de/nachrichten/info/coronaskript134.pdf](https://www.ndr.de/nachrichten/info/coronaskript134.pdf)</comment></comment>


Tim Cook Says Apple Working on Mac App Store Shortcomings - <AUTHOR> https://twitter.com/drewmccormack/status/735163955899994113 <comment><USER2> Considering how long the Mac App Store has been broken, I will believe it when I see it. I am not going to hold my breath though, I gave up on the Mac App Store a long time ago.</comment>


iPhone 7 iCloud Lock - <AUTHOR> There has to be a way to bypass it. She no longer has access to her iCloud, the phone has been wiped, and we can't do anything with it. Apple is useless, and I've heard rumor that you can get through it, but it's some highly locked down trade secret that no one wants to tell.<p>Anyone want to help? Reddit just deletes anything that mentions or asks, since it's "illegal" even though it's the phone owner trying to get help. <comment><USER2> Did you buy the iPhone through a cell carrier? If so, ask them to reprint the bill where you originally bought it. This can be sent to Apple and they will remove the iCloud lock when provided with proof of purchase (ex-employees commonly leave unrecoverable iCloud locked iPhones).</comment>


Ask HN: GitHub cloned your project, what can I do? - <AUTHOR>

Today, I look my github page, and I find 10 cloned repository of my project: they have the same name, but they are built from different account. They are not Fork, but just clone. So how can a user know what is the real repository? and if I update the repository, the new update is not available on the other cloned repository. So what do you suggest? Shall I contact the users and suggest to fork the main repository? Any ideas? <comment><USER3> There are a lot of reasons someone might clone your repo.

Personally, I've frequently cloned repos to read and play around with the code. Making changes to the code is a good way for me to verify that I understand what's going on: if a change does what I expect it to do, then it means I probably understood the code. In that case, I don't really care if I miss updates.

As for people not knowing what the real repository is: there's not really a such thing as the "real" repo. Git just isn't centralized like that. Probably since you are the original coder, yours will be the most popular, but if you're worried about not getting credit for your work, there are a few things you can do:

1\. As viraptor said, you can put a link to your repo in the README.

2\. It's a good idea to put a LICENSE file in your repo. You can choose one which requires people to give you credit.

Keep in mind that you can't force people to pull your code with these changes, and if they've already cloned it they have it under the original license (which may be no license at all). So this doesn't really fix the problem you have now, it only prevents more people from cloning w/o a link back in the future.

<comment><USER4> If you haven't specified a license they have no legal right to use the code, not a completely liberal license. It is against github's terms to have public closed source code so arguably they have an implicit open license but they can't choose which one.

<comment><USER5> > If you haven't specified a license they have no legal right to use the code

This is technically correct - however according to the github TOS [1] [2] you agree to allow people to view and fork your code.

But - what is stopping me from creating a new algorithm that is X% faster than what is out there - uploading it to some service or site without a license and suing everyone who uses it? I have a feeling that someone would have done that by now.

Obviously in the US we have fair use for certain circumstances, but also I feel like if you attribute it to the author then that is fine. Otherwise every public school is forcing the students to break the law by making them use content from encyclopedias, research papers, and other online sources that don't have an explicit license. At least when I went to school - <USER2> content from work that was not explicitly licensed was deemed ok as long as you cited it with MLA, APA, or whatever 3 letter format was popular at the time. However - mixing unlicensed code with licensed code could lead to a disastrous situation (unless you stated in the LICENSE file that a chunk of code is not under the overall license).

[1] [https://help.github.com/articles/github-terms-of- service/](https://help.github.com/articles/github-terms-of-service/)

[2] [http://programmers.stackexchange.com/questions/207941/reusin...](http://programmers.stackexchange.com/questions/207941/reusing- open-source-code-that-doesn-t-specify-a-license)

<comment><USER6> You're conflating the idea of copyright violation and plagiarism. Copyright violoation is violating someone's exclusive right to control a piece of original content. Plagiarism is claiming someone else's ideas as your own. Ideas are not protected by intellectual property law, although plagiarism is usually also fraud. You can avoid commiting plagiarism by adding a citation. A citation basically states "These ideas were not originally mine, I got them from so-and-so".

You're usually not going to want to reproduce so much of a work in your research that copyright law would come into play (you can legally paste a few sentences from a book on your blog IANAL). Often though a research paper fits into a category protected by fair use so you can anyway.

But you can't reproduce and distribute an entire piece of copyright protected work just by providing a citation. I hope you haven't done this. If you have, you should take everything down. Do not apologize to the copyright holder. Talk to a lawyer.

<comment><USER5> > You're usually not going to want to reproduce so much of a work in your > research that copyright law would come into play (you can legally paste a > few sentences from a book on your blog IANAL).

The content of the encyclopedia is still copyrighted material of the company - copyright law is always in effect. Also - when writing a program it would most likely be composed of different projects. I would find it very unlikely that you aren't using a library or piece of code that is copyrighted or licensed by someone else.

> Often though a research paper fits into a category protected by fair use so > you can anyway.

You could still apply fair use for code - and if your derivative work is for non-commercial use then it would be hard to argue a copyright violation [1]. Especially if you tried to contact the author and didn't get a response.

> But you can't reproduce and distribute an entire piece of copyright > protected work just by providing a citation.

I never said you could?

> I hope you haven't done this. If you have, you should take everything down.

I never said I did?

You didn't express the big picture problem - if I release some unlicensed code into the wild and people start using it - does that give me the right to sue everyone on the planet?

[1] [http://ogc.harvard.edu/pages/copyright-and-fair- use](http://ogc.harvard.edu/pages/copyright-and-fair-use)

[2] [http://smallbusiness.findlaw.com/intellectual- property/fair-...](http://smallbusiness.findlaw.com/intellectual- property/fair-use-law.html)

</comment></comment></comment></comment></comment><comment><USER7> This illustrates why having a website for your project in addition to a repository may be good policy. The website can be SEO'd to rise in search results and as a landing page. It can always link to the "official" project repository on Github: or, because it removes a dependency, someplace else. A readme.md is great, but all of them are equal.

Of course having a website doesn't prevent someone from cloning and adding their own website and beating your version on Google, but at that point the other party clearly has some level of commitment.

If you're hell bent on contacting people cloning your project, a better approach is to ask how they are using the code and if there's any way you can help. I don't think asking people to fork is going to get your project much good will. It's mostly bureaucratic make-work for your benefit over a concern that's not proven to exist in the wild.

Good luck.

<comment><USER8> SimplyBuilt provides free websites for open source github projects.

[http://www.simplybuilt.com/support/the-settings- panel/gettin...](http://www.simplybuilt.com/support/the-settings- panel/getting-your-free-site-for-your-open-source-project-on-github)

</comment></comment><comment><USER9> Looks like it was people clicking google code's "export to github" feature before you got round to doing it ;-)

I wouldn't worry about it - the clones will probably not go anywhere and just die off, abandoned. True they don't link back to your now-canonical repo. As viraptor said, maybe contact the users. They might prefer to fork your repo now it's on github.

<comment><AUTHOR> I have exported the project on github, but in the google code page, this button is still available and they don't provide by default any link or redirection to the new github repository exported by google tools. The google support suggests me to make an "url redirection" to different website, the github repository.

</comment></comment><comment><USER10> This is an issue we have also, where we took our time to offer an official mirror of our software on Github, so we are less "popular" there than outdated clones.

This is a problem because many people will clone the old (2+years!) but popular repo and see that it does not work as well as it should. Github offers no real solution here. Maybe they should put a badge or an option to tag a repo as "official" (with sufficient proof of the owner) and present on top of search results.. although the possibilities of abuse are endless.

You will have to work your way up the search page with friends starring you. Maybe put up a blog asking your users to do so?

<comment><USER11> Being able to identify the "official" project on GitHub is often tough, especially for projects with hundreds of active forks, none of them with any discernible merge-back pattern. Not sure if it's a great solution to allow a single use the ability to "own" a project name though. You can imagine it resulting in some of the problems associated with domain naming: name squatting and legal fights over trademarks.

<comment><USER12> _Not sure if it 's a great solution to allow a single use the ability to "own" a project name though. You can imagine it resulting in some of the problems associated with domain naming: name squatting and legal fights over trademarks._

Arguably the name of a project _is_ a trademark, and no one has permission to use it unless you grant them that permission. Just because you license the copyright to your code under an OSS or Free Software license, does not automatically entail granting a license to the trademark on the name.

IMO, this is one thing that makes Github a bit of a legal tar-pit... it's trivially easy to fork a repo, but nothing makes (or even encourages) you to change the name, or make it clear that your repo _isn 't_ the "official" _Project Foobar_. So far it seems that most people just take a "don't ask, don't tell, don't care" sort of approach to that, but I have a hunch it's going to get somebody burned eventually.

<comment><USER11> I've not heard of a open source software license that requires you to change the name of a piece of software when you re-distribute it, but with the thousands of licenses out there, there are probably a few with this requirement. Surely the major ones (GPL, BSD, MIT, etc.) don't require this.

<comment><USER12> _I 've not heard of a open source software license that requires you to change the name of a piece of software when you re-distribute it, but with the thousands of licenses out there_

They don't, and they wouldn't. The licenses (generally) are only dealing with the _code_ , which is something very specific, and is apart from the _name of the software_. The need to change the name would simply fall out of the way trademark law works, not a requirement in the license per-se.

It's just an issue that doesn't come up very often, because most people who write OSS don't seem to get very worked up over it. But a license permitting you to redistribute code, does not automatically mean you have permission to use the associated trademark.

Times when this has come up: CentOS can't call their Linux distribution "RHEL" because RHEL is a Red Hat trademark. But they can (and do) redistribute the code.

Firefox / IceWeasel controversy - Firefox have specific guidelines concerning use of the name "Firefox" and Debian ran afoul of them at some point, and the Firefox people made an issue of it, so Debian rebranded their distribution of that code as "IceWeasel".

And so on... Now, IANAL, and I'll freely admit that it's probably an open question whether or not simply forking a Github repo represents an action which would violate a trademark. I suspect it could if the owner chose to make an issue of it, but hey, I could be wrong.

</comment></comment></comment></comment></comment><comment><USER13> You could do some SOE. And add an "Attribution" clause to your license.

People will however look at recent updates. And take into account the differences between the repositories, before deciding witch one to use.

This is how it should work by default IMHO. "Forking" is flawed: What if it was the other way around: Lets say You cloned a project and are actively maintaining it, why should people be directed to the original outdated repository!?

<comment><USER14> The issue is that someone may happen across a cloned repo and have no idea it isn't the only, or original, one.

So how would they look at recent updates and compare differences between the repos if they only know of the one?

</comment></comment><comment><USER15> Contract them, but also put the link to your github repo in README. Maybe even as links for bug reporting and wiki.

</comment><comment><USER16> Be proud that they're interested in your code, and if you're making money off it, be prepared to pivot (or offer a more nice specialization of the space) if they decide to move into that space.

</comment><comment><USER17> If you use any standard open source license, users are not obligated to fork your project. You can request that they do so, but there's no obligation under any OSI-approved license (MIT, BSD, GPL, Apache, etc).

For various reasons, I occasionally clone instead of fork an open source project I use, but I'm always careful to put a link to the original project at the top of my README.

Also, updates are not magically merged to upstream Github repos, regardless of whether they're forked or cloned. The user has to merge any updates manually either way, unless you script these merges using Bash or some similar approach.

tldr: forking is a tool, not a rule.

</comment><comment><USER18> Put the correct url in the README.md from the start. Then when it is cloned again, the users see the correct one.</comment>


California co. is relocating to Idaho. Half of employees are are moving also - <AUTHOR> http://www.idahostatesman.com/news/business/article211091644.html <comment><AUTHOR> Here is their hiring ad:

[https://sfbay.craigslist.org/nby/mnu/d/full-time- manufacturi...](https://sfbay.craigslist.org/nby/mnu/d/full-time- manufacturing/6583740686.html)</comment>


Perl and Java in the Enterprise - <AUTHOR> http://robonperl.blogspot.com/2010/02/perl-and-java-in-enterprise.html

<comment><USER2> the post has some merit, but you imho you can't really compare the work of 3-5 developers , to 30 java programmers without looking at the skill sets and basic coding habits of each party. Both langs have their positives and negatives, I can agree that java has been the enterprise king for a while, I can absolutely see more perl working its way up the ranks.</comment>


Breaking the fourth wall with Minecraft - <AUTHOR> http://hashbang.gr/breaking-the-4th-wall-with-minecraft/ <comment><USER2> > _I have a couple of WiFi-enabled bulbs near me, wouldn 't it be nice to be > able to control them using Minecraft?_

I mean nothing against the author and like-minded individuals and I have the utmost respect for people with such a "tinkerer" mindset, but often reading things like this on Hacker News makes me feel like a bit of a fraud, because my internal answer to the question above is basically "No, not really". I'm wondering if others feel the same way. Does it make me less of a "hacker"? I enjoy programming, sometimes I wonder how things work, but oftentimes I don't mind that it is abstracted from me and "just works", and I rarely if ever have the urge to integrate two seemingly unrelated things to create a unique hack.

<comment><USER3> Yep, I feel the same way. I don't really like tinkering, though. I don't like the mindset of tinkerers, either. Every tinkerer I've come across has never finished anything of substantial size, and every one I've met had terrible programming habits, or such strongly opinionated views, you couldn't work with them or discuss something you liked because it wasn't inline with their holy views of writing god-awful code.

When I pursue a project, I work on it in terms of 10s of thousands of lines of code over a 2-4+ year span of time. When I take up small projects, I make sure they're useful for production purposes.

I often think about the portfolios of people like this, a large number of repositories to show for, and nothing ever particularly useful. Everything is a gimmick, and nothing ever took serious architectural decision making on a grand scale.

<comment><USER4> Feynman thought tinkering had value :P

[https://www.physics.ohio- state.edu/~kilcup/262/feynman.html](https://www.physics.ohio- state.edu/~kilcup/262/feynman.html)

<comment><USER5> "Among the redeeming qualities of our species is that we play. Indeed, we surround ourselves with toys, and we remain preoccupied with them throughout life… We display almost inconceivable creativity as we tinker with our playthings. The force of imagination and the passion for experimenting propel us toward outrageous designs and technological achievements."

From Henk Tennekes' _The Simple Science of Flight_

</comment></comment></comment></comment><comment><USER6> Reminds me of dockercraft, discussed recently at: [https://news.ycombinator.com/item?id=10584956](https://news.ycombinator.com/item?id=10584956)

I have a raspberry pi controlled cat feeder I built and have been playing around with the last couple of weeks as a side project. I showed this to my wife and she said "Oh so can you make it so I can feed that cats while playing minecraft?" LOL

<comment><USER7> Next up: Order pizza and laundry through Minecraft

<comment><USER8> Next up: Live your whole life through Minecraft.

Wait... is this what VR is going to evolve to?

<comment><USER9> Part of it, and in a way.

</comment></comment></comment></comment><comment><USER10> I'd like to hear more about the bulbs used. Cheap wifi bulbs with a simple protocol sound like fun.

<comment><USER11> prob the Phillips bulbs. Sadly they don't sit flush in most sockets, despite using the same fixture name.

<comment><USER12> Definitely not the Philips Hue bulbs. Those use a REST API on port 80 for network control, whereas these bulbs are using a proprietary binary protocol on port 5577.

<comment><USER10> From what I've been able to find about the Philips API, there's also a modicum of authentication while these appear happy to accept input from anyone on the network.

</comment></comment></comment></comment><comment><USER13> Also check out "Minecraft: Pi edition" for the Raspberry Pi. It comes with embedded python support and is free: [http://pi.minecraft.net/](http://pi.minecraft.net/)

Somewhat unfortunately, it hasn't been updated since 2012 and lacks a lot of features of the Pocket or PC version.

</comment><comment><USER14> Now the next step is to build a replica of his house and this specific room down to the details so he can turn the lamp on in game which turns on the lamp in the real world.

<comment><USER15> Build a replica of someone else's house and let me control their lights!

</comment></comment><comment><USER16> This is what Code Hero, which I helped develop [1] tries to be. I hope this will have some success as well! With the right spark, there is a ton of creative fuel that can be channeled from excited kids into computer programming.

[1] [http://primerlabs.com/codehero](http://primerlabs.com/codehero)

<comment><USER15> Poking around the website it looks like an awesome project. I'm going to give it a try! But, the site needs a marketing person or someone gifted with visuals + words. Also, codehero.org has a redirect loop and most of the pages are access denied.

</comment></comment><comment><USER17> This seems like it'd be awesome for Minetest [1]. Minetest has a lot of (very) rough edges, but basically it's a Minecraft-like engine where most functionality beyond the very basic is added through mods written in Lua. I'd be fun to be able to live-code the mods on an in-game computer..

[1] [http://www.minetest.net/](http://www.minetest.net/)

</comment><comment><USER18> Finally, 'Hackers' the movie style 3D interfaces for managing networking infrastructure.

In all seriousness. As networking structures become more modular, it might not be a bad idea to have systems where the architecture can be modeled and monitored visually.

I have come across presentations of some custom/proprietary systems that provide interesting visualizations of networking interactions. It would be awesome to see a generalized platform implementation.

</comment><comment><USER19> So cool. Reminded of Gibson's The Peripheral - even if there's nothing so existentially twisted in what the author actually did. I suppose the interesting part is just that the author is controlling a light IRL from the center of a russian-doll of emulated environments, but it sure feels profound given that one of those environments _emulates_ an environment you can walk around in.

</comment><comment><USER20> Now if this whole thing could be accomplished using pure redstone circuitry [http://www.escapistmagazine.com/news/view/109385-Computer- Bu...](http://www.escapistmagazine.com/news/view/109385-Computer-Built-in- Minecraft-Has-RAM-Performs-Division)

<comment><USER21> Redstone has no means of communication to the outside, so even if you created an entire computer with redstone(very unlikely) you would have no means of communication outside of minecraft.

<comment><USER22> That would be a neat experiment to see if the conjecture, "Redstone has no means of communication to the outside" is true. It would be interesting to find bugs within the redstone rendering engine that leak or emit data. I'm thinking of something similar to the Super Mario World bank switching pong game.

<comment><USER23> That would be using a security vulnerability to reprogram the game then, of course if you can do that you can do anything on the computer. Since Minecraft is sandboxed in the JVM that might prove difficult though.

</comment></comment></comment></comment><comment><USER24> Open Computers is very powerful. I once knew a modded Mincecraft server admin who used Open Computers to receive and send text message updates about his base and the state of server when he was away from his computer.

</comment><comment><USER25> Would be great if Microsoft extended the python API they set up for the Raspberry pi to other platforms. It's tons of fun to play with.

</comment><comment><USER26> I'd like to play minecraft in minecraft. I would totally install minecraft on that minecraft also and play minecraft on it.

<comment><USER27> Been done: [https://www.youtube.com/watch?v=gdnO1QZJ-- M](https://www.youtube.com/watch?v=gdnO1QZJ--M)

... sort of.

</comment></comment><comment><USER28> Now implement a video chat protocol in Minecraft. How trippy would it be to receive a video chat call from a Minecraft avatar?

</comment><comment><USER29> Who else thinks that Minecraft will become the next iteration of nested simulated universe.

<comment><USER30> I've seen a video of a 2D minecraft implemented in minecraft. Minecraft all the way down...

</comment></comment><comment><USER31> Now you just need to be able to SSH into the server running the game itself...</comment>


Taavi Kotka: Reimagining Estonia's IT System - <AUTHOR> http://www.ozy.com/rising-stars-and-provocateurs/taavi-kotka-reimagining-estonias-it-system/32101.article

<comment><USER2> >That said, not everybody is enthusiastic about uploading their country's secrets onto the cloud. The opposition party, the leftist Central Party, is against it, just as it opposes electronic voting — insisting both initiatives pose too many potential security risks.

>But Kotka says all the data will be encrypted and impossible to access or erase without authorization. "You would have to bring the whole Internet down," he explains, describing it as "untouchable."

Whenever valid privacy and security concerns are raised with government IT systems (e-voting, centralised health care records, etc), this seems to be the kneejerk reaction: "No, it's all encrypted, you don't need to worry about it."

As a result, it's seems to be completely impossible to have a real discussion of the problems. In this case, this statement does nothing to answer the concerns, and yet it seems it placated the reporter.

</comment><comment><USER3> Estonia is very impressive of how they have kept pace with technology. I think it helps that they have a 34 year old prime minister. Even his predecessors made it a priority to bring tech into government services and the citizens' everyday lives. We can see the benefits of those policies now.

<comment><USER4> Yes, they are doing quite well for a nazi country.

[http://en.wikipedia.org/wiki/Estonian_alien's_passport](http://en.wikipedia.org/wiki/Estonian_alien's_passport)

</comment></comment><comment><USER5> By the way, the e-voting system has multiple security problems:

[http://www.theguardian.com/technology/2014/may/12/estonian-e...](http://www.theguardian.com/technology/2014/may/12/estonian- e-voting-security-warning-european-elections-research)

<comment><USER6> The same analysts claim having broken it every time, yet the publication of their results is coincidentally always a few weeks before elections.

It is common knowledge in Estonia that this is the work of one political party whose electorate is less computer savvy and therefore they are afraid that more people who would not vote for them would have the chance to vote.

Not to mention that in case of offline voting the actual risks of fraud are much worse.

You can read the official statement about these accusations here: [http://www.vvk.ee/valimiste-korraldamine/vvk- uudised/vabarii...](http://www.vvk.ee/valimiste-korraldamine/vvk- uudised/vabariigi-valimiskomisjoni-vastulause-the-guardianis-ilmunud- artiklile/)

<comment><USER2> How do you verify that the vote placed on the computer is actually counted for the correct party?

If you can verify that, how do you protect the secrecy of the ballot?

<comment><USER7> Here you go: [http://www.vvk.ee/public/Verification_of_I- Votes.pdf](http://www.vvk.ee/public/Verification_of_I-Votes.pdf)

More info: [http://www.vvk.ee/voting-methods-in- estonia/engindex/](http://www.vvk.ee/voting-methods-in-estonia/engindex/)

<comment><USER2> Based on the first link, it looks like the system does not solve the second concern (privacy of the ballot) at all.

If the user can verify how his vote was counted (in the example, using a smartphone app), then someone applying pressure on the voter can force him to verify that he voted the "right" way.

This is my problem with all these e-voting systems. They throw away hundreds of years of development in ballot security, assuming all those problems that have historically followed elections no longer apply.

<comment><USER7> Using regular paper ballot, you can force the voter to take a picture of his vote before he puts it in the box. It's that simple to put pressure on someone voting by paper. Oh, you can get a new voting form after you mark and photographed the first one? The criminal can stand outside the voting booth to make sure you don't go out and in again.

If you think papervoting is 100% secure you're naive. That's why e-voting doesn't need to be 100% secure, it just needs to be as secure as papervoting is now. The advantage with e-voting is that you can surpass the safety of papervoting.

Using e-voting it's actually much harder to put pressure on any voting. If you had read how it actually works, you'd have noticed that you're able to verify your vote only for up to 30 minutes after placing it. You're also able to change your vote by re-voting - the last vote counts. There still is a paperbased voting a week after e-voting ends, and if you go and vote by paper, that one overrides any electronic vote you might have made.

It shows a lack of respect that you try to put down a system you obviously haven't looked into and know nothing about. You hear "voting on the internet" and have a knee-jerk reaction that it's bad. Please in the future before you take a standpoint on any side of a discussion, research both sides, instead of throwing around opinions without merit. If everyone would have an informed opinion instead of just an opinion, society would be light-years ahead of where we are now.

</comment></comment></comment></comment></comment></comment><comment><USER8> I don't think this is a good idea. Forcefully rewriting working systems is a recipe for disaster.

Yes, stagnated systems are also a huge problem, but I don't think setting a hard limit on a system's age is the solution.

<comment><USER9> I went back and forth as I read the article.

I work in the public sector (K12 Education) and I find that many of the problems I deal with are the same impetus for the policy they've used.

You're right, however- I think it should be on a case-by-case basis. It's obvious that heavily used end-user desktops/laptops/etc need to be upgraded at least once every 13 years, but some server hardware might last a bit longer than 15 or so.

I guess it all boils down to cost/reward.

<comment><USER10> The whole problem is that if cost/benefit is evaluated with an artificially reduced benefit horizon (e.g. the period an administrator will spend in a position able to take credit for the improvement) then benefit will be systematically underestimated and outdated system will be irrationally favored. The 13-year policy recognizes this and serves as a stop-loss against the worst of these irrational judgements.

</comment></comment></comment><comment><USER11> Mandatory: I want to franchise this country! ([http://everything2.com/title/Franchulate](http://everything2.com/title/Franchulate))</comment>