• 14 Posts
  • 582 Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle

  • Android, Chromium.

    The problem is that:

    1. Google puts in more development power than anyone else. Any forks we’ve seen so far are only really soft forks, as in they only apply a few patches on top of what Google puts out, rather than taking the project in a new direction, because you’d be behind pretty quickly.
    2. These projects establish platforms that have shitty decisions baked in. For example, the Android dev tooling has Google ads/tracking as one of the built-in UI components, which is why even if you patch the OS, the apps will still be shitty. To actually change this stuff, you’d need a majority of users to switch to your fork and stay there for a few years.
    3. Partially, it’s only financially viable for Google to develop these projects, because they have those Android ads or benefit from a web with less tracking protection. This makes it extremely unlikely for any other organization to be able to splurge a similar amount of money, which brings us back to a fork just being unlikely.

    And so long as a fork is unlikely, Google can do shitfuckery quite similar to proprietary projects.


  • Ephera@lemmy.mltoScience Memes@mander.xyzSploosh
    link
    fedilink
    English
    arrow-up
    7
    ·
    3 days ago

    It just fills in the gaps with a whole lot of imagination, not too different from how a human would. Unless it has access to a more detailed picture or contextual information, it cannot extract more information than was actually captured.




  • I still don’t get why the backslash is on keyboards to begin with. I don’t think I’ve ever seen anyone write a slash backward with a pen. And even if folks do, you could’ve had only one slash anyways. Like, people are going to understand what it means, whether it’s / or \.

    I guess, it not being used for much else, does at least make it useful for escaping stuff and for Windows to use as path separator.





  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlErrors
    link
    fedilink
    English
    arrow-up
    4
    ·
    17 days ago

    I was kind of thinking that yesterday when looking at a Rust library. Rust is competent with line numbers, so you don’t really have an incentive for splitting files from that angle, but sometimes, folks just seem to keep adding to their files ad infinitum.

    Well, specifically that library has a few files with more than 1k lines. And I hope this one’s the largest at 4k lines: https://docs.rs/git2/latest/src/git2/repo.rs.html

    What also needs to be said, is that this library is actually maintained by the Rust language team. Really makes me want to open an issue to tell them that Rust has a pretty cool module system. 🙃




  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlProject Lifecycle
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    18 days ago

    Man, I’m currently in a project which started out with 2 major goals. Pretty early on, we got told that one of the goals is practically impossible, so we decided to ignore that. And we realized the other goal needs to be simplified significantly to be achievable in the slightest, although we still weren’t sure, if it violates the laws of physics.

    Now we’re a year into development, we’ve only figured out that it might be physically possible in certain situations. And yesterday, we talked to a guy with domain knowledge, who told us like ten different bigger challenges we’d still have to solve.



  • Ephera@lemmy.mltoMicroblog Memes@lemmy.worldComplicated lore
    link
    fedilink
    English
    arrow-up
    12
    ·
    21 days ago

    The browser has an internal model for representing the HTML document, called the Document Object Model (DOM). This DOM happens to be tree-shaped, because HTML is tree-shaped. And certain logic in a browser gets applied to subtrees, like e.g. most CSS rules.

    Sometimes, however, you want a subtree to not get affected by what’s going on in the main tree, for example when including an SVG into that tree, or if you’re offering JavaScript library with a pre-built component.
    And yeah, that is what the Shadow DOM does. It also shields the rest of the DOM from what you’re doing inside the Shadow DOM. And there’s certain mechanisms to selectively allow interaction across the shadow boundary, e.g. when providing a pre-built component, you might still want the user to be able to style parts of it.






  • Yeah, Python requires a “runtime” program, which interprets the Python code and then translates it into native machine code to actually execute it. Because Rust is compiled directly to native machine code by the developer, you don’t need a runtime program on your PC to run Rust programs.

    This is also one of the biggest reasons why Rust can be used for kernel development. You cannot rely on a runtime program for developing a kernel, since launching a program requires a kernel to already be up and running.