cybrexalpha
She uses her wealth and fame, legitimized by continued engagement and spending with the Harry Potter IP, to attack, demonize, and spread hatred about entire groups of LGBT+ people.
This isn't a branded product, and I know no money directly ends up in a bigot's pocket because of this, but every time her works are referenced it endorses her hatred.
> Go got it right from the beginning and didn't use a centralized package registry to manage dependencies, but instead you have to directly point to the source code of the packages.
Directly coupling the identity of a package to its location means that you can't change one without the other. Need to rename to a fork of a dependency? You'll have to touch every single file that imports it. Need to use a organisational local cache for deps? It better be a transparent proxy or you can't do that. The only support for this is replace statements in go.mod files, but those tie you even further in knots when you need to pull in a dependency that has a replace statement in it.
It's even worse on the maintainer side. If you want to rename a git repository, rename a GitHub organisation, migrate a repo to a different owner, or even move git hosting providers then you risk breaking every single downstream. The only solution is to host a proxy for your packages on a custom URL that redirects to the backend hosting provider, and set your Go module's name to be on that custom URL. Which requires you to do this ahead of time before the package is widely used.
Cargo and crates.io could be better but Go is the worst place to draw inspiration from as it's full of ideas that seem clean, work at first, and break in hard to fix ways once you do anything complex.
The reality is that there is no single thing that will help. You'll have to try shit and see what works for you. What one person swears "fixed" them might do nothing for you.
That said, the one thing that is the most likely to work out is medication. Get yourself a diagnosis, try the meds, see if it helps. Caffeine is fine, but it's no substitute for the real stuff.
> you're mistaken about what the terms allow. When you paraphrased the terms as saying
I didn't paraphrase. I quoted them directly. Feel free to check them yourself https://ring.com/terms
> you neglected to account for the clause: "as required or permitted by law". Under the Stored Communications Act, 18 U.S. Code § 2702 (b), there is only a short and narrow list of circumstances under which it is permissible for a provider to disclose communications content without a warrant.
There are so many exceptions it doesn't matter. From the same code, (b) (8) states "if the provider, in good faith, believes that an emergency involving danger of death or serious physical injury to any person requires disclosure without delay of communications relating to the emergency", and (b) (7) (A) (ii) "to a law enforcement agency if the contents appear to pertain to the commission of a crime".
This is exactly how Ring shared content with the cops previously. https://www.cnet.com/home/security/ring-google-and-the-polic...
If you are subpoenaed then you're obligated to respond, and the same is true for Ring. But that's not what we're talking about here. This is law enforcement requesting access, and Ring doesn't require a formal subpoena or warrant. They can decide to comply to nothing more than "someone from a .gov email asked nicely".
It's written out in their terms of service:
> you also acknowledge and agree that Ring may access, use, preserve and/or disclose your Content to law enforcement authorities, government officials, and/or third parties, if legally required to do so or if we have a good faith belief that such access, use, preservation or disclosure is reasonably necessary to: > > (a) comply with applicable law, regulation, legal process or reasonable preservation request; (b) enforce these Terms, including investigation of any potential violation thereof; (c) detect, prevent or otherwise address security, fraud or technical issues; or (d) protect the rights, property or safety of Ring, its users, a third party, or the public as required or permitted by law.
So Ring is quite happy to hand over your footage to anyone so long as Ring believes it's "reasonably necessary" to protect the rights or property of anyone.
This isn't about Ring complying with a legal request. This is about Ring undermining the fourth amendment entirely by saying "we'll give law enforcement whatever they want".
Edit: Although looking at it, maybe not?
Both the new project railpack[0] and the older one nixpacks[1] are both started by and mostly written by the same person[2], who is also the author of the article in question. So it doesn't look like a team change.
It still feels... odd? Less that they made the change, projects go from Rust to Go all the time. But usually it's because of issues with Rust (hard to hire for, learning curve, etc.), describing it like this feels unusual?
[0] https://github.com/railwayapp/railpack
Again, what political goal or agenda do you think I’m pushing?
Sometimes, progress requires fundamental change.
> So why waste any time with them?
Can you not envision a business model that is not a high-growth startup?
> What is your real motivation? You seem more focused on some political agenda than you are focused on making a profit.
What agenda do you think I'm focused on?
ICs will need time to adjust to a flat structure, and some people will do anything to fight the absence of the restrictions they've always known. Hiring a bunch of senior ICs from traditional industry roles and saying "we're not going to have managers!" is always going to fail.
For a CTO/founder it's even easier: If you're building a VC-funded start-up where the plan is to grow fast exit in a few years — what's the point? Why invest the effort and energy to making flat work when the moment you get bought out the hierarchy is back anyway.
There are examples of stable large companies with flat org charts that do work, they're just not the hypergrowth scale-ups. The book "Reinventing Organizations" covers several in depth, and is a good intro to the topic. So my objection is the implication that a flat structure can never work, or that there is something fundamental about a flat org and human nature that means it's unstable. It is simply that it requires long-term investment to get right, and the market isn't setup to reward long-term investment.
H. P. Lovecraft is a good example from literature. He was profoundly racist, even beyond the cultural norms of his time. However, as he has long since passed away buying and amplifying his works do not further his views and causes.
A modern counterexample would be J. K. Rowling. Where supporting her works and properties does directly contribute to furthering her prejudices in a very real way.
Unfortunately, this isn't how large org CEO compensation works. CEOs of large publicly traded companies are mostly compensated by the stock price. Either directly as it increases the value of their significant stock grants, or indirectly as their cash bonuses are tied to stock performance. Stock performance is mostly a result of quarterly financial performance. Therefore, directives that take a long period of investment are much less attractive.
Say you were the CEO of a multi-thousand person organisation. Your SaaS bill is through the roof, and so you want to in-house everything. Not only do you need to disrupt nearly every employee by changing the way they work (depending on what you're replacing), you need to enter into co-location contracts, buy hardware, and hire staff to mange that hardware. It's a very large up-front cost (likely in the tens of millions on hardware alone) that in theory will pay off in the long term, but investors and the market will see a spike in your assets on your P&L, and will question why you're tying up capital in hardware instead of building the stuff that you sell. That's assuming you have the cashflow to buy all that hardware in the first place.
Of course, this pickiness is only if I'm in a situation where I don't need to move. I can think of plenty of cases, for example being laid off, where I'd take a role in a scrum team.
Even then, we're still talking about a perfect surveillance engine that allows any future person to observe your behaviour across your past. Imagine what it would mean for the police to retroactively search your entire life for the past 30 days when they arrest someone. Or how this might affect people living with abusive partners, or LGBTQ+ kids in non-supportive households.
This technology, no matter the implementation, puts vulnerable people at risk.
There is a middle ground though. It's not practical to only build on top of foundation-owned software. So a metric I use these days is to consider the cost of replacement or fork maintenance, combined with how likely I think a license change would be, as part of evaluation.
It's effectively impossible for pubic-facing dependencies. Imagine if https://github.com/sirupsen/logrus wanted to change their Go modules import path, for example to move to another git hosting provider. (Logrus is great by the way, I'm only 'picking' on it as a popular Go library that's used everywhere.) GitHub tells me that almost 200,000 Go projects depend on it (https://github.com/sirupsen/logrus/network/dependents), so all of them would need to change every source file they do logging in (probably most of them) in order to handle that.
GitHub seems like it's going to be eternal for now, but when the industry moves on in 10 years time every single Go project is going to break. This would be a problem for any source dependency management solution of course, it's not like any of the others are immune to this issue. But because Go has you encode the Git path in every source file you import it into, the level of change to fix it is an order of magnitude higher.
IMO the biggest miss with Go modules is conflating the identity of a dependency with how you get it. This means that renaming a repo not only breaks the module itself (as you self-import other modules in the same source tree using the full path), but all of your dependencies. I've seen repos be renamed from github.com/foo/proj to github.com/bar/proj as part of organisational reshuffles, and then there's a big warning somewhere that says "never make a github.com/foo/proj repo or it'll break GitHub's automatic forwarding for renamed repos, and you'll break every package that depends on us."
There are workarounds like using replace directives. But that makes an even worse situation where you can read a source file and assume a dependency is at github.com/foo/proj but actually it's elsewhere. But ultimately a real fix involves touching every single file that imports your dependency. If Go modules left the way of pulling a dependency in go.mod alone it wouldn't.
You should use a Go modules proxy to solve this, and a custom import path. But by the time most orgs realise they need this it's too late and adopting one would be a huge change. So you end up with a patchwork of import issues.
In general, Go's generics are a huge step forward though. So I'm not that annoyed about it.
I didn't word this very well. You can have a generic interface, and functions on that interface can refer to generic types. But you can't have a generic method on an interface that uses a different generic type. For example you can't have:
``` type YieldThing[T any] interface { Yield() T DoOperation[U any](U) } ```
But this spread means that it's not consistent across projects which style is preferred.
Some examples, based on cursory looking at big Go codebases: - Kubernetes, one of the biggest public-facing Go projects, uses the 3-block style https://github.com/kubernetes/kubernetes/blob/master/pkg/con... - TIDB uses 2-block style https://github.com/pingcap/tidb/blob/master/pkg/ddl/placemen... - MinIO uses 2-block https://github.com/minio/minio/blob/master/internal/grid/con...
In all of those cases if you make a change and just run 'go fmt' it very well could inject any new imports in the first block, which would be wrong and you wouldn't know until project CI picks it up.
The tooling is a mess. Go modules still feel like a 'first pass' implementation that never got finished. There's no consistency in formatting or imports (even though Go claims there is). Generics are a good step but are still very primitive (no generics on interfaces, no types as a first-class object).
It still feels very unfinished as an ecosystem. I hope it'll get better as the Go team mature things, like iterating on generics. But I can't see Go modules continuing without a fundamental rewrite.
Yep, it sucks. It's not like nobody has tried to do better, but nothing else has the adoption of Helm. Ultimately text is, as always, universal.
If you want a fun fact: the communication between kubectl and the kube-api-server is actually in JSON, not YAML.