• 1 Post
  • 201 Comments
Joined 3 years ago
cake
Cake day: July 31st, 2023

help-circle




  • I agree with your overall opinion, but I just don’t agree with how the problem was presented. Your statement, with more of the surrounding context:

    lemmy.ml, works more like that than you realize. e.g. a change is soon going to give lemmy.ml veto power in what communities are allowed to be acknowledged as existing to new instances …

    The key words here are “allowed to be acknowledged as existing”. Not acknowledging a community’s existence means not federating it. .world does that with db0’s piracy community because of EU laws, and it’s basically an instance-imposed community ban. Pyfed has/had a hard-coded denylist of community names in the source code that stopped them from being federated, and the result was none of the instances running unmodified Piefed were able to access them.

    I wouldn’t have an issue with if you said a change in Lemmy “gives lemmy.ml exclusive control over promoting what communities show up as popular in other instances”. They don’t have the ability to censor the existence of communities that go against their views just the ability to censor their promotion. That’s a big problem, but it’s not as catastrophically bad as them having the power to censor the actual content on other instances.


  • I dislike centralization as much as the next person and have my issues with lemmy.ml being allowed to control anything outside its own instance, but I think the way you phrased it is misleading.

    what communities are allowed to be acknowledged as existing to new instances

    That suggests .ml has the ability to prevent communities from being acknowledged at all by other instances, while the anti-feature is actually about them being the sole source of truth for what counts as a “popular” community.

    They can censor and curate that list to their authoritarian-apologist desires—which is a problem—but it only affects discoverability when browsing for popular communities, and instance admins can (and should) turn that off.


  • Your source is 3 months old and doesn’t back up your claims.

    what does “hardcode lemmy.ml as a source to pre-fetch popular communities” mean in practice.

    It is an attempt to pre-populate new instances with some popular communities which is seen as a way to improve discoverability. I find the general concept of using “popularity” for that to be somewhat problematic, but the main issue I have with the actual implementation is that it uses lemmy.ml as the source of truth for that, and there is no way to change that*.



  • There’s a whole lot of entitlement going on in that thread.

    If the maintainers didn’t want to merge it because they had bigger issues to worry about, that’s that. Whining about it and trying to pressure them with prospects of “becoming obsolete [if you don’t merge this]” isn’t going to make a convincing argument.

    They should either shut the fuck up and learn to RTFM, or maybe consider putting their money where their mouths are by actually paying to support the projects they seem to so desperately think they have a right to influence the direction of.


  • I didn’t want to make it sound too scary 😉

    Seriously, though, git really needs an option to treat --force as --force-with-lease. In the exceedingly rare occasion where I might want to completely overwrite a branch, it should be extra explicit by having to type something like --force-and-overwrite.



  • I’d be surprised if it’s not easy to transpile a Markdown document into the format

    By hand—if you have experience writing roff typesetting—it is.

    Having a program do it for you… you’re going to get something, but it won’t be correct and you will need to fix most of it.

    A few problems come to mind:

    1. It’s a macro-based typesetting language. As a consequence, there’s a one-to-many association between representations in Markdown with some equivalent in roff. A Markdown paragraph is just a paragraph, but in roff it could be an un-indented paragraph, a paragraph with first-line indentation, a paragraph with line-wrap indentation, or a paragraph with a left margin.

    2. Rendering a man page, you have multiple different implementations of man and multiple different implementations of *roff (roff, troff, groff, nroff). The set of macros and features that are available differ depending on which implementation, resulting in one-size-fits-all solutions targeting the lowest common denominator.

    3. Ironically, the one-to-many association goes both ways. With Markdown, you have code fences, quotes, italic text, bold text, and tables. With lowest-common-denominator manpage roff, you have paragraphs and emphasis that will either be shown as bold or inverted. If you’re lucky, you might also be able to use underlines. If Markdown tables are no wider than 80 characters, you could preprocess those into plain characters, at least.

    4. Despite being more structured with its typesetting, the contents of a manpage are mostly still unstructured. The individual sections within the page and its use of indentation and emphasis are entirely convention, and not represented in the source code by anything more than just typesetting macro primitives.

    It could work out if you generate both the Markdown and man page from something with more explicit structure. If the plan is to go from a loose Markdown document into a manpage, you’re going to end up having to write your Markdown document almost exactly like a manpage.




  • How’s the weather up there, on your high horse?

    Rust wasn’t meant to be the be-all, end-all solution to safety and soundness; it’s meant to be better than the alternatives, confining potential memory safety issues to explicitly-annotated unsafe blocks.

    But, hey. That’s okay. With that kind of gloating attitude, I’m sure your code is 100% safe and vulnerability free, too. Just remind me to never step foot anywhere near an industrial system or operating system using it.




  • Also not a lawyer, but in the past, I did a lot of research into how intellectual property works in the United States.

    I’ve heard it over and over that trademark owners are legally required to defend their trademarks from potential violators like this, or they can lose the trademark.

    This isn’t entirely true. As long as the trademark is actually renewed, it doesn’t need to be aggressively defended.

    There are a couple of reasons why they might choose to defend it regardless. One of the major ones is to deter other entities from thinking they too could get away with violating it. An actual, legally-relevant reason to defend it would be to prevent the mark from genericization. That’s when a trademark like a brand name colloquially becomes used to refer to an entire class of products, such as with the Escalator™.

    For an example of a company whose trademark was at risk of genericization, look no further than Nintendo. They saved it by defending the trademark tooth and nail while using marketing to reinforce that their product is the Nintendo and not a Nintendo. If people had kept referring to video game consoles as “Nintendos” like they used to back in the 80s and 90s, another company may have been able to successfully challenge the trademark and opened the flood gates for products like the “Microsoft® Xbox 720 nintendo”. Nintendo the corporation is still a bunch of overly-litigous assholes, but back then, they actually needed to be.

    In Eminem’s case, it’s probably as a deterrent. Unless people have started referring to Caucasian rappers as “eminems” without me noticing, his brand is at absolutely no risk of being genericized.