Live data from Hacker News

ChakraCore GitHub repository is now open

blogs.windows.com

301–310 of 324 posts

Re: ChakraCore GitHub repository is now open

#301

Earlier quoted context omitted.

Honestly, I think HIPAA may have been a net negative to the medical industry and has probably prevented the basic sharing between medical practices and related services that it was supposed to more readily allow. The lawyers have benefited a lot, and the abstract details insurance companies have gathered, but refuse to disclose based on HIPAA grounds to their own customers about themselves and medical practitioners t…

HIPAA mandates that the people have access to their own PHI held by covered entities, a mandate which did not exist before HIPAA, so it did the opposite of creating additional barriers to patients getting access to their own data.

You'd be surprised how it's worked out in reality though... I'm not against what HIPAA was meant to do. I just with the actual circumstances allowed for the more easy communications system that was hoped for... not filling out 100+ fields across 4-5 pages when seeing a new doctor for the first time.

Re: ChakraCore GitHub repository is now open

#302
post #131

Earlier quoted context omitted.

It is not overblown. I'm very happy that Microsoft is getting bad press. Hopefully this drives people away from Windows. This is the only way Microsoft "listens". When their revenue takes a hit. The primary issue with Windows 10 is how Microsoft is forcing people to upgrade to it. The secondary issue is with the lack of controls given to users. I don't want certain Win 7 machines that I own/maintain to ever upgrade t…

If worm trending and huge botnets are any indication, for the most part, users can't be trusted to disable updates and telemetry data.

I don't know about you but I'd rather not turn my PC into another unserviceable appliance.

Re: ChakraCore GitHub repository is now open

#303

Earlier quoted context omitted.

Actually, try it with current Chrome Canary (V8 version 4.9.355). They just hit 92% with no flags.

That's awesome! With SpiderMonkey hitting 90%, WebKit at 81%, V8 92% and Chakra at 80%, ES6 as production target becomes realistic! I'm wondering when Android/iOS default browsers will get updates because that's going to be the one remaining blocker. (and IE11 of course... but that's just waiting for userbase to move away from it :/)

Apparently iOS 9.3 will include a bigger-than-usual Safari update. While there are no new big ES6 features mentioned in the announcement, I'm hoping for some smaller improvements.

Re: ChakraCore GitHub repository is now open

#304

Earlier quoted context omitted.

Can you explain how this works in more detail? If I use someone's MIT license code that has patented stuff in it, does that make me a potential target? Seems hard to justify using MIT licensed code in that case?

That's right. MIT does not protect you from any patent-related legal action. It's not that hard to justify though - it's the same for BSD and MIT/BSD has been used for ages. Both Apache and GPL grant patent use to everyone. I'd paste the relevant bit, but it's stupid-law-level-long. Point 3 in https://www.apache.org/licenses/LICENSE-2.0.txt - also see the exploding trap at the end of that point. You cannot sue the au…

Please don't say things like, "MIT does not protect you from any patent-related legal action."

It isn't that the MIT License is known to provide no protection; rather, it's unknown whether the MIT License provides protection. The MIT License contains strong wording to suggest it may very well provide protection against patents, but it's untested and not quite as strong as the patent grant in, say, Apache 2.0. It's a matter of knowns and unknowns.

Consequently, this is why the MIT License and the BSD License should not be lumped together.

Re: ChakraCore GitHub repository is now open

#305

Earlier quoted context omitted.

Optimization decisions that V8 team have made are much more universal than it might seem. That's certainly possible, but maybe a competing VM can do better, but finds that everyone has coded specific V8 optimizations. They may be hesitant to push out their implementation. It may be a better optimization, but it causes existing code to run slower on their VM. Thus back to the original statement that implementation qui…

> The variable has to be in the local scope and can't be in any higher or lower scope, not just a global scope (which your words acknowledge, but your code snippet doesn't) Sure! I am just trying to say that in my opinion whenever you have a non-local variable used as iteration variable in for-in then you most probably have a bug in your code. I tried to illustrate this with an global variable example because it's a…

