Hacker Newsnew | comments | show | ask | jobs | submit | Someone's comments login

"If I were the NIH, I would make it illegal for grant recipients to publish anywhere that does not support open access”

Don’t they do that? https://publicaccess.nih.gov:

"To advance science and improve human health, NIH makes the peer-reviewed articles it funds publicly available on PubMed Central. The NIH public access policy requires scientists to submit final peer-reviewed journal manuscripts that arise from NIH funds to PubMed Central immediately upon acceptance for publication"

That is good news indeed! Thank you for letting me know. This is my first publicly funded work and I am not familiar with many of the policies. I will sleep better knowing that our work will not be holed up exclusively in the Elsevier-beast.

Also of interest: http://www.elsevier.com/about/open-science/open-access/agree...

They're allowed to drag their feet a little bit, but yes.

Zürich, Switzerland, isn't in the EU :-)

For the purposes of European research funding it effectively is.

I would hope not. The single biggest research foundation in Switzerland is SNF (http://www.snf.ch/), especially since the swiss participation in Horizon 2020 is unresolved due to political reasons.

The goal seems to be to reach an agreement, not to get embroiled forever. First, show your teeth. Biting can come later.

Also, that biting would be costly, especially for less established scientists. Not publishing in high-ranking journals can be bad for a career.

I don't know whether you can, but it would be asking for trouble. Let's say you call function f in library L and get back a std::list, and then pass it to function g in library M, which linked to a different implementation of std:list. At best, that would lead to a crash.

I don't think simpler to decode necessitates fewer instructions. If all your instructions put the bits describing which registers to use in the same place, use the same way to specify constants instead of registers, to specify that they operate on floating point variables, etc, using 8 bits that select the instruction gives you 256 different discussion with limited added complexity.

Of course, it is unlikely that you can make 256 instructions use the exact same format (some operations will not have any use for 3 registers, for instance) but if you can keep things as consistent as possible, decoding becomes easier. Price paid is that you sacrifice instruction space, for example because the instruction format allows you to write the result of an operation to a register hard-wired to contain a zero.

And x86 isn't that CISC-y. There were processors that basically could do a simple number to string conversion in one instruction, and there _are_ processors with an instruction that does Unicode conversions (http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/d...)

A lot of as in "a quarter of a million a year for a few years running"? I doubt it, and I guess that may not even be what they would need to make it a successful product at their scale (by my counting on apple.com, they now have 6 different notebook form factors and 5 different desktop ones, and Google tells me they sold over 19M Macs in 2014)

Add in that most of the 17" models sold likely would cost them a sale of a smaller one, and I doubt the numbers would add up for them.

No, both are whatever you want them to be. http://mathworld.wolfram.com/SquareBracket.html gives some options for square brackets. https://en.m.wikipedia.org/wiki/Bracket_(mathematics) has quite a few more (do not forget to check out the 'See also' section)

And x_i could for example mean 'x in base i' (http://mathforum.org/library/drmath/view/57226.html)

Mathematicians invent notation to suit them in whatever problem they are working on. That notation doesn't have to be globally consistent.

That's true. These just so happen to be ubiquitous. We can agree to call 2 a unit. To most, though, it won't be.

Nitpick, under standard definitions, 2 is a unit, over the field of rationals (or reals, or many other systems).

EDIT: for a less trivial example, 2 is a unit in the integers mod 9, but 3 isn't.

It also helps if your syntax supports error recovery. For example, if 'if' statements end with 'fi', 'do' statements end with 'od', and function definitions statements end with 'end', and you get 'if ... do ... fi', you can report that you are missing a 'od' in the program, and recover parsing after the 'fi'.

C is horrible in this respect; all nesting looks the same. Because of that it took clang lots of effort to get good error recovery, for example to correctly report a missing semicolon at the end of a header file instead of reporting an error in the file including it (http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-re... (NB: that page is 5 years old, and does not represent the current state of gcc))

gcc makes that job even harder by allowing nested function definitions. That means that accidentally forgetting a single '}', as in

   void f( int i) {
     if( i > 2) {
   void g() {}
   void h() {}
will make the compiler think that g() and h() are nested function definitions. So, the error you get is a “missing closing brace" on the last line of your file. Without nested function support, the error would be reported on the 'void g() {}' line. Still incorrect, but potentially thousands of lines closer to the source.

The Algol compiler (helped by Algol's syntax) I used years ago was way better. It frequently gave errors of the form

  "x undeclared. Assumed real"
(if, say, you call sin(x) without declaring x) or

  "semicolon missing after 'end' (inserted)”
Compilation would still fail after such errors, but you often would get meaningful error messages for the entire program. That was quite a boon if the compilation is run in batch, but it still is a good idea nowadays.

Another option is to make indentation meaningful to fix C's problem here.

You could use the indentation as a hint for error reporting even without giving it syntactic meaning.

Good and workable compromise! Perhaps even make it a proper warning, even if inconsistent indentation is the only thing wrong.

if you follow a sane style guide, it'll be obvious where thid error is anyway from the first error line no. usually and it won't matter that you got garbage errors.

"the re-ignition of the "browser wars" when Google launched Chrome, and Apple got serious with Safari by moving to WebKit"

Moving to WebKit? Only if you count CyberDog, I guess. Safari was always WebKit based.

Also, your phrasing could be read as if Chrome came before Safari, but Safari is from 2003 (https://en.wikipedia.org/wiki/Safari_version_history), Chrome from 2008 (https://en.wikipedia.org/wiki/Google_Chrome_release_history).

Not only was Safari always WebKit based, WebKit is Apple's browser engine (forked from KHTML and open sourced) that Chrome used to use until they forked it.

And it's a fork of the KHTML engine used by the Konqueror web browser for the KDE project

Back in 1995, Internet Explorer then was licensed after Mosaic, and for Mozilla the name was coined as 'Mosaic Killer'.

And WebKit was actually forked from KHTML which was KDE's engine.

Apple had little choice other than to Open Source Webkit unless they wanted to violate LGPL licence which forces - source code of any derivative work to be released back to the user.

My mistake, my comment was penned rather quickly and emotionally (typical). I should have verified my memory with actual homework, the revised timeline does not change my opinion ;)

Half of the money over what time frame? If that's per year, you're facing 50% devaluation of your property per year.

That may be your best choice, but it surely isn't enticing for people to enter the game, or keep playing it. So, that would kill Bitcoin.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact