1,097 karma · joined July 15, 2009
For a project that didn't directly make money (there are some 'cloud' offerings now), Safe Browsing probably was a very high return on investment.
[0] https://github.com/citation-style-language/schema/blob/maste...
TL;DR: Some routers don't like it, so layer 3 might work better
https://www.google.com/books/edition/Filing_Office_Managemen...
They may not be able to fix it, but just noticing there is a problem is a big first step.
Businesses like this are really flexible, and seek to serve their local customers with whatever IT needs they have.
I admit I wouldn't know how options would play out here, but if the reason for the move is 'avoid taxes', they have probably done their due diligence.
Not everyone will be diligent and fill out all applicable sections, but it does help bring some uniformity to the process.
Another point is that protesters feel the police should not be using these amounts of force at all.
I think what this boils down to is that it is evidence of use of force. If this was a courtroom, it would be up to to the defence/prosecution to argue each side, and provide whatever missing context would affect the judge/jurors decision.
Like anything in the 'court of public opinion', it doesn't work like that. Police departments (and city/local governments) are free to put out statements defending their actions as well.
Ideally, the person(s) maintaining this repository would respond to extra gathered evidence/context and remove any links where the context determines something else is happening. That would further strengthen their arguements, as it removes arguments of "well that one doesn't was `justified`, so maybe they all are".
But in general, I have to say that any individual has no responsibility to provide 'both sides' of the argument. The police almost always say their use of force is justified, so they're not the unbiased party either.
I knew I would before I moved (still worth it).
One of the reasons I chose to join Google over another security-related company (that would have done little coding) was that I wanted to learn how to write software better. I've learned a lot about testing, understanding the reliability of distributed systems, writing code for maintainability, etc.
So the L4 person probably had some better story/negotiation which allowed them to start at L4. It of course could be bias.
It was really frustrating for me to be at the same level as new grads, though on reflection, I was not at a the same level as other L4 employees around. Some transparency around these processes I think could help candidates a lot.
I think the bigger issue is that new-grad phds are almost always hired at L4. They are often less experienced at software engineering than someone with a bachelors and a few years of experience. So unless the person is being hired into an area that actually makes use of their phd, it seems that Google is just willing to pay for the title.
Choice quote:
"""Do you try to keep others from taking military funding?
No. Mine is an individual testimony, and each person makes an individual decision about how they will spend their life's work."""
3 PS3s guy: https://www.youtube.com/watch?v=8sjhjFOw4Ok
https://shipilev.net/jvm-anatomy-park/18-scalar-replacement/
It essentially says that java doesn't (ever?) allocate Objects on the stack, but it sometimes approximates it by just storing the scalar values (that would have been part of the object) on the stack, and never allocating the object (with its headers) at all. The end result is similar.
It also has a mention of an easy way to confuse the escape analysis (though Go's escape analysis has many pitfalls as well).
I'm speculating, but it could be partly that the escape analysis and resulting scalar replacement is a hotspot optimization, and therefore the Java GC has to be well tuned to handle non-jitted items. It may have something to do with what types of failure cases each of the languages have with their analysis.
You can see what the escape analysis has determined for each variable by building like so: go build -gcflags "-m"
Unfortunately it can be hard to know by just looking at code if something will be stack or heap allocated. You can allocate a struct and take its pointer, and have it still end up on the stack, for instance (which is good). You can also have seemingly obvious flows for a variable that the analyzer can't reason about and it escapes when you didn't think it would. You really just have to run the tool to see if you want to be sure.