Insomniac code gorilla. I help maintain lemmy-ui and, to a lesser extent, Lemmy’s backend.
Yeesh, I thought you were being hyperbolic, but it really is that bad! He even has this massive self report towards the end:
And how do you avoid being punished? There are two ways. One that works; and one that doesn’t. The one that doesn’t work is to design everything up front before coding. The one that does avoid the punishment is to override all the safeties.
And so you will declare all your classes and all your functions open. You will never use exceptions. And you will get used to using lots and lots of ! characters to override the null checks and allow NPEs to rampage through your systems.
Uncle Bob must be the kind of guy who makes all of his types any
when writing Typescript.
At least it’s not XML.
It got stalled for awhile due to butting heads with a contributor who wanted to take the app in a direction that me and dessalines fundamentally disagreed with. At several points we overwrote each others’ changes in PRs. After having a PR that got held up for months due to these arguments, dessalines and I decided to keep moving forward without waiting for his input. After spending some time setting up an end to end testing framework, I’m now moving at a noticeably faster pace. Compare the difference in time between the PR being opened and it being merged from the argument filled PR listed earlier and the most recent feature PR.
You can write garbage code in rust, but the compiler will beat you with a stick for doing so.
I didn’t say otherwise. If anything, considering it’s 4chan we’re talking about, I expect it to be malicious.
The only PII the software itself stores are usernames, bcrypt hashes of passwords, JWT session tokens and, if the admin requires it or the user gives it voluntarily, emails. With this in mind, there are still important caveats to keep in mind.
First, there is no way to verify if a given instance is running a fork that collects more information than the upstream repo, not to mention any logging they might be doing. This is where Lemmy being self-hostable is a double-edged sword. On the one hand, if you have the sysadmin knowhow or know someone trustworthy who does, you can setup your own instance that you can be certain doesn’t collect any data you don’t expect it to. On the other hand, there is no way to prevent malicious actors from making compromised instances.
The other important caveat is that all posts and comments are public. Personal information you post in posts and comments can be used to identify you. This is true of all social media, even ones that don’t use usernames such as 4chan and similar chan-like image boards. No amount of software related privacy features can save you from bad opsec.
We’re waiting for Forgejo to support federation. We definitely want to move away from github, but we want to wait until we’re in a position for that move to be permanent while still making it easy for contributors to open issues and PRs.
Blueprints I think.