Avatar

Pfosten

Pfosten@feddit.de
Joined
0 posts • 19 comments

Ich mag Pfosten.

I like posts.

Direct message

The cookie consent rules appeared 2009, and consent was made more strict in 2018 with the GDPR.

EU bodies such as the WP29 data protection board had been writing since at least 2014 on the need of reform because the cookie consent rules are onerous in practice. Everyone wants reform.

So there was (is?) an effort to replace the ePrivacy Directive with a shining new ePrivacy Regulation that would also harmonize it with the GDPR. At the time, it was hoped it could come into force together with the GDPR in 2018. This regulation would have allowed the use of some cookies without consent, even when not strictly necessary.

But the proposed regulation is disliked by both the data protection side and the industry side, because it changes the existing balance. It was heavily lobbied against by Google and others, and never got ready enough for a vote (report from 2017, and in 2021 the NYT reported on internal documents where Google boasted that it successfully slowed down any progress). Every year someone in the EU tries to pick it up again, but always there’s something more important and it gets dropped again. I guess the effort this article reports on will falter as well.

Some silver linings though:

  • Because responsibility for enforcement for cookie consent currently differs from GDPR stuff, clever data protection authorities like Belgium and France have been able to issue fines against big tech companies without having to involve their extremely industry-friendly Irish colleagues.
  • Subsequent lobbying has not been able to prevent improvements on other aspects, e.g. Digital Markets Act and Digital Services Act, the latter of which also forbids Dark Patterns. However, these Acts primarily affect very large companies, not the average website.
permalink
report
parent
reply

The text does technically give the reason on the first page:

It is not a regular language and hence cannot be parsed by regular expressions.

Here, “regular language” is a technical term, and the statement is correct.

The text goes on to discuss Perl regexes, which I think are able to parse at least all languages in LL(*). I’m fairly sure that is sufficient to recognize XML, but am not quite certain about HTML5. The WHATWG standard doesn’t define HTML5 syntax with a grammar, but with a stateful parsing procedure which defies normal placement in the Chomsky hierarchy.

This, of course, is the real reason: even if such a regex is technically possible with some regex engines, creating it is extremely exhausting and each time you look into the spec to understand an edge case you suffer 1D6 SAN damage.

permalink
report
parent
reply

Exos ist Seagate’s Enterprise-Segment. Generell sehr gut (und möglicherweise bessere Total Cost of Ownership), aber:

  • Die Specs von genauen Modellen vergleichen, nicht von Modellreihen. Es gibt viele Exos-Modelle mit Unterschieden bei Leistungsaufnahme, Garantien, Lautstärke, … letzteres ist für einen Rack-Server im Enterprise-Bereich übrigens egal, für ein NAS im Wohnzimmer jedoch wichtig.

  • Nicht versehentlich die Modelle mit SAS statt SATA kaufen.

  • Bei Exos gibt’s keinen inklusiven Datenrettungs-Service, falls das ein Verkaufsargument ist.

  • Manche Platten werden ohne volle Garantie verkauft.

Für mich ist leider Lautstärke relevant sodass ich keine Exos verbaue. Ansonsten würde ich das bedenkenlos tun.

HGST Ultrastar sind legendär, aber ich bin nicht up to date was deren Qualität seit der Übernahme durch WD angeht.

permalink
report
parent
reply

C++ does have the problem that references are not objects, which introduces many subtle issues. For example, you cannot use a type like std::vector<int&>, so that templated code will often have to invoke std::remove_reference<T> and so on. Rust opts for a more consistent data model, but then introduces auto-deref (and the Deref trait) to get about the same usability C++ has with references and operator->. Note that C++ will implicitly chain operator-> calls until a plain pointer is reached, whereas Rust will stop dereferencing once a type with a matching method/field is found. Having deep knowledge of both languages, I’m not convinced that C++ features “straightforward consistency” here…

permalink
report
parent
reply

Well, it’s about Peter Thiel, who also founded the Palantir surveillance technology company. As a source for his involvement with Brave, Wikipedia cites this TechCrunch article, which mentions funding from Thiel’s “Founders Fund”.

I’d rather criticize Brave for other reasons though, like being led by Brendan Eich or supporting crypto.

permalink
report
parent
reply

That’s not the correct criterion. There are multiple German laws that require imprint-style disclosures.

Some of them are indeed specific to commercial activities.

But the Impressumspflicht typically means §5 TMG which requires an Impressum for

geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien

Rough English translation:

Telemedia offered in a business-like manner, typically for remuneration

Critically, “geschäftsmäßig” does not mean “commercial” or “profit-oriented”. In particular, nonprofit organizations also act geschäftsmäßig.

IANAL, but it doesn’t sound like your service wouldn’t be geschäftsmäßig.

All of this is irrelevant anyway because you very likely have to publish a privacy notice per Art 13 or Art 14 GDPR. This must include the identity and contact details of the data controller (i.e., you). The German data protection authorities expect that the identity includes your real name and a ladungsfähige Anschrift (address where you can be served), so pretty much exactly what would be included in an Impressum anyway.

permalink
report
parent
reply

I found an academic article (Vogel et al 2019) that analyses this phrase. Key points:

  • when the German legislator uses geschäftsmäßig, this demonstrates a clear difference in intention from gewerbsmäßig or gewohnheitsmäßig

  • the article quotes Franz von Liszt 1881, and this definition seems to be accepted to this day:

    Die Gewerbsmäßigkeit charakteriſiert ſich einerſeits durch die auf öftere Wiederholung gerichtete Abſicht, andrerſeits durch die Abſicht des Thäters, ſich durch dieſe Wiederholung eine, wenn auch nicht regelmäßig oder dauernd fließende Einnahmsquelle zu verſchaffen […].

    Die Geſchäftsmäßigkeit teilt mit der Gewerbsmäßigkeit die auf regelmäßige Wiederholung gerichtete Abſicht, dagegen fehlt die Abſicht, ſich eine ſtändige Einnahmsquelle zu eröffnen. Ob die einzelnen Handlungen honoriert werden oder nicht, iſt gleichgültig.

  • the term geschäftsmäßig is significant for §5 TMG, but has also reached wider attention in the discussion around the decriminalization of assisted suicide.

So the key defining aspect is the auf regelmäßige Wiederholung gerichtete Absicht, the intention directed towards regular repetition.

This meaning in legalese German is divorced from everyday language.


§ 5 TMG has the interesting construction of “geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien”. So the TMG does not seem to care whether you have a profit motive, only that other people might provide this kind of service for a profit motive. If other people would provide instances of Discord bots in order to get donations, that might already bring you in scope.

This is not legal advice, but it seems like your options are to either avoid running an instance of the bot, only running it in a private context without access from a wider public, or sucking it up and providing the necessary documentation.

And no, it is probably not possible to use a PO box because you don’t live or work at that address. The general expectation seems to be for the address in an imprint to be ladungsfähig, so that you can be served there. This random lawyer’s website writes:

Unter der Anschrift in diesem Zusammenhang ist die Postleitzahl, der Ort, die Straße und die Hausnummer zu verstehen, nicht ausreichend ist die Angabe eines Postfachs.

permalink
report
parent
reply

Bei NAS-Festplatten ist wichtig dass die Firmware für NAS ausgelegt ist (also nicht eine günstigere normale Festplatte nutzen), und dass kein Shingled Magnetic Recording (SMR) verwendet wird. SMR spart dem Hersteller Kosten, solche Platten werden aber bei hoher Schreiblast von RAID-Controllern als fehlerhaft erkannt und deaktiviert. Zum Beispiel genau dann wenn du eine Platte in einem RAID ersetzen willst.

WD benutzt SMR inzwischen bei deren “WD Red” Reihe welches für Einstiegs-NAS vermarktet wird… Bestimmte ältere WD Red Modelle sind aber OK.

Pratkisch hast du damit die Auswahl zwischen 2 Modellreihen:

  • WD Red Pro
  • Seagate Ironwolf / Ironwolf Pro

Ich persönlich nutze inzwischen ausschließlich Ironwolf. Haben zwar etwas schlechtere Ausfallstatistiken als die Alternativen, für ein kleines NAS fällt das aber für die Total Cost of Ownership nicht ins Gewicht.

Und immer daran denken: RAID ist gut für Verfügbarkeit, aber RAID ist kein Backup.

permalink
report
reply

Lade-Funktionen wo es Probleme geben konnte gab es tatsächlich, sind aber in unserer schönen neuen Lithium-Ionen und USB-C Welt ziemlich rar. Die Geräte verbinden sich per USB und verhandeln dann miteinander wie sie am besten laden werden.

Nun ist eher dass Problem dass Ladegerät, Kabel, und Smartphone alle zueinander passen müssen weil sonst der kleinste gemeinsame Nenner aus USB 2.0 oder so genutzt wird: langsames Laden mit bis zu 7.5W oder 15W bei USB-C.

Langsam laden ist nicht schlimm, ist sowieso viel besser für den Akku als irgendein Fast Charge.

Für das schnelle Laden gibt es leider viele verschiedene Standards. Hersteller von Ladegeräten bewerben aber meist welche Smartphone-Modelle sie unterstützen. Die wichtigsten Standards sind:

  • QuickCharge, ein proprietäres Protokoll von Qualcom
  • USB Power Delivery (USB PD)

Viele Hersteller haben QuickCharge kompatible Ladeprotokolle.

permalink
report
reply

Domains mit Unicode/Sonderzeichen sind doof.

Aus Gründen der Sicherheit und Kompatibilität werden Domain-Namen mit nicht-ASCII Zeichen tatsächlich via Punycode notiert, der echte Domain-Name ist dann xn--irgendwas. Zum Beispiel,

dömäin.example
=
xn--dmin-moa0i.example

Das sieht einfach doof aus wenn der Browser letzteres anzeigt, egal ob dein Link jetzt schöne Sonderzeichen haben könnte.

Das Browser das machen ist extrem wichtig zur Vermeidung von “Homograph”-Angriffen, bei der Phisher eine Domain registrieren die so ähnlich aussieht wie irgendwas bekanntes, aber in Wirklichkeit Sonderzeichen benutzt. Wann Browser Unicode oder Punycode anzeigen unterscheidet sich nach verschiedenen Heuristiken. Der einzige zuverlässige Ansatz für Domains die immer gleich angezeigt werden ist ASCII.

permalink
report
reply