5,321 karma · joined September 19, 2010
Ruby Gems are tar files, and one of the files in the tar file is a YAML representation of the GemSpec. This YAML file declares all dependencies for the Gem, so RubyGems can know, without evaling anything, what dependencies it needs to install before it can install any particular Gem. Additionally, RubyGems.org provides an API for asking about dependency information, which is actually the normal way of getting dependency info (again, no eval required).
It would be interesting to compare and contrast the parsing speed for a large representative set of Python dependencies compared to a large representative set of Ruby dependencies. YAML is famously not the most efficient format to parse. We might have been better than `pip`, but I would be surprised if there isn't any room left on the table to parse dependency information in a more efficient format (JSON, protobufs, whatever).That said, the points at the end about not needing to parse gemspecs to install "most" dependencies would make this pretty moot (if the information is already returned from the gemserver)
What do you mean by this? Direct messages are not end-to-end encrypted, I don't know what you mean by "doesn't know how to handle". Almost every platform with direct messages doesn't have E2E today, that's the same as email, twitter, Discord... basically every other messaging platform on the web besides Signal and Matrix, for better or worse.
6.18. In each of these cases the motive of the app developer/ lobbyist/
journalist may be more sinister than first appears, so permitting an officer to
examine whether the individual is a witting or unwitting agent of a foreign state
might be described as necessary in the right circumstances. Serious
responsibility is placed on police to use the power wisely.The report doesn't make any recommendations or suggest any changes to the law, it seems to consider that it is good that this could be considered Section 3 "hostile activity". This later part about Schedule 3 investigations also makes this clear:
The Joint Committee on Human Rights was of the view that there was an even greater risk of arbitrary use of Schedule 3 than of Schedule 7, owing to the broader and more ambiguous definition of “hostile activity” (than of terrorism). I would develop the point further:
• For Schedule 7, the examining officer must at least have in mind the possibility that the examined person is morally blameworthy. That arises from the statutory question: whether the individual is a person “…is or has been concerned in the commission, preparation or instigation of acts of terrorism”
• By contrast, under Schedule 3 a lawful examination may take place, with all the intrusion and inconvenience attached, of an individual for whom the question of moral fault does not arise at all.
6.22. Having said this, I am not yet able to draw any practical conclusions from this conceptual distinction. Firstly, most examinations are likely to be directed at the issue of witting or witting participation, which incidentally puts a premium on human as well as digital interrogation. Secondly, the possibility that an examinee is in fact entirely innocent also arises under Schedule 7. I will therefore keep under review whether this needs to be reflected in the Code of Practice, but make no recommendation at this stage.The language changes here are slight (claims -> warns) and includes more context about the reason this watchdog is speaking out (current debates around the Counter-Terrorism and Border Security Act, new implementation of the National Security Act), using language from the first 4 paragraphs (may be considered, could be considered, stark warning, report warns, etc).
You could also leave out the specific names of the acts—they're not super helpful to me as a non-UK news consumer, but I suspect they might be more crucial to someone who's tapped into the UK political news cycle:
"Creating apps like Signal could be considered 'hostile activities' under new laws, UK watchdog warns"
And then N4 is a shared utility service that's responsible for e.g. performance tracing or logging or something similar. To make the dependency "harder", we could consider that it's a shared service responsible for authentication and authorization. So it's clear why many root services are dependent on it—they need to make individual authorization decisions.
How would you refactor this to remove an undirected dependency loop?
You can also use "as const" to get the same behavior without any runtime calls:
const exploring = { immutable: true } as const
exploring.immutable = false
^ Cannot assign to 'immutable' because it is a read-only property.(2540)
But yes, OP wasn't referring to the article, they were just pointing out the narrower fact that Typescript does in fact have compile-time errors for mutating Object.freeze's return values.Has there been any indication that these folks are "rubbing Google the wrong way"? I think Chromium, as a project, is actually very happy that more people are using their engine.