• 1 Post
  • 267 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • You don’t need to provide root access just because you used GPL code, you just have to follow the GPL.

    Well, to follow version 3 of the GPL, you do actually need to provide effective root access.

    Specifically, version 3 of the GPL adds language to prevent Tivoization.

    It’s not enough to just provide the user with the code. The user is entitled to the freedom to modify that code and to use their modifications.

    In other words, in addition to providing access to the source code, you must actually provide a mechanism to allow the user to change the code on the device.

    The name “Tivoization” comes from the practice of the company TiVo, which sold set-top boxes based on GPL code, but employed DRM to prevent the user from applying custom patches. V3 of the GPL remedies this bug.




  • I’m visiting with the fam for the 4th. My grandparents keep CNN on 24/7.

    CNN has been running “Biden should step down” as their main lead, all week. Every show has at least one segment on it.

    They’re saying stuff like “70% of democrat voters think he is not fit” or something like that (dunno what their polling data and methodology are though.)

    I expect that these 24/7 news networks can apply a lot of pressure to drive a story like this.

    Edit: I may have misquoted those polls. Which I think shows how bad CNN’s reporting is. They just said something very different came out of a Reuter’s poll.






  • cbarrick@lemmy.worldtoLinux@lemmy.mlLinus Torvalds and Richard Stallman
    link
    fedilink
    English
    arrow-up
    80
    arrow-down
    1
    ·
    9 days ago

    However, Linus’s kernel was more elaborate than GNU Hurd, so it was incorporated.

    Quite the opposite.

    GNU Hurd was a microkernel, using lots of cutting edge research, and necessitating a lot of additional complexity in userspace. This complexity also made it very difficult to get good performance.

    Linux, on the other hand, was just a bog standard Unix monolithic kernel. Once they got a libc working on it, most existing Unix userspace, including the GNU userspace, was easy to port.

    Linux won because it was simple, not elaborate.




  • cbarrick@lemmy.worldtoRust@programming.devDioxus Labs + “High-level Rust
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    2
    ·
    10 days ago

    Fair. But unwrap versus expect isn’t really the point. Sure one has a better error message printed to your backtrace. But IMO that’s not what I’m looking for when I’m looking at a backtrace. I don’t mind plain unwraps or assertions without messages.

    From my experience, when people say “don’t unwrap in production code” they really mean “don’t call panic! in production code.” And that’s a bad take.

    Annotating unreachable branches with a panic is the right thing to do; mucking up your interfaces to propagate errors that can’t actually happen is the wrong thing to do.


  • cbarrick@lemmy.worldtoRust@programming.devDioxus Labs + “High-level Rust
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    10 days ago

    Unwrap should literally never appear in production code

    Unwrap comes up all the time in the standard library.

    For example, if you know you’re popping from a non-empty vector, unwrap is totally the right too for the job. There are tons of circumstances where you know at higher levels that edge cases defended against at lower levels with Option cannot occur.