As a super late followup:

This really cements the case that the poster above was stating.

no edge-case of an implementation can make its way into programmers' habits, something that tends to happen a lot with JavaScript.

There is code in the wild right now that fixes (perceived or actual) problems in the code's interaction with the V8 engine. And worse, that developer code no longer solves any problem.

whenever you have a non-local variable used as iteration variable in for-in then you most probably have a bug in your code.

Agreed, I'm pretty sure every linter would pick that up anyways. That's not really the cases that I saw though, mostly it was stuff where the key is needed in a function/closure (just threw this together straight in the text area here):

  function Intercept(obj1, obj2){
     for(var key in obj1){
       obj2[key] = function(){
           console.log('called: ', key);
           obj1[key]();
       }
     }
  }
Note that in the document I referenced, this was under section 5.1. I'm not sure if you would consider them being the same or not, but that's where it's listed in the document, so that's I how I cited it.

Re: ChakraCore GitHub repository is now open

#306
post #292

Earlier quoted context omitted.

The MIT License does not use the word "patent", but there are good arguments that MIT grants at least an implied patent license, perhaps even a (limited) express patent license. "Implied patent license" is the search string if you want to read more. Apache version 2.0, on the other hand, has an express patent license. There are very good reasons to prefer an express patent license.

> there are good arguments that MIT grants at least an implied patent license, perhaps even a (limited) express patent license. I have not heard such arguments before. Can you provide a link to someplace where these legal arguments are explained?

I don't know a single online source worthy of recommendation, so I'm afraid you'll have to do your own searching. But in a nutshell, at least under US law:

1. The permission language "deal in the Software without restriction" is very broad.

2. Of the more specific, enumerated permissions "use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of" the terms "copy", "modify", "publish", "distribute", and "copies" speak to the exclusive rights of copyright owners per United States Code title 17, section 106. The terms "use" and "sell" speak to things you can sue for under a patent per United States Code title 35, section 271. The term "sublicense" is generic to licenses of all kinds, including copyright licenses and patent licenses.

3. There is also a legal idea called "estoppel" that prevents, broadly speaking, leading people to believe they can violate your rights freely and then suing them, or taking back or shrinking permission that you've already granted. State Contracting and Engineering Corporation v. Florida, decided by the United States Court of Appeals for the Federal Circuit, is an interesting case in the patent context. You might find a summary online, if you haven't time to trawl through the court's written opinion.

To quote Larry Rosen, from his book Open Source Licensing:

> Be careful about implied licenses. An implied license is necessarily vague and incomplete. The terms and conditions of an implied license may not be clear to either the licensor or the licensee. Reliance on an implied license is particularly risk when important property interests are at stake.

If you're worried about an implied license for a specific reason, please talk to your company's legal or engage an attorney. It's going to require a judgment call, and you want someone on your side who will consider a lot more than what I've mentioned here in coming up with good advice.

Re: ChakraCore GitHub repository is now open

#307

Earlier quoted context omitted.

IANAL but AFAIK as long as they are the sole owner and contributor or has agreements in place with everyone the GPL doesn't protect us against going closed in future releases. What it does secure is you right to fork the last open source version. Then again, so does BSD, MIT and ASL - and under better terms for everyone else.

The copyright holder can license a work under any license at any time. Although you can obviously issue an exclusive license for example, in most countries you can not simply dissolve the copyright (there is no concept of assigning something to the public domain). So practically, there is no way to write a license that stops the copyright holder from issuing a new and different license. What the GPL does is forbid an…

You may be interested in some thought experiments I'm running to try and achieve the aims of a verifiable public domain dedication under existing US law:

https://github.com/berneout

I'm also of the view that a truly irrevocable copyright waiver/dedication isn't currently possible under US law. We're not alone:

