Hacker Newsnew | past | comments | ask | show | jobs | submit | iknowstuff's commentslogin

> same capacity could have been added

That’s not at all likely.


EU law has supremacy over national laws. National courts need to disapply local laws in conflict with EU law, so typically any subsequent local disputes in court will just be ruled based on a new EU law/ruling. EU laws in conflict with a local constitution pose more of a challenge: from the EU point of view, EU law is supreme and they might apply infringement procedures for failing to recognize it, but for a country, the constitution is probably more important than a treaty.

> EU law has supremacy over national laws

Yes however EU has very limited capabilities to enforce that. They can bully smaller countries a bit more but Germany can do more or less whatever it wants


> for a country, the constitution is probably more important than a treaty.

The constitution is always supreme, because the ability to agree to the treaties derives from the constitution.


> EU law has supremacy over national laws

This only applies where countries ceded sovereignty to the EU.

Technically in Germany non of the sovereignty was ceded but transferred based on two different articles in the German Constitution. But that transfer is neither absolute, nor automatic. Practically it means that in most situations it is "as if" it was cede, but just in most situations.

This leads to a situation where if the supreme court rules that some EU regulations or similar are against the German constitution you have a conflict between the constitutional articles which transfer authority and the ones the court ruled to have been infringed one.

But in the German constitution not all articles are equally, the first few have special protections and extra hurdles to amend. And the article which transfers powers to the EU _is not one of them_. This means that for any of the more protected clauses Germany has not at all ceded the authority of their supreme court to do a final judgement on.

In such cases if the German supreme court says no, it's means no for any application of law in German no matter what the EU courts say. And there are only 3 ways to fix that, 1. the EU amends their regulation, 2. Germany amends their constitution (practically impossible in such cases), 3. the rule informally applies to everyone but Germany, 4. Germany leaves the EU which would likely mean it's end.

So while everyone pretends there is no issue (3rd option) can in some situations be viable and given that 2 is non-viable it pretty much always ends with a compromise of amending things just far enough to not longer cause an issue with the German constitution.

Systematic breaches of privacy through mass surveillance fall under that especially protected articles in the German constitution. And option 3 doesn't really work here. So it's one of the rare cases where German Supreme court actually matters on EU level.

Through practically it hardly ever matters outside of very very few cases:

- because of Article 1 (the most protected one you could say), the ECHR has more or less implicitly the same amount of power as the supreme court, only if the ECHR does rulings in conflict with human rights would that not be the case (so in practice never)

- as one of the core founding members and the country with the largest population (and seats in the EU parliament are distributed based on population) Germany can normally make sure such a situation doesn't arise

- and the breach must really be of a constitutional article standing above the one which transfers power to the EU (which most are not)

- you have to propagate things up to the supreme court, while all other courts will rule based on EU law/ECJ decisions

but it doesn't mean that it never happened,

e.g. there had been one case where the German supreme court ruled that a) something is against the constitution and b) that the EU organ which caused this acted unreasonable in a way which isn't covered by the transfer of authority. That case go resolved with compromises, but was neither the first nor will it be the last where "in practice" the German Supreme court overruled EU decisions, even if it on paper doesn't (because it only overrules what happens with law in Germany and overruling an EU decision would affect other countries, too).


One thing to add is that there is no guarantee this is even against the German constitution.

Local devices only scanning which only if there is an issue sends any information to anywhere outside of the device might actually be compatible with the German constitution by the argument that the privacy is only violated if the local validator phones home and that it only does so if there is a reasonable suspicion at which case it isn't baseless mass surveillance anymore... on a technicality iff the local scanner have close to now false positives. It's anyway a bad idea and a lot of the things it claims it's meant to help with have a lot of neglected other solutions which would improve things a lot.


There is no competitor with anything remotely close to FSD.

FSD keeps causing fatalities and Tesla has tried to obfuscate and delete the crash data on more than one occasion, data which implicates FSD being liable for the crash.


FSD would be a competitive advantage if it could Full Self Drive. Since it cannot, it doesn't matter how not remotely close any competitor is.

That's a party trick unless it can drive me while I'm taking a nap in the backseat. If I still need to be paying full attention to potentially intervene at any time, what's the point?

Of course its utility will become much greater at that point, I agree. I still wouldnt buy a car without it even in its current state. Changes the experience A LOT as is.



uuuh I like the pipes even though its my first language with them?

Concise and much clearer to read vs parentheses where you gotta wonder if the params are just arguments, or a tuple, etc. What are you talking about.


Most likely

    let e = Vec::new()
or

    let f = vec![]
rustc will figure out the type

exactly. you specify types for function parameters and structs and let the language do it's thing. it's a bit of a niche to specify a type within a function...

There is a reason the multiple methods detailed above exist. Mostly for random iterator syntax. Such as summing an array or calling collect on an iterator. Most Rust devs probably don't use all of these syntax in a single year or maybe even their careers.


Do these print statements print the same thing?

    let i = 1;
    let j = 1;
    print!("i: {:?}\n", !i);
    print!("j: {:?}\n", !j);

    let v = vec![1, 2, 3];
    v[i];
There are definitely times you want to specify a type.

> There are definitely times you want to specify a type.

So I'm coming from basically obly TypeScript type system experience but that seems completely ok to me. There are times I make my TS uglier to make it less ambiguous and times I make it more ambiguous to make it more readable. It's unreasonable imo that such a system could universally land on the most readable format even if we could all agree what's most readable. Instead, some cases are going to be tradeoffs so that the more common cases can flow unimpeded.


The Rust example I showed changes behavior when you declare the types. It's not just a readability or bug catching thing.

I can't believe that a flexible powerful syntax is considered limiting or confusing by some people. There is way more confusing edge-case syntax keywords in C++ that are huge foot-guns.

All it would take is forcing an artificial CPU slowdown to something like a 5 year old CPU when testing/dogfooding apps for developers to start caring about performance more.

> All it would take is forcing an artificial CPU slowdown

Technically, yes. But for many large tech companies it would require a large organisational mindset shift to go from more features is more promotions is more money to good, stable product with well maintained codebase is better and THAT would require a dramatic shift away from line must go up to something more sustainable and less investor/stock obsessed.


You don't know that about a C project. And you still don't know what lurks in its 1000th reimplementation of http header parsing.

Well, yes I do know when a C project only depends on my system libraries, because otherwise it won't compile. That's the point.

Furthermore, for the purposes of this discussion, it really doesn't matter what code there is in the C project. What's there has been put there by the people who run the project. If they are malicious, then at least I know who they are. With Rust, I'm downloading and compiling code from many, many third parties. I have no idea who they are. The potential for one of them to be malicious is much, much higher.


You do not know if developers are malicious when there are many contributors.

Now we are talking about NPM other time about: https://en.wikipedia.org/wiki/XZ_Utils_backdoor


https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-... this article made the rounds here after the author pulled the thread on dependencies in Go

That's pulling on a dependency. An ugly case, but a very specific one relating to a tricky backwards-incompatible change that the Go team fudged on back in the pre-module times.

That story doesn't generally speak to the reality that most Go packages have rather small dependency graphs.


println!() exists but there are more fancy crates like http://lib.rs/tracing and https://lib.rs/crates/log

Starship can fly to orbit, it's just not cheaper than a reusable falcon 9 that way

Starship has only flown 11 times. I suspect it's more cost effective than the Falcon 9 was when it had 11 launches, long before any reuse.

Counting all those explosions as "flown" is pretty charitable.

It's a technical rocketry term that encompasses all attempted flights, successful or otherwise.

Your confusion stems from trying to use a different definition of the word when reading. Context clues are your friend here :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: