Jul 31, 2024 21:56
"A legitimate interest would not give you [an opt-out]" – largely incorrect. A GDPR legitimate interest gives rise to the Right to Object (Art 21). Normally, objections can be rejected if there are overriding legitimate grounds. But Art 21(2) gives an unconditional right to object to direct marketing purposes that were based on a legitimate interest. Also note that GDPR Recital 47 explicitly recognizes that direct marketing "may be regarded as carried out for a legitimate interest" (which doesn't imply that all marketing would be lawful). This suggests the spam may have been legal.
 
Nov 15, 2023 22:07
Ah OK, now I understand what you meant. No, concatenation does not suffer from similar problems, assuming a crypto-grade hash function (which the sha-2 family is). Assuming the crypto algorithms aren't broken, I'd expect a signature and this hashing scheme to be equivalently “secure”. The advantage of a signature would be that other people can validate it without cooperation of the signatory because the public key is known, this doesn't seem to apply in this scenario. This suggests the hash should be preferred because it's much simpler.
Nov 15, 2023 22:07
I'm a bit confused by the cryptoanalysis in this answer. Are you suggesting that once the identity (name + salt) is disclosed, that it would be “trivial” for other people to generate sha265 collisions? As far as I understand, the strength of the nonce/salt/one-time-pad defines the overall strength of this scheme – for a trivial salt you could crack the hash using a dictionary of names. But as the strength of the salt approaches a GPG key size I really don't think it is any less secure.
 
Jul 1, 2023 22:20
“it needs to be specifically targeted at somewhere not in the EU” – I am not sure this is correct. Art 3(2) GDPR is complicated, but EDPB guidance on this “targeting criterion” seems to suggest that for GDPR to apply to a non-EU website, there has to be some EU connection, some intention of the website to attract EU users. A classic example of this would be a webshop that shows prices in EUR or NOK, but I think a privacy policy that discusses GDPR could also be evidence of a targeting intention. Even if GDPR applies to a foreign company, it will only affect EU-related activities.
 
Apr 11, 2023 05:58
@supercat Your X-Y-Z example stands and falls with the scope of a “work”, which ultimately begs the question. Are separate libraries always separate works? Or are they combined into one derivative work when linked together? Does it matter whether this combination happens at design time, build time, or run time? Does a work typically end at the process boundary (as the GNU project's FAQ suggests), or would multiple components in a microservice architecture form a single derivative work?
Apr 11, 2023 05:58
@Martin.Martinsson I'm not aware of any 80% rule. Copyright law does include various exceptions, and if your use were to fall under such an exception then the license would be irrelevant. But I don't think any such exception would apply here.
Apr 11, 2023 05:58
@MadHatter Excellent point, I added a sentence to explain that the GPL ultimately delegates to copyright law, which is jurisdiction-dependent.
 
Aug 8, 2022 14:29
@IñakiViggers Recital 51 says that “The processing of photographs should not systematically be considered to be processing of special categories of personal data”. It's not relevant whether the data would allow inferences about special categories of data, but whether such special categories are actually processed. Also, an “affirmative action” such as uploading a picture is probably not sufficient for explicit consent. Compare chapter 4 / paragraph 91+ in the EDPB guidelines 05/2020 on consent. Even if one of the Art 9(2) exception applies, this is not a waver of GDPR rights such as erasure.
Aug 8, 2022 14:29
@IñakiViggers You're misinterpreting Art 9. This article only applies to the processing of “special categories” of data. Such processing is forbidden entirely, unless one of the Art 9(2) exceptions applies. If there's an exception, then the ordinary rules (such as the principles of lawfulness, purpose limitation, and storage limitation) still apply. And I don't think Art 9 applies in the first place in OPs scenario (though it may be relevant in lorro's “sensitive site” scenario).
Aug 8, 2022 14:29
I agree that the blurred picture is not directly identifying data. But personal data need not contribute to identification – as long as the hash is somehow linked or linkable to an identifiable person, it's personal data. So I would argue that the blurred profile picture is in scope for an erasure request. To be safe, I'd avoid treating the blurred picture anonymous, and as most as personal data with no direct means of identification, so that data subject rights like erasure only apply if the data subject provides necessary extra info to find their data (see Art 10).
 
Aug 4, 2022 19:32
Well, one of the classic examples would be German laws against Holocaust denial. The concept of defamation is also unusually narrow in the US. But I think asking for a list of examples is way too broad for this site.
 
Aug 1, 2022 12:42
At the end of a recent answer I added some Rust code where I wanted to use an FnMut, but I couldn't get it to work since it would require multiple mutable borrows of the same data structure. So I had to settle on an Fn closure, and mutating captured variables only through a RefCell. Not elegant. Would have been much simpler if mutation wasn't part of the scenario.
Aug 1, 2022 12:42
That said, many borrow checker problems in Rust can be sidestepped by avoiding mutability. Sometimes, making a copy of the data is easiest.
Aug 1, 2022 12:37
@ChocolateOverflow I feel like a lot of the “mutation bad” advice doesn't apply as strongly in a Rust context, because mut and the borrow checker prevent many common problems with mutability. Your data will not change unexpectedly, and mutable references are always clearly visible.
Jun 17, 2022 14:44
Practically speaking, you might have more success outside of the Stack Exchange network. Notably, some Reddit communities are fairly good at discussions and recommendations.
Jun 17, 2022 14:43
Unfortunately, this chat room is also pretty much dead. Back when that close reason was written, there was an active community here and you might be able to get a good discussion going (the usual on-topic rules don't apply in this chatroom).
Jun 17, 2022 14:42
In the past, such questions were allowed on Software Engineering (then under a different name). It didn't work out.
Jun 17, 2022 14:41
@RomanA.Taycher We have a post on our Meta site discussing the problem of recommendations: Why was my question closed as "Off Topic - Requests for Recommendations?"
Jan 6, 2022 19:51
For services on the same system, you don't have to use network communication – though running a server on localhost is perfectly fine. At least on Unix-y systems, using a special type of file called a “socket” can allow for more efficient communication. Nevertheless, I find normal TCP communication to be much simpler because if I do want to distribute the services over multiple computers, all I have to do is to change an URL somewhere.
Jan 6, 2022 19:49
Interestingly, Linux desktops use a message-bus (dbus) to connect applications with each other. Each application can publish objects on the message bus, other applications can invoke methods on those objects. For example, an audio player can broadcast information about a track that is currently playing. Other apps can start/stop playback by sending messages – but the apps don't need direct connections with each other.
Jan 6, 2022 19:46
@JansthcirlU Microservices are, in part, a new spin on an old idea. There's substantial overlap with older service-oriented architectures (SOA). Relevant developments since then include the popularity of Domain-Driven Design, and our better ability to isolate and deploy services (containers). Then as now, using a message bus is popular to connect services. Back then, technologies like Java-RPC and SOAP were also big.
Dec 26, 2021 15:24
@M.ÇağlarTUFAN Sometimes :)
Nov 3, 2021 10:49
@AndyDufresne Depends on what kind of discussions. Could you provide a little context?
Nov 2, 2021 22:27
@AndyDufresne This chat room is for discussions, but typically there's no one around to have discussions with. The main site is for software engineering questions, but not for open ended discussions.
2
Sep 22, 2021 13:52
@user19087 correct, since it's a code-level question and not a design-level question, Stack Overflow seems like the better home.
Sep 17, 2021 16:31
But human errors can be made by anyone involved in the software development process. I don't think it makes a lot of sense to introduce a distinction between developers and managers. In a software context, nearly all defects are caused by human mistakes because there is no physical component that could erode over time (as opposed to classical engineering).
Sep 17, 2021 16:29
@MelanieA A starting point might be the ISTQB foundation level syllabus (PDF). It makes a strong distinction between human errors and technical defects. Section 1.2.3 lists some causes for errors.
Sep 17, 2021 10:48
@MelanieA I'm not sure I understand your manager/technical distinction. Could you give some examples? And are you more interested in development project failures, or bugs/faults in software systems? For the latter, the QA community has lots of material
Sep 15, 2021 08:22
no, I think you're asking that heap addon to your debugger to interpret the chunk as if it were freed, and it's mis-interpreting data from the actual struct. The metadata in the chunk doesn't directly explain whether the chunk is free or in use (you'd have to look at the prev-in-use flag of the next chunk
Sep 15, 2021 08:18
The paper is called Shadow-Heap and can be downloaded from here: lukasatkinson.de/research
Sep 15, 2021 08:15
correct! These fields do not exist for in-use chunks, only for freed chunks. So to observe them, you'd have to do a use-after-free: free(p); forward_pointer = *(size_t**)p;
Sep 15, 2021 08:10
other allocators (like BSD, Windows, tcmalloc) work differently
Sep 15, 2021 08:09
the details also depend on the exact version of the allocator. The above diagram matches all ptmalloc2/glibc allocators, but there are significant differences between versions regarding when which field is active
Sep 15, 2021 08:08
these fd/bk fields only exist for chunks that are freed and are stored in one of the allocator bins
Sep 15, 2021 08:07
but the fd/bk fields re-use the space where there would usually be user data
Sep 15, 2021 08:07
the size field is just before the address of the chunk
Sep 15, 2021 08:06
Sep 15, 2021 08:06
So I actually wrote a paper about glibc malloc metadata, and created this diagram to explain where the chunk header fields are:
Sep 15, 2021 07:56
If you have a struct that describes the chunk layout, you could also cast to that struct. E.g. struct chunk { size_t fd, bk; }; then p *(struct chunk*) the_pointer
Sep 15, 2021 07:55
@user143252 the allocator re-interprets the contents of the chunk to contain those pointers – GDB doesn't know directly about this. Instead, you'll have to calculate offsets manually, or dump the contents of a freed pointer like with x/2w the_pointer (dump two words in hex-notation). In glibc, first word is forward pointer, second word is backwards pointer (might be unused). And the word before the pointer would contain the size field.
Aug 25, 2021 13:55
In JS and Python you wouldn't even have to do code generation, but could just generate the class objects at runtime. Will pretty much ruin IDE functionality like autocomplete or type checkers though.
Aug 25, 2021 13:55
If I were solving this problem for myself, I'd write a Python script that can generate code from a data schema written in YAML, and write Makefile rules to regenerate source files from this schema as needed. Unless you're doing a lot of code generation, writing your own script might be simpler than using some tool.
Aug 25, 2021 13:55
@StefanosChrs But what is the context of these configurations? Why are three different programs in different languages consuming the same config?
Aug 24, 2021 21:03
you mention JSON/YAML, but in particular enums have no obvious JSON representation
 
Jul 25, 2022 19:03
To quantify the strength of OP's approach: if we assume that an attacker knows the day of password creation and that OP was awake for 16 hours, then the millisecond-precision password only has a strength of at most 26 bits. Even if the attacker only knows the month, that is at most 32 bits. This means an attacker will be able to crack the hash on consumer hardware in a matter of minutes or maybe just seconds.
 
Jul 18, 2022 17:28
@Charles I empathize with your position, but from a regulatory regime perspective it makes no sense. Companies can't opt-out from GDPR, just as they can't opt-out from taxes, environmental regulations, or consumer protection laws. This is about protecting a public good, not just individual rights. It also makes no sense to allow users to opt-out from those protections, since such opt-out could be improperly coerced. But, and I cannot repeat this often enough, GDPR simply might not apply in your scenario, so that any EU regulations are moot. Similarly, I happily ignore Iranian morality laws.
Jul 18, 2022 17:28
@AndreaLazzarotto GDPR doesn't apply if the processing activity is done for purely personal or household purposes. Precedent suggests that this word “purely” requires a fairly narrow interpretation of that exception. For example, the Lindqvist case showed that a person running a blog about her social life was not covered by this exception. I wanted to mention “natural persons” because some people mistakenly believe that charity work, partnerships, or sole proprietors would always be exempt.
Jul 18, 2022 17:28
@Charles From an EU perspective, GDPR is far from a fiasco – it's a great simplification because now I only have to target 1 set of rules instead of ~30. But non-EU websites didn't pay attention previously, and true compliance can be tricky+costly, like appointing an Art 27 EU representative. So I understand your frustration. The US' lack of comparable federal privacy laws will increase costs through fragmentation. For a small service without geographic focus it will typically be OK to focus on your home jurisdiction, or you could allowlist locations where you've prepared compliance.
 
Jul 10, 2022 09:24
@jobukkit The GPL allows proprietary elements in a software stack. You can run GPL software on a proprietary OS, or proprietary software on a GPL OS. But SSPL reaches beyond the licensed work and its derivatives, and requires unrelated parts of the software stack to have a SSPL-compatible license. This isn't literally impossible – BSD exists, a lot of modern devops/sysadmin tools are Apache-2.0-licensed – but it's a tremendous overreach, clearly designed to prevent competitors to MongoDB Atlas.
 
Jan 20, 2022 03:18
Changing the names would get around trademark issues, but not around copyright issues: borrowing the characters and the setting could still be copyright infringement. Fanfics run into this problem all the time, but unlike your book they still have a not completely implausible argument that they could be covered by fair use.