http://www.rosenlaw.com/lj16.htm

But you should be aware that others take a different view, if you're not already:

https://cr.yp.to/publicdomain.html

The most interesting reading I've done is probably the old CC mailing list threads on CC0-1.0's backup license. If you set yourself the goal of writing international/portable language, things get really hairy.

Re: ChakraCore GitHub repository is now open

#308

Earlier quoted context omitted.

> The variable has to be in the local scope and can't be in any higher or lower scope, not just a global scope (which your words acknowledge, but your code snippet doesn't) Sure! I am just trying to say that in my opinion whenever you have a non-local variable used as iteration variable in for-in then you most probably have a bug in your code. I tried to illustrate this with an global variable example because it's a…

As a super late followup: This really cements the case that the poster above was stating. no edge-case of an implementation can make its way into programmers' habits, something that tends to happen a lot with JavaScript. There is code in the wild right now that fixes (perceived or actual) problems in the code's interaction with the V8 engine. And worse, that developer code no longer solves any problem. whenever you h…

> no edge-case of an implementation can make its way into programmers' habits, something that tends to happen a lot with JavaScript.

Edge cases should not, and they almost never do... However performance optimizations is a very special area - you have to know how things are implemented and utilize this knowledge.

> mostly it was stuff where the key is needed in a function/closure (just threw this together straight in the text area here):

This code is also buggy - all closures will point to the same `key`.

Re: ChakraCore GitHub repository is now open

#309
post #270

Earlier quoted context omitted.

> The variable has to be in the local scope and can't be in any higher or lower scope, not just a global scope (which your words acknowledge, but your code snippet doesn't) Sure! I am just trying to say that in my opinion whenever you have a non-local variable used as iteration variable in for-in then you most probably have a bug in your code. I tried to illustrate this with an global variable example because it's a…

Hey, maybe you're the right person to ask - why does `arguments` so easily deoptimize in every major engine (well, V8 and SpiderMonkey, at least)? It seems that engines could easily detect the most common munging of `arguments` (such as [].slice.call(arguments), Array.prototype.slice.call(arguments). Array.from(arguments) and the like) and allow those to be optimized. Doing so would speed up a very large amount of co…

> Do you have any insight on why that still has not been done after so many years?

I can't really speak for either V8 or SpiderMonkey but I think there are few reasons -

a) nobody got to doing it, even though it was discussed multiple times, e.g. for V8 it just was not the right time to implement it as its trying to completely revamp its optimization pipeline and certain Crankshaft idiosyncrasies make this sort of optimization pretty brittle;

b) I am not entirely sure that it will actually speedup that much code, this kind of code is rarely on an extremely hot code-path (extremely hot code paths must strive to avoid allocation entirely!);

c) there is a reasonable workaround that provides good performance (manual loop);

d) ES6 provides something better than arguments object: rest arguments.

Re: ChakraCore GitHub repository is now open

#310
post #300

Earlier quoted context omitted.

I've opened a few issues and sent a some pull requests along to various MS projects (couple of bits shipped). I've found them generally to be quite supportive and encouraging in the vast majority of places. I've been un-acknowledged on a couple and have felt un-welcome in only one instance. (In that one case I'm pretty sure the words we were using were all English, but I'm not sure we had the same meaning... I walked…

> In that one case I'm pretty sure the words we were using were all English, but I'm not sure we had the same meaning I do not get what you mean here, are you willing to elaborate a bit? :)

Sorry I was trying to be too clever.

I mean that the things that they were saying were so complex that I was completely unable to understand a single word of it.

That's a bit over stated too, but the short version is that they confused me to the point that I didn't think I'd be able to make a valuable contribution to the project.

To break down my phrasing above, "I know you're speaking English, but I don't know what you're saying" is a phrase I've heard used but I think it isn't common.

Hope that helps. Basically it's a bad joke :)

Post reply on HN